在vi / vim中从当前位置移动光标x行

有没有办法在vi / vim中移动光标的相对数量的行? 假设你想要删除的代码块下有10行光标。 如果你有相对的顺序显示的行号,那么有一个“跳转10行命令”将是很好的,将带你到那里。

或者,最好是显示绝对行数,然后转到xgg,其中x是行号?

是的,当然有一个方法。 jk向下移动一行,所以10j10k向下移动十行。 你可以通过在前面加一个数字来重复任何动作。

如果这是你做的很多事情,你可能也想set relativenumber – 这将帮助你通过打印相对于当前行而不是绝对数字的行号来减less计数。

上下移动10行可能不适合您的任务以及其他选项。 考虑其他运动:

Ctrl+fCtrl+b页向前和向后。

}{向前和向后移动一段。

你可以在你的vimrc中编写规则来把10j绑定到一个键上,比方说J将10行添加到你的vimrc文件中: map <Sj> 10j

但是,你会覆盖现有的有用的J命令(join两行)。 为10j / 10kfind一个好位置的未使用的组合键可能是困难的,所以我build议使用我提到的现有的运动。

你也可能想知道,你可以倒退到你所看到的一个单词: ?someword并转向你所看到的单词/someword 。 这些将会比尝试向上/向下移动10行更快,然后将光标重新定位到确切的位置。 如果你不能想到一个简单的searchstring的问题,你可以随时去行号( xgg )。

我正在和vim搞混了,我注意到了-让你动起来,把你向下移动,所以你可以

 10- 

或者你可以使用k,因为你很可能习惯了光标移动。