2010-09-11 12 views
6

Mi piace usare hlsearch ma odio tenere tutto evidenziato dopo la ricerca, per risolvere questo problema, potrei semplicemente usare :nohlsearch o una sua abbreviazione ma è ancora molto difficile quindi ho deciso di provare per farlo premendo urgenza. Quello che mi è venuto in mente è:Mapping: nohlsearch per la chiave di escape

nnoremap <ESC> :nohlsearch<CR> 

Questo funziona esattamente come voglio che in GVim che io di solito uso per lo sviluppo, ma non funziona in vim.

Se cerco qualcosa in vim, premere escape per disattivare l'evidenziazione e utilizzare uno dei tasti freccia per navigare vim passa direttamente alla modalità di inserimento e inserisce un carattere su una nuova riga.

Come ho mai veramente venuto intorno a usando h, j, k e l per la navigazione questo è davvero fastidioso e vorrei sapere come posso fare vim si comporti come gvim.

Se hai bisogno di ulteriori informazioni puoi trovare la mia intera configurazione di vim here.

+4

Ctrl-L è già utilizzato per ridisegnare lo schermo, per cui uso che: 'nnoremap : Nohl ' – idbrii

+1

ho mappato \ per: nohlsearch^M (\ come opposta alla ricerca del /; più facile ricorda appena sopra il tasto invio.) – anishsane

+0

@idbrii, ottimo suggerimento, grazie. Inoltre impedisce il problema di colpire per es. '5' quindi premendo' 'per annullare e ottenere' E481: Nessun intervallo consentito'. – Wildcard

risposta

6

Il tuo problema è che quando si preme <Up> terminale invia qualcosa come <Esc>OA (lo vedrete se si digita <C-v><Up> in modalità di inserimento), che è rimappata per :nohlsearch<CR>OA. Non conosco nessuna soluzione tranne che non mappare un singolo <Esc>, prova a mappare a doppio <Esc>.

+0

Grazie per la spiegazione, ho controllato ciò che il terminale invia e l'ho usato per risolvere il problema mappandole. – DasIch

-3

è :noh ancora troppo lavoro?

EDIT: Non so voi, ma personalmente penso: noh è più facile che premere il tasto Esc, dal momento che posso premere tutti i pulsanti senza allungare troppo il mio mignolo (motivo per cui penso che il default la mappatura di Esc per tornare alla modalità di comando dalla modalità di inserimento è un po 'sfortunata). Se usi veramente: nohlsearch così tanto, probabilmente dovresti rimapparlo con qualcosa che puoi raggiungere dall'area Home (cioè lettere regolari, o numeri, o forse lettere Ctrl).

Ad ogni modo, digitando il comando esatto che si esegue funziona nel mio vim (su gnome-terminal). Sei sicuro di aver inserito la regola nel file .vimrc, invece di .gvimrc? Nessuna fortuna dopo il riavvio di Vim? Prova :source /path/to/config/file e vedi se questo lo fa funzionare.

+1

"o un'abbreviazione". ': noh 'richiede quattro lettere la mia soluzione preferita solo una. Questo può sembrare un po 'stupido per alcune persone, ma cerco abbastanza spesso cose che per me sono importanti. – DasIch

+0

Ho un blocco di escape e di blocco perché in effetti il ​​tempo necessario per raggiungere la chiave di escape è troppo lungo. – DasIch

+0

@Daslch: allo stesso modo, è per questo che scegliamo vim. –

Problemi correlati