Para poder adicionar linhas em branco sem entrar no modo de inserção, estou tentando mapear ALT-o
e ALT-O
para o<ESC>
eo<ESC>
Eu tentei o seguinte no meu .vimrc
map <M-o> o<ESC>
map <M-O> O<ESC>
e
map <ALT-o> o<ESC>
map <ALT-O> O<ESC>
e (como sugerido abaixo)
map <A-o> o<ESC>
map <A-O> O<ESC>
mas nenhum funciona. Apenas fornece o comportamento usual, como se ALT-o
não tivesse sido definido.
É a primeira vez que altero o .vimrc
arquivo e não consigo encontrar onde a documentação diz como designar as várias chaves. Mas eu posso verificar se meu .vimrc
arquivo está sendo lido, incluindo:
map <Enter> ihello<ESC>
Que mapeia <Enter>
com sucesso a inserção hello
e o retorno ao modo de comando.
Estou usando o vim com cygwin.
vim
keyboard-shortcuts
cygwin
Eric Wilson
fonte
fonte
<C-o>
e<C-O>
.Respostas:
Para ver o que seu terminal está enviando quando você pressiona uma tecla, alterne para o modo de inserção, pressione
Ctrl+V
e a tecla. A maioria das teclas com a maioria dos terminais envia uma sequência de escape em que apenas o primeiro caractere é um caractere de controle;Ctrl+V
insere o próximo caractere literalmente, para que você possa inserir toda a sequência de escape dessa maneira.Terminais diferentes enviam sequências de escape diferentes para algumas combinações de teclas. Muitos terminais enviam o mesmo caractere (
^O
) para ambosCtrl+O
eCtrl+Shift+O
; se for esse o caso, o Vim não será capaz de distinguir entre eles.Você menciona que está usando o Cygwin; em qual terminal você está executando o Vim é a informação mais pertinente. Se você estiver usando o console nativo do Windows, consiga um terminal melhor. Eu recomendo MinTTY para executar aplicações em modo texto Cygwin em um terminal no Windows fora X, mas RXVT Windows nativo do Cygwin e PuTTYcyg também são bons. (Também o Console2 para executar aplicativos de console do Windows, mas isso é totalmente fora de tópico aqui).
fonte
Se
Control+V
seguido porALT-x
shows^[x
(digite o terminal), você pode corrigi-lo com este pequeno script em vim.wikia.com :Adicione ao .vimrc para todos os mapeamentos de teclas alt.
fonte
Isso funciona para mim no terminal Ubuntu 16.04 xfce (e no terminal ferrugem alacritty)
Defina o gatilho do snippet ultisnip para
Meta-/
(assim como o snippet emacs)let g:UltiSnipsExpandTrigger="^[/"
Aqui está agora, eu digito
^[/
no vimNo modo de inserção
Ctrl-V Alt-/
(
Meta
é aAlt
tecla do teclado do meu PC)fonte
A tecla M (eta) é o botão do Windows. É apenas
<A-o>
.fonte
map <A-o> o<ESC>
e funcionou para mim. Se você colocá-lo no seu.vimrc
, você o recarregou?