I have added this line in .vimrc so that pressing ctrl-s saves the current file
:nmap <C-s> :w!<cr>
:imap <C-s> <esc>:w!<cr>
But this is not working. Any suggestions about what I am doing wrong?
I have added this line in .vimrc so that pressing ctrl-s saves the current file
:nmap <C-s> :w!<cr>
:imap <C-s> <esc>:w!<cr>
But this is not working. Any suggestions about what I am doing wrong?
See this wikia.com article for the exact thing you're tyring to do: http://vim.wikia.com/wiki/Map_Ctrl-S_to_save_current_or_new_files
In a nutshell you need to do the following.
1. Add this to ~/.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. Disable terminal's interpretation of 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 "$@"
vim
shortcuts. Once you use a vim on a different system, you will get lost. – Bernhard Dec 29 '12 at 16:03