Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Vim中,是否有多种方法可以离开插入模式?_Vim - Fatal编程技术网

在Vim中,是否有多种方法可以离开插入模式?

在Vim中,是否有多种方法可以离开插入模式?,vim,Vim,有几个命令可以执行某些操作,然后进入插入模式。是否也有命令离开插入模式并执行操作 例如,我经常这样做 控件[:w返回 在创建映射之前,是否已经有Vim命令可以执行此操作?我唯一能想到的是c-o,它允许您在正常模式下运行一个命令,然后将您放回插入模式 例如,a~b将导致Ab除了Esc(与^[)相同)之外,^C还退出插入模式。如果您想映射一些键以在插入模式下执行保存文件等操作,可以使用。这将绑定F2以退出插入模式并保存文件: :imap <F2> <Esc>:w<CR&

有几个命令可以执行某些操作,然后进入插入模式。是否也有命令离开插入模式并执行操作

例如,我经常这样做

控件[:w返回


在创建映射之前,是否已经有Vim命令可以执行此操作?

我唯一能想到的是
c-o
,它允许您在正常模式下运行一个命令,然后将您放回插入模式


例如,
a~b
将导致
Ab

除了Esc(与^[)相同)之外,^C还退出插入模式。

如果您想映射一些键以在插入模式下执行保存文件等操作,可以使用。这将绑定F2以退出插入模式并保存文件:

:imap <F2> <Esc>:w<CR>
:imap:w
这将绑定F2以退出插入模式、保存文件并重新进入插入模式:

:imap <F2> <Esc>:w<CR>a
:imap:wa
或:

:imap:w

ALt+该命令允许您从插入模式执行命令,例如:

alt+o以打开换行符


alt+A以追加

按Ctrl-L将在evim中保留插入模式,那么为什么不也在常规vim中?将此添加到vimrc中: :imap


或者,如果您不想配置vim,请按照其他人的建议使用Ctrl-[。

但它不做任何事情,是吗?不,您是对的–它只允许您做事情,可以说它不“为您做事情”。请记住:imap w:w“does does things”。为地图选择一个合适的组合键,就这样。啊,是的,我没有想到提到imap,因为我认为海报询问的是“库存”命令。非常好的观点。如果我读对了,你想离开插入模式并保存文件吗?正确吗?是的。但是“是的”只有三个字符。有。现在我有超过15个字符。据我所知,vim中没有本机命令来保存这样的文件,但您当然可以使用我插入的imap来完成。就我个人而言,我尽量不使用插入模式映射。我喜欢模式分离。我的保存映射是Ctrl+S:
noremap:update
vnoremap:update
inoremap:update
在mac上,我将iTerm2的Cmd+s绑定到Ctrl+s。如果我处于插入模式,这将使其脱离插入模式。谢谢,我在已经“vim”的终端中复制/粘贴了一系列命令写的时候,我陷入了一个不可退出的插入模式,vim。Ctrl+L解决了这个问题。我真的不记得在哪里找到了那个,但是ALT+0也会退出插入模式,我发现这个快捷方式很容易找到press@vdegenne:这是因为Alt+0(在终端上)发送两个字符
Esc
,然后
0
Esc
退出插入模式,然后
0
移动到行首,就像分别按下这两个键一样。
:imap <F2> <C-o>:w<CR>