Cuando estás en un estado de flujo, Vim acelera seriamente la edición, ya sea escribiendo código, poesía o prosa. Pero dado que la curva de aprendizaje es demasiado empinada para un editor de texto, es muy fácil mantener los malos hábitos desde el momento en que acaba de dominar el editor. Vim acelera su trabajo tanto que es especialmente difícil erradicarlo, porque es posible que ni siquiera lo note. Pero vale la pena. Voy a enumerar algunos de los antipatrones más comunes.
Movimiento de una línea
Si necesita saltar más de un par de líneas, entonces moverse a lo largo de una línea con las teclas
j
o
k
es ineficiente. Hay muchas
formas de moverse verticalmente en Vim. Los dos más útiles son los saltos de párrafo y de pantalla. Depende de qué tan lejos y cómo necesita moverse exactamente.
{
- Ir al comienzo del párrafo anterior o bloque de código.
}
- Ir al final del siguiente párrafo o bloque de código.
Ctrl+F
: avanza una pantalla.
Ctrl+B
: retrocede una pantalla.
Si sabe exactamente adónde debe ir, puede usar la navegación a través de la búsqueda: buscar hacia adelante con
/
y hacia atrás -
?
.
También siempre es útil volver al lugar anterior, lo cual es bastante fácil de hacer con dos comillas o
gi
: regrese al último lugar donde ingresó el texto. Si lo desea, incluso puede navegar entre todos los lugares donde se ingresó el texto usando
g;
y
g,
Movimiento de un solo personaje
Del mismo modo, mover un personaje a la vez con las teclas
h
y
l
es a menudo una pérdida de tiempo cuando tenemos
t
y
f
:
t<char>
- Avanza hasta que aparezca el siguiente carácter.
f<char>
- Avanza para la próxima aparición de un personaje.
T<char>
: retrocede a la aparición anterior de un personaje.
F<char>
- Retrocede para la aparición previa de un personaje.
Moverse por las palabras con las teclas
w
,
W
,
b
,
B
,
e
y
E
también
E
mejor. Y aquí la navegación de búsqueda es útil, y no olvide que puede
copiar, eliminar y cambiar el texto hacia adelante o hacia atrás al resultado de búsqueda:
y/search<Enter>
y?search<Enter>
d/search<Enter>
d?search<Enter>
c/search<Enter>
c?search<Enter>
Busca una palabra debajo del cursor
No te molestes en escribir o copiar / pegar, solo presiona
*
o
#
. Es sorprendente cuánto más rápido se vuelve el trabajo cuando domina estas teclas de acceso rápido.
Eliminar y pegar
No es necesario eliminar el texto para reemplazarlo yendo al modo de inserción:
d2wi
Use la tecla
c
más rápido y con mayor precisión:
c2w
Entonces toda la operación se vuelve repetible con un punto (
.
).
Usando las teclas de flecha
Vim le permite usar las teclas de flecha para moverse en modo normal y en modo de inserción, pero si está acostumbrado a usar
hjkl
para la navegación, entonces las flechas ya parecen un poco torpes, porque durante toda la sesión de Vim los dedos están en el
centro del teclado , lo cual es conveniente para Mecanografía al tacto. Las teclas Inicio y Fin son similares: aunque funcionan como en la mayoría de los editores, no hay una razón particular para usarlas cuando los equivalentes de
^
y
$
más cerca.
Por lo tanto, es recomendable desconectarse de las teclas de flecha deshabilitándolas al menos temporalmente:
noremap <Up> <nop>
noremap <Down> <nop>
noremap <Left> <nop>
noremap <Right> <nop>
Escribir a ciegas con teclas centrales no solo brinda una ventaja de velocidad, sino que también te hace sentir mejor, porque tus muñecas descansan frente al teclado y no se mueven demasiado, y
ayuda a algunas personas
a protegerse del síndrome del túnel .
Moverse en modo de inserción
Una ventaja adicional de escribir a ciegas en la línea central es que elimina el hábito de moverse en modo de inserción: el modo normal está diseñado para esto. Tan pronto como necesite moverse a algún lugar, cambia al modo normal y se mueve mucho más eficientemente. También ayuda a hacer que las operaciones de pegado sean más atómicas y, por lo tanto, más convenientes para la repetición.
Presione Esc
La tecla Escape en los teclados modernos está mucho más lejos de la fila central que en
el teclado de Bill Joy cuando diseñó vi. Por lo general, no es necesario presionar Escape:
Ctrl+[
mucho más cerca y más conveniente, cambiará sus hábitos con bastante rapidez. Como opción, puede considerar combinar la tecla de bloqueo de mayúsculas bastante inútil o incluso combinaciones inusuales, como
jj
en el sistema operativo Esc. Aunque esta es una propuesta un poco radical, funciona bien para muchas personas:
inoremap jj <Esc>
Ir al principio o al final de una línea, luego insertar
Solo use
I
y
A
Además, hacen que la acción sea repetible para otras líneas donde podría ser necesaria la misma operación.
Ingrese al modo de inserción, luego cree una nueva línea
Use
o
y
O
para crear una nueva línea más baja y más alta, respectivamente, y al mismo tiempo ingrese el modo de inserción en ella.
Ingrese al modo de inserción para eliminar texto
Esta es una contradicción bastante obvia. En su lugar, elimine el texto moviéndose hacia él y usando
d
con el movimiento u objeto de texto apropiado. Una vez más, esta acción es repetible y significa que no tiene retroceso. En general, si mantiene presionada una tecla en Vim, probablemente haya una forma más rápida.
Repetir comandos o búsquedas
Simplemente escriba
@:
para comando o n / N para búsqueda; Vim no olvida la última búsqueda. Si este no fue el último comando o búsqueda, pero definitivamente está en el historial, ingrese
q:
o
q/
, encuéntrelo en la lista y presione Entrar.
Reemplazos
Ingrese
&
para repetir en la línea actual del último reemplazo. Puede repetirlo en todas las líneas escribiendo
g&
.
Macro Recall
Simplemente ingrese
@@
.
De hecho, estas son solo algunas formas comunes de aumentar la velocidad y la eficiencia general de trabajar con el editor sin instalar complementos o una reasignación significativa de claves. Consulte también la
wiki para obtener consejos sobre Vim , hay varios otros ejemplos realmente útiles.