星期一, 二月 23, 2009

VIM学习笔记 移动 (Movement)

在行内移动

我们可以用w命令向前移动一个单词,用b命令向后移动一个单词。我们也可以用数字做前缀组成新的命令,来快速的移动。例如4w就是向前移动4个单词,而5b则是向后移动5个单词。命令e也是向前移到一个单词,但是将光标定位在单词的结尾处;命令ge则是向后移到一个单词并到达前一个单词的结尾处。

利用$命令可以使光标移到一行的结尾处;而g_命令则会而将光标移到一行的最后一个非空字符处。

利用0命令可以使光标移到一行的开始处。而^命令则会忽略开头的空格,而将光标移到一行的第一个字符处。

Movement_Inline

在行间移动

进入命令状态,直接输入行号,按下回车键就可以移动到指定的行。

使用G命令,可以移动到指定的行。例如3G可以使我们快速的移到第3行。而1G则可以使我们移到文章的最顶端,而G则是定位到文章的最后一行。

使用-命令,可以移动到上一行的第一个非空字符处;而+命令,则可以移动到下一行的第一个非空字符处。

使用)命令,可以向前移动一个句子;而(命令,则可以向后移动一个句子。

使用}命令,可以向前移动一个段落;而{命令,则向后移动一个段落。

将以上移动命令与数字相结合,可以进一步加快移动的速度。

Movement_Gotoline

除了在行间移动,我们还可以使用ctrl+Uctrl+D命令进行向上和向下翻页,以快速移动到文章的不同部分。我们将在滚动屏幕章节中做详细介绍。

显示位置信息

那么又如何知道现在第几行呢?我们可以使用:set number命令使vi显示行号;而取消行号的命令为:set nonumber

即使没有显示行号,也可以使用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

移动的历史记录

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

jumps

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

Ver: 1.1<上一篇 | 目录 下一篇>

没有评论:

发表评论