文章目录
- 进入一个文件
- 文本修改命令
- 文本修改命令
- 文本复制命令
- 文本撤销命令
- 重复之前操作
- 字符替换命令
- 光标移动命令
- 屏幕滚动命令
进入一个文件
vim filename
进入到文件的后光标处于上次退出时的位置
vim +行号 filename
进入文件后光标处于指定行的首位置
vim + filename
进入文件后光标处于最后一行的首位置
vim +/string filename
进入文件后光标处于第一个string位置,模式匹配进入
vim *.c
打开多个文件以.c
为后缀命名的文件
文本修改命令
i
命令将文本插入到光标所在位置前。
I
命令将文本插入当前行的行首。
a
命令将新文本追加到光标当前所在位置之后。
A
命令将新文本追加到所在行的行尾。
o
命令将在光标所在行的下面插入一个空行,并将光标置于该行的行首。
O
命令在光标所在行的上面插入一个空行,并将光标置于该行的行首。
文本修改命令
删除文本的命令可以分为删除单个字符和删除多个字符两类。其中,删除单个字符的命令包括下面两种情况。
x
命令:删除光标处的字符。若在 x 之前加上一个数字 n,则删除从光标所在位置开始向右的 n 个字符。X
命令:删除光标前面的字符。若在 X 之前加上一个数字 n,则删除从光标前面那个字符开始向左的 n 个字符。
删除多个字符的命令包括下面几种情况。
dd
命令:该命令删除光标所在的整行。在 dd 前可加上一个数字 n,表示删除当前行及其后 n-1 行的内容。D
命令或 d$ 命令:两个命令功能一样,都是删除从光标所在处开始到行尾的内容。d0
命令:该命令删除从光标前一个字符开始到行首的内容。dw
命令:该命令删除一个单词。若光标处在某个词的中间,则从光标所在位置开始删至词尾。同 dd 命令一样,可在 dw 之前加一个数字n,表示删除 n 个指定的单词。d(
命令:该命令删除到上一句开始的所有字符。d)
命令:该命令删除到下一句开始的所有字符。d}
命令:该命令删除到上一段开始的所有字符。d{
命令:该命令删除到下一段开始的所有字符。d<CR>
命令:该命令(表示回车)删除包括当前行在内的两行字符。
文本复制命令
yy
命令:复制光标所在的整行。在 yy 前可加一个数字 n,表示复制当前行及其后 n-1 行的内容。
Y
或 y$
命令:两命令功能一样,都是复制从光标所在处开始到行尾的内容。
yw
命令:复制一个单词。若光标处在某个词的中间,则从光标所在位置开始复制至词尾。同 yy 命令一样,可在 yw 之前加一个数字 n,表示复制 n 个指定的单词。
y)
命令:复制到下一句幵始的所有字符。
y}
命令:复制到下一段开始的所有字符。
y<CR>
命令( 表示回车):复制包括当前行在内的两行内容。
与文本复制有关的命令分为两类。
- 文本粘贴命令
p
命令:粘贴命令,粘贴当前缓冲区中的内容。 - 文本选择命令
v
命令:在命令模式下进行文本选择。在需要选择的文本的起始处按下 v 键进入块选择模式,然后移动光标到块尾处。这之间的部分被高亮显示,表示被选中。
V
命令:在命令模式下按行进行文本选择。在需要选择的文本的第一行按下 V 键,然后移动光标到块的最后一行。这之间的所有行被高亮显示,表示被选中。
文本撤销命令
u
命令:该命令撤销上一次所做的操作。多次使用 u 命令会一步一步依次撤销之前做过的操作(在一次切换到文本输入模式中输入的所有文本算一次操作)。
U
命令:该命令会一次性撤销自上次移动到当前行以来做过的所有操作,再使用一次 U 命令则撤销之前的 U 命令所做的操作,恢复被撤销的内容。
重复之前操作
重复命令只能在命令模式下工作,在该模式下按下.
键即可。
字符替换命令
r
命令将当前光标所指的字符替换为提供的字符。可以在该命令之前加上数字 n,表示将从当前字符开始的 n 个字符替换为提供的字符。
光标移动命令
最基本的移动
h
光标左移一个字符j
光标下移一行k
光标上移一行l
光标右移一个字符
按行移动光标
H
命令将光标移至当前屏幕的第 1 行,而不是整个文件的第 1 行。若在 H 命令之前加 上数字 n,则将光标移至第 n 行的行首。M
命令将光标移至屏幕显示文件的中间行的行首。即如果当前屏幕已经充满,则移动到整个屏幕的中间行;否则,移动到显示文本的那些行的中间行。L
命令将光标移至屏幕显示文件的最底行的行首。即如果文件内容需要超过一个屏幕显示时,该命令将光标移至屏幕上最底行的行首;否则该命令将光标移至文件最后一行的行首。若在 L 命令之前加上数字 n,则将光标移至从屏幕底部算起第 n 行的行首。G
命令在全文的范围内移动光标,此时的光标移动范围不再受屏幕的限制。例如,在上例中,在命令模式下输入命令 5G 之后光标将移到第 5 行的行首。
按token(词)移动
-
w 和 W 命令将光标右移至下一个字的字首。这两个命令的区别在于:
w
命令所指的字是指英文单词、标点符号和非字母字符;
W
命令所指的字是指两个空格之间的任何内容。 -
如果光标起始位置处于字内,则 e 和 E 命令将把光标移到本字字尾;如果光标起始位置处于字尾,则 e 和 E 命令将把光标移动到下一个字的字尾。
e 和 E 命令的区别在于:
e
命令所指的字是指英文单词、标点符号和非字母字符;
E
命令所指的字是指两个空格之间的任何内容。 -
如果光标处于所在字内,则 b 和 B 命令将把光标移至本字字首;如果光标处于所在字字首,则 b 和 B 命令将把光标移到上一个字的字首。两个命令的区别在于:
b
命令所指的字是指英文单词、标点符号和非字母字符;
B
命令所指的字是指两个空格之间的任何内容。
按段落移动
- 一个段落被定义为是以一个空白行开始和结束的片段。按段落移动光标的命令有以下两种。
{
命令:该命令将光标向前移至上一个段落的开头。
}
命令:该命令将光标向后移至下一个段落的开头。
屏幕滚动命令
Ctrl+u
将屏幕向前(文件头方向)翻滚半屏
Ctrl+d
将屏幕向后(文件尾方向)翻滚半屏
Ctrl+f
将屏幕向文件尾方向翻滚一整屏
Ctrl+b
将屏幕向文件首方向翻滚一整屏
共有条评论 网友评论