Estou tentando mapear Ctrl+ spara salvar meu arquivo, mas ele não funciona.
Meus mapeamentos:
map <C-s> :w <CR> :echo "Saved" <CR>
imap <C-s> <Esc> :w <CR> :echo "Saved" <CR> i
Quando no modo de inserção, vejo /:echo "Saved"
no canto inferior, em vez de, saved
e quando estou no modo normal, vejo a mesma coisa. O que estou fazendo errado?
Isso está no topo do meu vimrc, portanto meu outro código não deve estar causando um problema. Estou executando o Vim dentro do OSX Terminal.
key-bindings
terminal
iProgram
fonte
fonte
I am also running vim inside the Mac terminal.
' Sim, estou executando o vim via terminal. Seria melhor usar Alt em vez de Ctrl ou Cmd?<D-s>
embora não tenha certeza se isso funciona no terminal Vim, e já é um padrão no MacVim!Respostas:
Para garantir que essa solução alternativa seja executada mesmo quando o Vim é iniciado por uma ferramenta separada (como o git), eu tenho isso no meu
~/.vimrc
:Isso tem funcionado para mim no Linux, GVim, Mac OS X e MacVim.
Ressalvas:
No Windows ou em qualquer outro sistema operacional sem o
stty
comando, o acima provavelmente gerará erros toda vez que o Vim for iniciado! (silent!
pode silenciar isso.)Se o seu shell já tinha essa configuração TTY desativada, é claro que o
VimLeave
comando automático o ativará novamente! Detectar e restaurar as configurações atuais é uma vantagem com a abordagem do @ aPyDeveloper.Uma combinação dessa solução com a @ aPyDeveloper, que lida com questões de compatibilidade no OS X e Windows, seria ótima para publicar aqui e / ou no Wiki!
Para evitar escolher entre
stty -g
estty --save
, você pode tentar o seguinte teste apenas para aix
opção.fonte
Obrigado a @Carpetsmoker pelos links.
Adicionar este script
bash_profile
funcionou para mim.Aqui está um link para ele. http://vim.wikia.com/wiki/Map_Ctrl-S_to_save_current_or_new_files
Eu também tive que remover o espaço antes do:
fonte