====== VIM 中快速移动 ======

在折行内移动

需要注意的是,如果我们设置了wrap选项,那么移动一行在屏幕上显示也许就会是移动几行。因为,此时在屏幕上显示的几行只是被自动折回以便于显示的一行。这时我们可以用命令gj或是g<Down>来下移屏幕中显示的一行,而非真正的一行。命令gk或是g<Up>命令与其类似,只是用于向上移动。

移动的历史记录

Vim可以记录你曾经到过的地方,并且可以使你回到前一次到过的地方。例如在编辑文件时执行了下面的命令,从而到过不同的行:1G到第一行;10G到第十行;20G到第二十行。现在执行:jumps命令,就会看到一个曾到过的行的列表。使用命令CTRL-O跳转到移动记录列表中上一个位置。而命令CTRL-I跳转到移动记录列表中下一个位置。你不但可以在当前文件内跳转,甚至还可以移动到曾经涉足过的其它文件。

jumps

显示位置信息

命令CTRL-G可在屏幕的下端显示当前所在位置的信息。我们还可以在CTRL-G命令加上一个数字参数,这个数字越大得到的信息就越详细。命令1CTRL-G会显示文件的全路径。命令2CTRL-G会同时显示缓冲区的数字标号。

info_CtrlG

命令gCTRL-G可显示出当前文件中的字符数的信息。主要显示出当前行数(Line)、列数(Col)、字数(Word)、字符数(Char)和字节数(Byte)等信息。

info_gCtrlG

命令:set ruler可以打开标尺选项(ruler option)。将在屏幕右下角,显示当前所在的行和列,以及相对于整个文件所处的位置。

set_ruler

命令小结
^移动到当前行的第一个非空字符处
g^
_
<Home>移动到当前行的第一个字符处
g<Home>
0
g0
<End>移动到当前行的结尾处
g<End>
$
g$
gm移动到当前的中间处
count|移动到count列
counth向左移动count个字符
countl向右移动count个字符
countgo移动到第count个字符处
-移动到上一行的第一个非空字符处
+移动到下一行的第一个非空字符处
)向前移动一个句子
(向后移动一个句子
}向前移动一个段落
{向后移动一个段落
G移动到文件末尾
gg移动到文件开头
`.移动到上次编辑处