Estou tentando fazer isso para que eu possa gravar um buffer no disco com um toque de tecla.
(Nota: idealmente, eu gostaria que isso funcionasse em todos os modos, mas, no momento, estou apenas tentando fazê-lo funcionar no modo normal. )
No wiki do Vim, diz ...
Vim suportes representando caracteres de controlo, utilizando a notação simbólica como
<F1>
,<C-W>
,<C-S-F1>
, etc.
E também...
Uma chave com o
Ctrl
modificador de chave é representada usando a<C-key>
notação. Por exemplo,Ctrl-R
é representado usando<C-R>
. Uma tecla com o modificador de tecla Shift é representada usando a<S-key>
notação. Por exemplo,Shift-F2
é representado usando<S-F2>
. Uma chave com oAlt
modificador de chave é representada usando<A-key>
ou<M-key>
notação. Você pode combinar um ou mais modificadores de chave. Por exemplo, para representarCtrl+Shift+F3
você pode usar<C-S-F3>
.
Isso parece estar dizendo que, se eu colocar isso no meu .vimrc
, deve funcionar ...
nnoremap <S-C-k> :w<CR>
Mas não tem efeito. Quando recarrego .vimrc
e pressiono shift+ control+, Knenhuma [File] written
mensagem aparece na área inferior.
Eu também tentei este, mas então option+ Knão teve efeito também ...
nnoremap <M-k> :w<CR>
Nenhuma mensagem de erro.
Estou no OS X.
ATUALIZAR
Ok, eu apenas tentei isso ...
inoremap <M-s> Hey whats up
Então, quando entro no modo de inserção e pressiono option+ S, o Vim gera ...
ß
O OS X está interceptando minhas teclas antes mesmo que o Vim as receba? É por isso que isso não está funcionando?
Nesse caso, existe uma maneira de fazê-lo parar de fazer isso além de comprar um computador diferente?
fonte
<M>
vez de<S-C>
. Eu não estou usando o MacVim. Estou usando o Vim 7.4.1129 regular instalado via MacPorts.:inoremap ß Hey whats up
.<S-C-k>
são três pressionamentos de tecla. Apenas dizendo'.Respostas:
A resposta do seu teclado pode ser diferente do que você espera. Por exemplo, ele pode fornecer alguns caracteres especiais do seu idioma.
Para verificar o que o seu sistema faz pressionando qualquer combinação:
ctrl+v
no modo de inserção e depoisoption+k
oualt+k
Use o símbolo de saída no seu mapeamento vimrc em vez de
<M-k>
AVISO: este método é aproximado - os símbolos dependem do sistema, do terminal ect. Então você deve colocar suas condições .vimrc como:
ou para detectar sistemas (OS X) como aqui
fonte
Mude para
<C-S-k>
. Isso funciona bem para mim. Você também pode dar outra chave, como<F10>
para:wq!
fonte