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 "$@"