Buscando palabra en vim?

Respuestas:

207

Me gusta esto:

/\<word\>

\<significa el comienzo de una palabra y \>el final de una palabra,

Agregando el comentario de @ Roe:
VIM proporciona un acceso directo para esto. Si ya tiene una palabra en la pantalla y desea encontrar otras instancias, puede colocar el cursor sobre la palabra y presionar '*'para buscar hacia adelante en el archivo o '#'para buscar hacia atrás.

Nathan Fellman
fuente
3
colocando el cursor sobre una palabra y presionando * (avance) o # (hacia atrás) es un acceso directo
falstro
1
¿Por qué es esto beneficioso vs simplemente haciendo: / palabra
Jim
3
@semja: supongamos que tiene una variable 'data' y su indicación válida 'data_valid'. Si quiero buscar solo 'datos' pero no 'datos_válidos', entonces '/ datos' no funcionará. Necesito decirle a Vim dónde dejar de hacer coincidir el patrón.
Nathan Fellman
Esto falla en el siguiente ejemplo: 1word1consulte stackoverflow.com/a/22148017/2609994 para obtener una solución.
LSchueler
¿Existe una vimconfiguración para hacer que busque la palabra exacta sin ajustar la cadena de búsqueda con \<y \<caracteres?
truthadjustr
77
  1. nombre de archivo vim
  2. prensa /
  3. escriba la palabra que desea buscar
  4. presione Entrar
Mushir
fuente
2
¿Podría alguien explicar por qué esto puede haber recibido votos negativos? Trabajó para mi.
Kiee
13
Porque el OP solicitó buscar específicamente "word". La solución publicada aquí básicamente busca %word%, ya thiswordisawesomeseaword56 o no 26word.
Jguy
9
Además, porque el OP declaró explícitamente que saben sobre el /comando. Como tal, esta respuesta no es útil en absoluto.
cmaster - reinstalar a monica el
27

Si está trabajando en Ubuntu, siga los pasos:

  1. Presione /y escriba word para buscar
  2. Para buscar hacia adelante, presione la tecla 'SHIFT' con la *tecla
  3. Para buscar hacia atrás, presione la tecla 'SHIFT' con la #tecla
Priya R
fuente
1
¿Cómo puedo resaltar la palabra buscada?
jorge saraiva
3
@jorgesaraiva: en primer lugar, probablemente obtendrá una respuesta más rápida al hacer una nueva pregunta (en lugar de esperar a que alguien tropiece con este comentario 3 meses después de haberlo hecho). En segundo lugar, puede hacerlo :set hlsen Vim para resaltar el resultado de su búsqueda. Para desactivar el resaltado do:set nohls
Nathan Fellman
1
Esto realmente solo funciona si el primer resultado de hacer /wordes exactamente en wordlugar deword.+
pushkin
esto no funciona para mí en una instancia de AWS ubuntu 18.04. usando Windows git-bash para ssh al servidor ubuntu si eso es relevante. extraño.
CodingMatters
21

Para búsquedas básicas:

  • / patrón: busca el patrón hacia adelante
  • ? patrón - buscar hacia atrás
  • n - repita la búsqueda hacia adelante
  • N - repetir hacia atrás

Algunas variables que quizás desee establecer:

  • : set ignorecase - mayúsculas y minúsculas
  • : establezca el caso inteligente - use el caso si se usa algún límite
  • : establecer incsearch - mostrar coincidencia como búsqueda
NeeruKSingh
fuente
3
Esto no es lo que pide el OP.
Todos los trabajadores son esenciales