2011-01-29 18 views

Respuesta

6

Mapa algunos nuevos comandos:

inicio de la primera línea del párrafo:

:map f {) 

inicio de la última línea del párrafo:

:map l }(

A continuación, utilice f y l de navegar. Es posible que desee elegir teclas alternativas.

+10

Aunque limitado al modo normal, ¿por qué querrías para anular el comportamiento predeterminado de f y l'? Sin duda, elija algo más y use nnoremap en su lugar. Yo también iría con {j y} k. – frabjous

+2

Probablemente no desee reasignar esas claves, pero sí dije: "Quizás quiera elegir teclas alternativas" :-) –

+1

Gracias. Tenía la impresión de que debe haber comandos especiales de movimiento de los que no tenía conocimiento. En cuanto a las combinaciones de movimientos para lograr eso, gracias por las sugerencias, pero no funcionan tan bien. '{)' funciona a menos que la primera línea del párrafo sea también la primera línea del búfer. '} (' no funciona, por ejemplo, si el párrafo no contiene terminadores de frases, o si la última oración no comienza en la última línea. – usta

1

sólo puedo sugerir

set whichwrap+=b,s 
set virtualedit=onemore 
nnoremap { k{<Space>0 
vnoremap { k{<Space>0 
nnoremap } j}<BS>0 
vnoremap } j}<BS>0 

(editado).

+0

¿Cuál es el propósito de las configuraciones 'whichwrap' y' virtualedit' aquí? Las remapeadas parecen funcionar bien sin ellas. –

1

Ir al inicio de la primera palabra de un párrafo: {w

Ir al final de la última palabra de un párrafo: }ge

+0

Funciona bastante bien en la mayoría de los casos, gracias! Se produce un error solo cuando la primera línea del párrafo contiene solo una palabra y también es la primera línea del búfer, o similar cuando la última línea del párrafo contiene solo una palabra y también es la última línea del búfer. – usta

Cuestiones relacionadas