¿Hay un atajo en Vim para ir a la siguiente palabra, que es la misma que la palabra en la que se encuentra el cursor? Debería funcionar sin escribir la palabra con el comando de búsqueda /
.Ir a la siguiente palabra en Vim sin usar la búsqueda
Respuesta
* va a la siguiente palabra coincidente y # va a la palabra coincidente anterior. * es tan útil que a veces se llama super star.
* y # son tus amigos (hacia adelante y hacia atrás respectivamente)
Para buscar la palabra actual bajo el cursor, use '*'.
a buscar hacia atrás para el uso actual del cursor palabra '#'
Mientras que todas las respuestas son correctas aquí, pensé que puede ser útil para proporcionar un poco más de información.
Lo que *
realmente hace es realizar una búsqueda directa de \<word-under-the-cursor\>
. Como esta es solo una operación de búsqueda, puede navegar hacia adelante y hacia atrás a las siguientes instancias usando n
y N
. Esto también significa que su búsqueda anterior se perdió. #
es exactamente lo mismo que *
excepto que realiza una búsqueda inversa.
\<
y \>
en la cadena de búsqueda son límites de palabras en el lenguaje regex de vim, que es lo que hace que esto funcione tan bien. También es importante tener en cuenta que lo que se considera una "palabra" está determinado por la opción iskeyword
. Ver :help word
para más información.
gd y sus variantes también son muy útiles. Funciona de forma ligeramente diferente a *, en que busca la declaración local de la palabra bajo el cursor (o declaración global si no existe ninguna local). A continuación, puede buscar los resultados con n, como puede hacerlo con superestrella, y omitirá los comentarios. Puede ser útil cuando estás editando código.
:help gd
- 1. Ir automáticamente a la siguiente línea en vim
- 2. Vim búsqueda incremental siguiente resultado
- 3. Vim - Ir a la ubicación anterior
- 4. Ir a la siguiente iteración en For Loop en java
- 5. Ir a la siguiente referencia que falta utilizando auctex
- 6. Vim: ir al principio/fin del siguiente método
- 7. Mongoose - Ir al siguiente elemento
- 8. Ir a la definición de función en vim
- 9. ¿Cómo paso a la siguiente letra mayúscula?
- 10. En VIM, ¿es posible usar el texto seleccionado en la cláusula sustituta sin volver a escribirlo?
- 11. ¿Cómo puedo emular la búsqueda de Vim * en GNU Emacs?
- 12. ¿Cómo puedo ir a "siguiente aparición" en Eclipse
- 13. ¿Volver atrás en la búsqueda de caracteres en vim?
- 14. Leer siguiente palabra en Java
- 15. Vim - un tirón en la búsqueda registrarse
- 16. Obtener ctags en vim para ir a la definición, no a la declaración
- 17. Ir al artículo siguiente en ForEach-Object
- 18. Google búsqueda personalizada página siguiente
- 19. Lea la siguiente palabra en un archivo en python
- 20. Cómo pasar a la siguiente etiqueta en el archivo de ayuda de vim
- 21. Ir al final de la función C++ en Vim
- 22. Vim: ¿Cómo excluyo una palabra completa de mi búsqueda?
- 23. Ir al ancla sin cambiar la URL
- 24. C# ir al siguiente elemento en la lista según la declaración if en foreach
- 25. Global "Ir a definición" en vim para Ruby?
- 26. Buscar la siguiente aparición de una variable en vim
- 27. Atajo de Xcode para ir a la siguiente "persona que llama" en el Asistente de edición?
- 28. Búsqueda avanzada en Vim
- 29. Vim búsqueda incremental durante la sustitución
- 30. ¿Cómo generar la siguiente secuencia sin recurrir a un bucle?
Gracias. ¿Hay alguna manera de seleccionar la palabra ** sin los ** límites? Es decir, tengo una palabra para buscar, que aparece como una palabra secundaria en varios lugares que quiero encontrar. Por ejemplo: encuentre "día" y haga coincidir "domingo", "lunes". – ysap
Ha pasado bastante tiempo desde que utilicé vim extensamente, pero no recuerdo una manera de hacerlo sin agregar tu propia asignación. Algo así como ": nnoremap *: let @/= expand ('') normal! N " maybe. –
Gracias, y lo siento, debería haber actualizado este comentario. Hice la pregunta y encontré la respuesta aquí; https://stackoverflow.com/q/47063402/274579 – ysap