2020年2月26日 星期三

vi移动光标命令

我们来具体学习一下 vi种移动光标的命令,首先需要一个文本文件来练习编辑。

vi 创建新文件

vi创建新文件的命令如下:

cp etc/passwd/ temp

man vi > temp

第一条命令是通过复制系统的口令文件创建一个小文件。第二条命令是通过复制vi的说明书页创建一个大文件。

这两条命令都将创建一个temp文件,可以使用这个文件进行练习。一旦拥有了这个文件,就可以输入下述命令编辑这个文件:

vi temp

在完成编辑后,可以使用下述命令移除这个文件:

rm temp

vi移动光标命令

在任何时候,光标必然位于屏幕的每一行上。这一行就称为当前行。在当前行中,光标将位于每个特定字符之上或之下,这个字符就称为当前字符。许多vi命令当前行或者当前字符执行操作。例如,x命令删除当前字符,dd命令删除当前行。

无论何时,当移动光标时,新位置的字符就变成当前字符,同样如果将光标移动到一个新行上,那么这一行就成为当前行。每当将光标移动到一个当前不在屏幕上的行时,vi将显示编辑缓冲区不同的部分,从而使新行可见。换句话说,就是,如果从编辑缓冲区的一部分跳到另一部分,只需简单的移动光标。

vi中,有许多不同的命令可以移动光标,这意味着有许多不同的方式可以从编辑缓冲区的一部分跳到另一个部分,只需简单的移动光标。

在vi中,有许多不同命令可以移动光标,这意味着有许多不同的方式可以从编辑缓冲区的一个位置跳到另一个位置。然后,每当需要从编辑缓冲区的一个位置跳到另一个位置上去时,您能够发现哪个命令序列最佳。

将光标移动一个位置,有许多方法可以选择。最好是使用hjkl命令,它们的作用如下所示:

h 将光标向左移动一个位置

j 将光标向下移动一个位置

k 将光标向上移动一个位置

l 将光标向右移动一个位置

选择这几个键的原因有两点。首先,如果您是按指法打字的人,那么这四个键很容易用右手的手指进行敲击,因此能够非常方便的移动光标。其次。在设计之初,键盘就是使用这4个键作为光标控制键的。

将光标移动一个位置方式二, 如果你的键盘上有光标控制键(箭头键)。另外还可以使用<Backspace>键向左移动一个位置,或者使用<Space>键向右移动一个位置。

<Left>将光标向左移动一个键

<Down>将光标向左移动一个键

<Up>将光标向上移动一个键

<Right>将光标向右移动一个键

<Backspace>将光标向左移动一个键

<Space>将光标向右移动一个键

将光标移动一个位置方式三就是使用-(减号)和+(加号)命令,按-键将把光标移动到上一行的开头,按+键将光标移动到下一行的开头。另外,还有一种方法,按<Return>键也可以移动到下一行的开头。

- 将光标移动到上一行的开头

+ 将光标移动到下一行的开头

<Return>将光标移动到下一行的开头

在当前行中,0(数字0)命令将光标移动到行的开头;$(美元字符)命令将光标移动到行的末尾。如果当前行是缩进的,则可以使用^(音调符号)将光标移动到本行不是空格或者制表符的第一个字符上去。

0 将光标移动到当前行的开头

$ 将光标移动到当前行的末尾

^ 将光标移动到当前行的第一个非空格/制表符的的字符上

除了按字母或按行动光标之外,还有几条命令可以用来以单词为单位移动光标。向前移动,可以使用w或者e命令。w命令将光标移动到下一个单词的第一个字母上,e命令将光标移动到下一个单词的最后一个字符上,b命令将光标移动到上一个单词的第一个字符上。使用w、e或b,可以快速准确的地将光标移动到期望的位置上,节省大量的按键动作。

W 将光标移动到下一个单词的词首

e 将光标移动到下一个单词的词尾

b 将光标移动到上一个单词的词首

所有这三条命令都在每个标点字符的处停止,如果数据不包含大多这样的字符,这几条命令就比较合适。但是,数据中有大量的标点符号,那么以这种方式移动光标就比较慢。作为替代,可以使用WEB命令。这几条命令的运行方式与前3条命令相同,只是它们仅识别作为单词末尾的空格今儿新行字符。

W 同w,忽略标点符号

E 同e,忽略标点符号

B 同b,忽略标点符号

例如,假设光标现在位于下述行的开头:

This is an (important) test; don’t forget to study.

如果连续按w键,则光标会停在每个圆括号、分号、撇号(单引号)以及每个单词的开头。也就是说,要到达这一行的最后一个单词需要按13次w键。如果使用W,光标将只在每个空格处停止。要到达改行的最后一个单词只需按8次w键。

对于更大范围的移动,可以使用圆括号命令从一个句子跳到另一个句子:
) 向前移动到下一个句子

( 向后移动到上一个句子

同样,花括号命令可以从一个段落跳到另一个段落:

{ 向前移动到下一个段落

} 向后移动到上一个段落


有时候,可能要从屏幕的某一部分大范围的移动到另一部分。为了进行这样的移动,可以使用H、M或L命令。这些命令分别可以跳到屏幕的顶部、中间或者底部(可以联想一下“high”、“middle”、 “Low”这几个单词)

H 将光标移动到屏幕的顶部

M 将光标移动到屏幕的中间

L 将光标移动到屏幕的最后一行

沒有留言:

張貼留言