在插入模式 vim 当前行后添加新行

Gui*_*ter 5 vi vim

我是 Vim 的新手,从 Sublime 到 Vim 的过渡真的很难。我想知道当我处于插入模式而不离开它时,是否有一个快捷方式可以在当前行的上方或后面添加一个新行。在崇高我用

cmd + 输入

cmd + Shift + 输入

要做,但我没有找到类似的方法在 vim 上做到这一点。

我找到了使用 'o' 和 'O' 在正常模式下完成它的方法,并且还配置了这种惊人的方式http://vim.wikia.com/wiki/Insert_newline_without_entering_insert_mode 但它们都没有达到我所需要的。

谢谢 !

Jon*_*ely 5

定义在下面添加行的快捷方式很容易,只需在 Vim 命令行上输入以下内容(:在正常模式下输入后)或将其添加到您的 vimrc 文件中:

imap <C-Enter> <Esc>o
Run Code Online (Sandbox Code Playgroud)

这将添加一个插入模式映射 ( imap),以便 Ctrl-Enter 将离开插入模式,然后用于o在当前行之后添加一个新行(让您返回到您开始的插入模式)。(<C-xxx>是 Vim 表示特殊键序列Ctrl+ 的方式xxx,并且<Esc>是Escape键)。

这与您链接到的“惊人方式”非常相似,但只需使用适当的键序列从插入模式转到正常模式,然后添加该行。在 Vim 中创建快捷方式的方法是从较小的部分构建它们。如果您知道O,o那么您需要做的就是创建一个映射以首先进入正常模式,然后使用它们。

由此,如何进行其他映射也应该很明显:

imap <C-S-Enter> <Esc>O
Run Code Online (Sandbox Code Playgroud)

(<C-S-xxx>意思是Ctrl+ Shift+ xxx)

这些映射在gvimGUI 中对我来说很好,但在基于vim终端的vim. 如有必要,请使用其他一些映射,例如Ctrl+ o。