2012-07-25 13 views
8

Come posso rimappare alt+backspace per eliminare parole come la manipolazione del testo nativa * NIX? Ho controllato questa discussione: Using alt+backspace key in vim command line to delete by wordsalt + backspace per cancellare le parole in vim

E gli esempi come: cmap <a-bs> <c-w> e :imap <A-BS> <C-W> non fanno nulla. E la risposta accettata era in realtà per non rimappare nemmeno, ma per usare ctrl+w. Dal momento che VIM's alt+backspace non fa nulla, preferisco rimapparlo con qualcosa a cui sono abituato.

sto usando VIM terminale basato (specificatamente iTerm)

+3

Il primo passo è scoprire cosa fa il terminale con la combinazione di tasti. Inizia vim, vai in modalità inserimento, digita Ctrl-V seguito da backspace, poi un altro Ctrl-V seguito da Alt-backspace. Se stampa la stessa cosa per entrambi, sei sfortunato. Altrimenti, il comando map dovrebbe funzionare se si digita Ctrl-V Alt-Backspace nel comando ': map' invece di' '. –

+1

modalità visiva quindi backspace evidenzia 1 carattere. La modalità visuale quindi "alt + backspace" esce dalla modalità visiva, quindi non fanno la stessa cosa. Inoltre, non voglio essere in modalità visuale per fare 'alt + backspace'. Ciò sconfigge la facilità di eliminazione che stavo cercando (come 'dd'), quindi, ora cosa? –

+0

Non volevo che anche tu fossi in modalità visuale. Ctrl-V in modalità inserimento non dovrebbe entrare in modalità visuale. Devi avere una mappatura strana (': imap ') o non eri in modalità di inserimento quando hai fatto. –

risposta

3

Il tasto Alt/Meta è problematico in Vim e maggior parte dei terminali, vedere this answer of mine per una panoramica della situazione (la situazione è la stessa per Meta e Alt).

In breve, Vim non riceve lo Alt: il numero Alt+Backspace corrisponde esattamente a quello dello Backspace.

In ogni caso, sarà meglio per voi a lungo termine imparare e abituarsi alle mappature di tasti predefinite di Vim.

+0

Lo sono già, ma come con tutti i mapping personalizzati è per renderlo più semplice altrimenti non ci sarebbe un modo per fare mappature e sostituzioni personalizzate :) –

+0

Sì e no. Vedo principalmente mappature personalizzate come modi per aumentare Vim. Ad ogni modo, il tasto Alt non esiste per Vim, quindi dovrai trovare un'altra mappatura (che sconfigge il tuo scopo) o abituarsi a ''. – romainl

+0

Sono abituato a doverlo usare, è solo una posizione delle dita molto scomoda su un laptop Mac. –

0

Se si utilizza OSX, macvim utilizza i collegamenti di tasti standard, quindi premendo Alt+Backspace si elimina l'intera parola. Lo stesso vale per la navigazione tra le parole con Alt+RightArrow e Alt+LeftArrow.

0

su MacOS con iTerm2, ho le chiavi di opzione mappato + Esc (come molte persone), e ho scoperto che la pressione Opzione + Backspace in realtà è stata interpretata da vim come fuga stampa seguita da una Backspace premere, quindi la seguente rilegatura ha funzionato perfettamente per me; Ti consiglio di provarlo anche se la tua configurazione è diversa dalla mia, nel caso in cui funzioni per te!

:imap <Esc><BS> <C-w> 
Problemi correlati