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

标签 vim vi

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

cmd + Enter

cmd + Shift + Enter


要做,但我没有找到类似的方法在 vim 上做到这一点。
我找到了使用“o”和“O”在正常模式下完成此操作的方法,并且还以这种惊人的方式进行配置 http://vim.wikia.com/wiki/Insert_newline_without_entering_insert_mode
但他们都没有达到我的需要。
谢谢 !

最佳答案

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

imap <C-Enter> <Esc>o

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

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

由此,如何进行其他映射也应该很明显:
imap <C-S-Enter> <Esc>O

( <C-S-xxx> 表示 Ctrl+Shift+xxx)

这些映射在 gvim 中对我来说很好用GUI,但可能无法在基于终端的 vim 中工作,因为键序列可能无法从终端正确传递到 vim .如有必要,请使用其他一些映射,例如 Ctrl+o。

关于vim - 在插入模式 vim 当前行后添加新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35061469/

相关文章:

python - 用于 python 的 vim 中的语法高亮显示

vim - Autocmd 弹出菜单

unix - 如何在vi编辑器中删除每行中间的^M字符

vim - :help paragraphs中的 "paragraph macros"是什么

Vim 相当于 Emacs 的开放式矩形

vim函数生成标签,输出后如何居中光标位置

search - VIM:如何搜索匹配没有特定字符的行?

vim - 在 vi/vim 中有什么方法可以使可视 block 模式不受行尾的约束?

vim - VIM 中的自动完成 Systemverilog

eclipse - 如何在 Vim 中像 Eclipse 一样格式化 Java 文件