vim repetir buscar el siguiente carácter 'x'


123

A menudo navego en vim f xpara encontrar la siguiente aparición del carácter 'x', pero paso por alto que hay una palabra (o más palabras) que contiene 'x' entre la palabra que quiero editar y la posición inicial del cursor.

Así que tengo que hacerlo de f xnuevo, lo cual es un poco molesto ya que hay un botón agradable ., que repite el último comando. Entonces, ¿hay alguna manera de repetir f xcon solo presionar un botón?

Respuestas:


239

El comando para repetir un fes ;(punto y coma); ,(coma) invierte la dirección de la búsqueda.


2
¿Hay alguna razón útil por la que no pueda usar .para esto? Ese era el comando que esperaba que funcionara.
Daniel Kaplan

4
@DanielKaplan Tiene sentido mapear la novedad, es decir, la búsqueda de un carácter ( fy ;), a un carácter diferente a la repetición de una edición ( .). Esto le permite realizar búsquedas rápidas y cambios en los resultados de la búsqueda. Si desea reemplazar algunos +en una línea con *, podría hacer algo como esto (omitir algunos caracteres y reemplazar otros):f+r*;.;;.;.;;;.
Marcus Krahl

2
¿Hay alguna forma de reasignar esos comandos? Mucha gente usa ,para líder.
rk1

@ rk1 Cambia el líder con: let mapleader = "" (si quieres un espacio)

@DrEval Seguro, pero quiero mantener a mi líder como ,y aún tener búsqueda inversa. De todos modos, ahora soy un usuario feliz de vim-easymotion.
rk1

18

Ha pasado tiempo desde que hice esta pregunta; hoy en día uso vim-easymotion , lo que hace que sea ;casi innecesario.

Este complemento permite saltar directamente a una letra determinada; al activar el complemento, todas las letras se vuelven grises excepto todas las 'x' en la pantalla, y esas se reemplazan por letras rojas que puede presionar para saltar directamente a él.

easymotion en uso

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.