Soy consciente de que puedo usar /seguido de una expresión regular para buscar algo. Y puedo usar ?para buscar hacia atrás. Y puedo usar ny Npara repetir la búsqueda hacia adelante y hacia atrás.
También hay dos atajos agradables: *o #buscará la palabra debajo del cursor (adelante / atrás). Eso es muy útil! (también hay g*y g#variantes)
Pero ... Una vez que he seleccionado el texto usando el modo visual ( v), ¿cómo puedo pedirle a Vim que busque exactamente ese texto? Un vistazo rápido a :help
... no me ayudó.
*
y#
! Sería bueno si su pregunta también explicara quég*
yg#
haría;)Respuestas:
La siguiente secuencia hará lo que desee, dado un bloque de texto ya seleccionado:
"
registro de forma predeterminada)"
registro)(*) el modo "muy poco mágico" interpreta el siguiente texto como texto sin formato en lugar de una expresión regular. Sin embargo tenga en cuenta que
\
y/
siguen siendo especial y tendrá que ser manejado de otra manera. Si el texto no tiene ningún carácter que se considere especial, puede omitir este paso.Fuente: Vim Tips Wiki
fuente
Puede tirar del texto resaltado primero. Luego
/
Ctrlr
"
Que pegará lo que ha tirado después de /.
fuente
/\V<C-r>"
. Al anteponer\V
su consulta de búsqueda, le dice a vim que use "muy poco mágico". Las barras invertidas aún pueden causarle problemas. Ver:help \V
Ctrl+R
es como se accede a un registro, y*
es simplemente el registro del portapapeles del sistema. Por ejemplo, también puede hacer:yaw
tirar de una palabra al registro"
(el registro predeterminado), luego/<C-r>"
buscar esa cadena./
para hacer su búsqueda, use?
en su lugar, ya que las búsquedas inversas escapan de forma predeterminada. Luego puede presionarN
para continuar su búsqueda en la dirección hacia adelante.Nunca sentí la necesidad de tal característica pero, considerando que puedes encontrar la necesidad de cualquier característica en Vim, creo que eso debería ayudar:
No lo probé pero, mirando el código, parece ser exactamente lo que estás buscando.
fuente
Puede encontrar un método para crear este comportamiento aquí en la wiki de vim .
fuente
vnoremap // y/\V<C-r>=escape(@",'/\')<CR><CR>
Esta solución potencia su búsqueda vim en contexto seleccionado visualmente incluso con caracteres multilínea y de escape.
Agregue el siguiente código en usted
.vimrc
y busque el contenido visualmente seleccionado por//
. También puede sustituir globalmente el contenido seleccionado por/s
. O Sustituya localmente el contexto seleccionado por//
primero, y luego seleccione visualmente una región y:'<,'>s//{new_text}
.La configuración anterior solo se trata de buscar. Para toda mi configuración de vim, visite .vimrc
fuente
En mis configuraciones en dos máquinas separadas, si selecciono el texto y luego
/
lo presiono, busca automáticamente el texto seleccionado.fuente