vim,在选定行之后或之前创建新行

时间:2015-10-16 11:48:59

标签: vim

在vim中我可以跳转到行号,例如,14就像这样:" 14gg&#34 ;;然后我可以使用" o"或者" O"在此行之后或之前创建新行。 有没有办法在14日之前或之后创建新行而不跳转到它?像" 14O"或" 14o" (这些命令不起作用)

3 个答案:

答案 0 :(得分:3)

您可以在.vimrc文件中为此创建映射,以将单个字符映射到您想要实现的目标。 (如果你没有一个已经/ home / user的话,在你的主目录中创建一个.vimrc)

例如,在.vimrc文件中放入以下行

map e ggo
map E ggO

现在每当你做14e这样的事情时,它将进入第14行并在下面插入一个新行并带你进入插入模式。同样,E用于在

上面插入行

请注意,这可能会覆盖e和E在vim中可能具有的任何功能键。

我强烈建议您只需使用14ggo即可实现您的目标

答案 1 :(得分:2)

您的问题与此超级用户问题重复:https://superuser.com/questions/147715/vim-insert-empty-line-above-current-line-not-open-i-e-without-entering-inser

append()是您问题的标准答案:

:call append(14, '')

光标不会移动,也不会移动位置标记。

答案 2 :(得分:1)

你可以这样做:

14Go<Esc>
14GO<Esc>

或:

:14norm o
:14norm O

或:

:14put=
:14put!=

无论如何,你需要跳回到你来的地方。