Salvando com CTRL-s no vim

3

Eu adicionei esta linha em .vimrc para que pressionar ctrl - s salve o arquivo atual

:nmap <C-s> :w!<cr>
:imap <C-s> <esc>:w!<cr>

Mas isso não está funcionando. Alguma sugestão sobre o que estou fazendo errado?

    
por Soumen Das 29.12.2012 / 14:37

1 resposta

5

Veja este artigo wikia.com para saber exatamente o que você está tentando fazer: link

Em suma, você precisa fazer o seguinte.

1. Adicione isso a ~/.vimrc

" If the current buffer has never been saved, it will have no name,
" call the file browser to save it, otherwise just save it.
nnoremap <silent> <C-S> :if expand("%") == ""<CR>browse confirm w<CR>else<CR>confirm w<CR>endif<CR>

2. Desabilite a interpretação do terminal de Ctrl + S

# bash
# No ttyctl, so we need to save and then restore terminal settings
vim()
{
    local ret STTYOPTS="$(stty -g)"
    stty -ixon
    command vim "$@"
    ret=$?
    stty "$STTYOPTS"
    return "$ret"
}

# zsh
vim() STTY=-ixon command vim "$@"
    
por 29.12.2012 / 14:56