Estoy aprendiendo Vim y no puedo entender la diferencia entre word
y WORD
.
Obtuve lo siguiente del manual de Vim.
Una palabra consta de una secuencia de letras, dígitos y guiones bajos, o una secuencia de otros caracteres que no están en blanco, separados por espacios en blanco (espacios, tabulaciones,). Esto se puede cambiar con la opción 'iskeyword'. Una línea vacía también se considera una palabra.
Una PALABRA consiste en una secuencia de caracteres que no están en blanco, separados por espacios en blanco. Una línea vacía también se considera una PALABRA.
Siento word
y WORD
somos lo mismo. Ambos son una secuencia de caracteres que no están en blanco separados por espacios en blanco. Una línea vacía se puede considerar como word
y WORD
.
Pregunta:
¿Cuál es la diferencia entre ellos?
¿Y por qué / cuándo usaría alguien WORD
más word
?
Ya he realizado búsquedas en Google y SO, pero su motor de búsqueda lo interpreta WORD
como si word
estuviera buscando Vim word vs word
y, por supuesto, no encontraría nada útil.
:h 03.1
. Consulte el manual de usuario.vim WORD and word
; ahora es el primer resultado de búsqueda :)Respuestas:
()[],-
) tampoco lo son. Por lo tanto, una palabra suele ser más pequeña que una PALABRA; la navegación por palabras es más detallada.Ejemplo
fuente
'iskeyword'
opción, como lo menciona Jared Ross. De forma predeterminada, funciona como lo he escrito.:set iskeyword=a-z,A-Z,\",- |This |"stuff" |is |not-so |difficult|! :set iskeyword=a-z,A-Z |This |"|stuff|" |is |not|-|so |difficult|!
|
- es donde 'w' se detiene. Como puede ver, siempre es una palabra.Si lo hago
viw
("seleccionar interiorword
") mientras mi cursor está encendidoapp
en la siguiente línea, seleccionaapp
:app/views/layouts/admin.blade.php
Si hago
viW
(WORD
) mientras mi cursor está en el mismo lugar, selecciona toda la secuencia de caracteres. AWORD
incluye caracteres quewords
, que son como palabras en inglés, no, como asteriscos, barras, paréntesis, corchetes, etc.fuente
Según documentación de Vim (: h 03.1)
Una palabra termina en un carácter que no es una palabra, como ".", "-" o ")".
Una PALABRA termina estrictamente con un espacio en blanco. Esta puede no ser una palabra en el sentido normal, de ahí las mayúsculas.
p.ej.
Si su cursor está en m (de más arriba)
una palabra significaría 'más' (es decir, delimitado por ')' carácter que no es una palabra)
mientras que una PALABRA significaría 'más)'. (es decir, delimitado solo por espacios en blanco)
de manera similar, si su cursor está en p (de especial)
fuente
Para complementar las respuestas anteriores ... lo visualizo así; WORD es más grande que la palabra, abarca más ...
fuente
Otra forma de decirlo. Si estás codificando, y quieres moverte a través de la línea deteniéndote en los delimitadores y la línea de cosas que "(). [],:" Usa w.
Si desea omitirlos y simplemente saltar a las palabras, digamos como lo ha hecho una novela o un cuento, use W.
Para codificar, la w pequeña es probablemente la que se usa con más frecuencia. Depende de dónde se encuentre en el código.
fuente
Eso es un problema de gramática al entender la definición de "palabra".
Al principio me quedo atascado en la versión china de esta definición (podría ser una traducción incorrecta).
La definición es definitivamente correcta, pero debería leerse así:
Los caracteres de espacio en blanco solo se necesitaban al delimitar dos tipos iguales de 'palabra'
Más ejemplos entre paréntesis como sigue:
(ejemplo ^ & $% ^ Ejemplo) tres "palabras": (ejemplo), (^ & $% ^) y (Ejemplo)
(^ & ^ & ^ ^ && ^ & ^ ) dos "palabras": (^ & ^ & ^ ^) y (&& ^ & ^ )
(estamos en stackoverflow) cinco "palabras": (we), ('), (re), (in) y (stackoverflow)
fuente