Problema do imap da linha de comando do Vim

0

No gvim eu posso usar

imap <C-s> <ESC>:w
imap <C-c> and etc...

Mas eu não posso no vim (terminal) usou o imap? Como posso usar o imap no terminal?

    
por gmunkhbaatarmn 31.12.2010 / 08:35

1 resposta

4

O comando imap funciona bem em um terminal. O problema é que um terminal trata alguns caracteres de controle especialmente, usando-os para controlar o comportamento do terminal, e não encaminha esses caracteres para o aplicativo em execução no terminal. Ctrl-S e Ctrl-Q são normalmente usados para controle de fluxo. Ctrl-C normalmente faz com que um sinal INTR (interrupção) seja enviado para o aplicativo.

Os aplicativos podem dizer ao terminal para não tratar certos caracteres especialmente e encaminhá-los. O Vim lida com o próprio Ctrl-C e você poderá imapá-lo. (Eu apenas tentei e funcionou para mim.) O Vim não diz ao terminal para encaminhar Ctrl-S e Ctrl-Q, no entanto, então você teria que dizer ao terminal para fazer isso sozinho. Uma maneira é executar este comando no prompt do shell antes de executar o vim:

stty -ixon
    
por 31.12.2010 / 09:52

Tags