Vi 不完全使用手册
使用 vimtutor
进入练习。其中,vimtutor zh
为中文。
vi
有三种模式:
- 正常模式(
Normal Mode
): 又称为 命令模式(Command Mode
): 在这里,您可以执行复制、粘贴、查找或替换等操作,还可以执行命令(:w
保存 或:q
退出)。 - 可视模式(
Visual Mode
):在这里您可以选择文本。 - 插入模式(
Insert Mode
):在这里您可以编辑您的文本。
命令模式(normal)
要切换到此模式,请键入Esc 键。
在这种模式下,您可以在文件中导航,并且可以执行诸如 dd
之类的命令来删除光标下的行。
您还可以执行 复制、粘贴、剪切、查找/替换 等任务
方向键
箭头 | 方向 | 字母 |
---|---|---|
← | 左 | h |
↓ | 下 | j |
↑ | 上 | k |
→ | 右 | l |
更多命令
按键 | 英文 | 功能 | 描述 |
---|---|---|---|
y | yank | 复制 | |
d | delete | 删除 | |
p | paste | 粘贴 | |
r | replace | 替换 | |
u | undo | 撤销 | |
i | insert | 插入 | |
a | append | 追加 | 在光标后插入 |
o | open | 打开 | 在下一行插入 |
f | find | 查找 | |
w | word | 单词 | 光标跳到下一个单词开头 |
b | back | 字首 | |
v | visual | 选择 | 进入可视化模式 |
按键 | 英文 | 功能 | 描述 |
基础按键
O
: 在上一行插入ZZ
保存并退出u
: 撤销上一个操作(ctrl + r
反撤销)U
: 撤销之前对该行的全部操作[进入插入模式]
i
: 在光标之前,进入插入模式I
: 在本行开头非空处,进入插入模式a
: 在光标之后,进入插入模式A
: 在本行末尾,进入插入模式o
: 在本行之后新增一行,并进入插入模式O
: 在本行之前新增一行,并进入插入模式s
: 删除当前字符,并进入插入模式S
: 删除当前行中的所有文本,并进入插入模式[移动]
g_
: 光标跳到非空行尾W
: 光标跳到下一个单词开头 (忽略标点)w
: 移动到下个单词开始(不忽略标点,从当前光标位置直到下一个单词起始处,不包括它的第一个字符)e
: 移动到当前单词的末尾(从当前光标位置直到单词末尾,包括最后一个字符)#G
: 光标跳至#
行非空行首 (#
为具体数字)``
: 返回到上一处''
: 返回到上一行f#
/F#
: 光标跳到 (后 / 前) 一个#
处t#
/T#
: 光标跳到 (后 / 前) 一个#
前[行首与行末]
^
: 移动到本行的首字符Shift + ^
0
: 移动到本行行首: 移动到本行的末字符
Shift +
[单词与内容]
: 从当前光标位置直到当行行末。
b
: 移动到当前单词开始ge
: 移动到上个单词末尾*
: 跳至找到的下个单词(光标所处的)#
: 跳至找到的上个单词(光标所处的)Shift + #
gg
/1G
: 将光标移动到文件首行的非空开头
H
: 将光标移动到屏幕上最高行(大概在顺 6 行)M
: 将光标移动到屏幕的中间行L
: 将光标移动到屏幕上最低行(大概在倒 6 行)G
: 将光标移动到文件末行非空开头zt
: 将屏幕移至窗口顶部(含将光标所在行都上移,光标再处于屏幕上方。大概在顺 6 行)zz
: 将屏幕移到窗口中间(含将光标所在行都上移,光标再处于屏幕中间)zb
: 将屏幕移至窗口底部(含将光标所在行都上移,光标再处于屏幕底部。大概在倒 6 行)[删除]
x
: 删除光标处字符X
: 删除光标前一字符dd
: 删除光标所在行,同时复制该行D
: 删除光标到行末dw
: 删除光标到单词末(含后面的空格)#x
: 删除含光标在内的后#
个字符#X
: 删除光标前#
个字符#dd
: 删除含光标所在行的#
行字符,同时复制该#
行
s
:删除当前字符S
:删除当前行中的所有文本[复制]
#yw
: 复制#
个单词,其中以光标到单词结束作为首词p
/P
: 粘贴光标(后 / 前)y <space>
: 复制光标所在字符yy
: 复制光标所在行#yy
: 复制含光标所在行在内的下#
行yw
: 复制从光标到单词结束y
: 复制从光标到本行结束[替换]
r
: 替换光标所在处的单个字符R
: 替换光标所在处及其后面的字符,直到按下「ESC」键为止cw
: 替换从光标到单词结束c#w
/#cw
: 替换#
个单词,其中以光标到单词结束作为首词[修改]
gu
/gU
<CR>
: 将本行修改为 (小 / 大) 写[查找]
/<Word><CR>
: 查找Word
。按n
查找下一个;按N
查找上一个/<Word><CR>
: 反向查找Word
。按N
查找下一个;按n
查找上一个/<Word>\c<CR>
: 单次查找结果忽略大小写%
: 选择括号,再按%
查找配对的括号对。重复按,位置反复跳转Ctrl 组合键
ctrl + r
: 反撤销上一操作,与u
相反ctrl + b
: 屏幕往“前”移动一页ctrl + f
: 屏幕往“后”移动一页ctrl + u
: 屏幕往“前”移动半页ctrl + d
: 屏幕往“后”移动半页ctrl + g
: 显示当前文本的信息ctrl + o
: 跳回较旧的位置ctrl + i
: 跳到较新的位置ctrl + w
: 窗口间切换
末行模式(last line mode)
您需要进入正常模式,然后键入 :
键。
在此模式下,您将执行命令,如 更新 VIM 配置、保存、退出、打开新文件、标签、缓冲区 等…
部分文档称之为 命令模式(Command Mode)
shift + :
进入该模式
|
|
操作指南
(1)指南
- 复制、移动、删除
yy
复制当前行p
将复制的内容进行粘贴f;
跳转到字符;
处,这里其实就是相当于行位h
向左移动一个光标ciw
删除当前处的词,并进入 插入模式
- 行选并注释
v (小写)
,进入 选择模式hjkl
选择内容x
删除内容
(2)案例
- 从当前字符起,复制到第 2 个 test 位置前(不含)
|
|
y2/test
,结果为:abc test home fdst bcfds
- 删除
"
中的字符(不含"
)
|
|
di"
结果:What is it? haha""bbc
或者使用ci"
亦可,但此方式会切换进编辑模式
- 删除单词并进入编辑模式
|
|
cw
会删除du
,并且进入编辑模式ciw
会删除baidu
,并且进入编辑模式
- 删除段落
|
|
cip
删除全段,结果为:
|
|
个人理解
- 空格会作为当前单词的一部分,比如:
|
|
插入模式
插入模式是您可以 编写/编辑 文档的地方。
i
: 在光标之前,进入插入模式I
: 在本行开头非空处,进入插入模式a
: 在光标之后,进入插入模式A
: 在本行末尾,进入插入模式o
: 在本行之后新增一行,并进入插入模式O
: 在本行之前新增一行,并进入插入模式s
: 删除当前字符,并进入插入模式S
: 删除当前行中的所有文本,并进入插入模式
可视模式
视觉模式是您可以 选择单词、行、块 等的地方。
v
: 进入VISUAL
模式,此键从光标下的字符开始切换到可视模式。V
: 进入VISUAL LINE
模式,此键从当前行开始选择整个行切换到可视模式。Ctrl + v
: 进入VISUAL BLOCK
模式,此键切换到视觉模式,允许选择垂直块。
Vim 语法
1.1 动词
d
删除 deleter
替换 replacec
修改 changey
复制 yankv
选取 visual select
1.2 名词
w
单词 words
句子 sentencep
段落 paragrapht
HTML 标签 tag- 引号或者各种括号所包含的文本称作一个文本块
1.3 介词
i
“在…之内” insidea
“环绕…” aroundt
“到…位置前” tof
“到…位置上” forward
1.4 组词为句
文本编辑命令的基本语法如下:
动词+介词+名词
例子:
- 删除一个段落 delete inside paragraph:
dip
- 选取一个句子 visual select inside sentence:
vis
- 修改一个单词 change inside word:
ciw
- 修改一个单词 change around word:
caw
- 删除文本直到字符
x
(不含x
)delete to x:dtx
- 删除文本直到字符
x
(含x
)delete forward x:dfx
1.5 数词
数词指定了待编辑文本对象的数量,语法就成了这样:
动词+介词/数词+名词
例子:
- 修改三个单词 change three words:
c3w
- 删除两个单词 delete two words:
d2w
数词也可以修饰动词,表示将操作执行 n 次。语法:
数词+动词+名词
例子:
- 两次删除单词(等价于删除两个单词) twice delete word:
2dw
- 三次删除字符(等价于删除三个字符)three times delete character:
3x
配置信息
|
|
**文章载自:**https://www.idev.top/d/407