Para algunos formatos de texto, los saltos de línea son importantes.
Por ejemplo, a menudo uso Vim para escribir documentos de MediaWiki, donde no puedes poner un salto de línea en cualquier lugar (a diferencia de Markdown). Así que me veo obligado a escribir líneas con muchos personajes.
Esto puede conducir a líneas largas (más de 200 caracteres) o incluso muy largas (más de 1000 caracteres). Encuentro esto muy incómodo de usar en Vim. Un ejemplo es si quiero editar algo en el medio de la línea de 1000 caracteres, necesito mover mi cursor 500 veces.
Esto se puede hacer un poco más rápido con w
o /
, pero aún es incómodo.
¿Hay mejores formas de lidiar con esto? ¿Mejores teclas de movimiento? ¿Algún tipo de "envoltura falsa" (el texto se comporta como si tw=80
, pero no \n
en el archivo), o algo más?
fuente
Respuestas:
Puede usar
g
series de comandos para moverse a los límites del área de pantalla visible. Por ejemplo, se g$mueve al borde derecho de la pantalla (que no es necesariamente el final de la línea). gjmueve el cursor una línea hacia abajo como aparece en la pantalla (que no es necesariamente una línea lógica hacia abajo).Quizás podría volver a vincular las teclas de flecha:
O algunas personas también se vuelven a unir directamente ky j:
Para el modo de inserción, puede usar:
O:
Además, si usa
:set wrap
, Vim ajustará las líneas, para que pueda ver toda la línea. También puede usarset showsbreak=+
para mostrar a+
para indicar que Vim está haciendo el ajuste.Para saltar a posiciones de columna específicas, puede usar el |comando. Por ejemplo, 200|irá a la posición de columna 200.
fuente
g5j
saltar 5 abajo, como siempre.5gj
g5j
,g5
se ve primero, lo que salta al siguiente5
antes de aplicar elj
. Por eso no puede hacer lo que5gj
hace.Vim tiene soporte para envoltura suave, solo
set wrap
para habilitarlo y envolverá largas líneas que van más allá de la pantalla visible. Puede usargj
&gk
para moverse hacia arriba / abajo, respectivamente, sobre dichas líneas ajustadas.fuente
Cuando estoy tratando con líneas muy largas, el mayor punto de dolor tiene que ver con diferentes longitudes de línea. Es decir, moverse hacia arriba o hacia abajo cerca de los extremos de las líneas desplaza la ventana muy a la izquierda o derecha.
Esto puede evitarse mediante la configuración
virtualedit=all
, que le permite mover el cursor al espacio mucho después de que finalice la línea.fuente
Como otros han dicho, puedes usar g+ algo para moverte. Sin embargo, cuando tiene líneas extremadamente largas, presionar gjvarias veces para moverse hacia abajo no es ergonómico. Tengo lo siguiente en mi
.vimrc
para hacerlo mucho más fácil:En una Mac, esto me permite usar j, k, $, 0 y ^ en las líneas de visualización manteniendo presionada la tecla de comando. En otros sistemas, en lugar de
D
que se trateM
oA
para Alt oC
de control.fuente