更改CTRL + S以在vim中保存文件时,TAB无法正常工作

时间:2012-12-30 06:22:49

标签: vim key-bindings

我尝试使用 CTRL + S 在vim中保存文件。我遇到了这个链接http://vim.wikia.com/wiki/Map_Ctrl-S_to_save_current_or_new_files,并根据它在.basrc和vimrc中分别添加了这些代码:

vim()
{
local STTYOPTS="$(stty --save)"
stty stop '' -ixoff
command vim "$@"
stty "$STTYOPTS"
}

nmap <C-s> :wq!<cr>

现在好了 CTRL + S 保存文件。但是 TAB 现在在插入模式下不起作用。当我按 TAB 时,光标返回当前行的第一列!!任何解决方案?

1 个答案:

答案 0 :(得分:2)

:nmap仅定义正常模式下的映射。对于插入模式,使用:imap(通常,首选,:inoremap除非您确实需要重新映射),并且首先通过预先<C-o>(对于单个命令)或{保留插入模式{1}}(这里更合适,因为你想留下缓冲区<Esc>,无论如何)。

:quit

顺便说一句,我觉得有趣的是你也想退出缓冲区。对我来说,映射是有帮助的,因为我可以在编辑过程中快速输入它,这样我就可以经常保留更改。

:inoremap <C-s> <C-o>:wq!<cr>