2009-12-02 12 views
14

Quando premo "j" o freccia giù in vim/gvim il cursore si sposta sulla riga successiva. che è buono per scrivere codice.make gvim considera linea avvolta come nuova riga

Durante la scrittura di un testo, tuttavia, le righe in genere sono molto più lunghe del testo con. Quindi non riesco a ottenere facilmente la parola appena sopra questa parola. Quindi in quasi tutti gli editor e processori di testo premendo la freccia su QUI ↑ posiziona il cursore davanti a "word". Ma in gvim il cursore si sposta sulla linea vuota tra "codice". e quando".

Io uso wrap (set: wrap) e linebreak (set: lbr).

Con tutto il potere di vim: questo deve essere diretto?

risposta

29

gk e gj muoversi su/giù per linea visiva anziché la linea di testo. Si potrebbe mappare j e k a questi utilizzando

noremap j gj 
noremap k gk 

Alcune persone preferiscono solo l'installazione quelle mappe per tipi di file specifici, nel qual caso ci si vuole qualcosa di simile

au FileType html,tex noremap <buffer> j gj 
au FileType html,tex noremap <buffer> k gk 
+1

+1 per insegnandomi <kbd> inavvertitamente. –

+0

Questo è davvero fantastico. Grazie per questa risposta eccellente e completa. Se potessi accettare due volte .... Oh - btw: i mapping vanno in .vimrc giusto? – Andreas

+0

@StephenPaulger: l'ho imparato da qualcun altro che lo utilizza anche su SO. :) @Andreas: corretto. – jamessan