Vim的常用指令

2021-10-08  本文已影响0人  缘木与鱼

Vim的常用指令

1.移动

h   左移一格
l   右移一格
j   下移一格
k   上移一格
w   移动到下一个单词的首字符
b   移动到上一个单词的首字符

2.插入

2.1 普通模式进入插入模式

以下指令可以从普通模式进入插入模式,并会在相应的位置输入编辑。

i   在光标处编辑
I   在行首编辑输入
A   在行尾编辑输入
a   在光标后输入编辑
o   在当前行的后面插入一个新行
O   在当前行的前面插入一个新行
cw  替换从光标所在位置后到一个单词结尾的字符

2.2 普通模式进入命令行模式

普通模式输入 : 进入命令行模式, 输入 w 回车,保存退出。

:wq                 保存并退出
:q!                 强制退出,不保存
:wq!                强制保存并退出
:q                  退出
:w <文件路径>         另存为,且不退出当前文件
:saveas <文件路径>     另存为,且不退出当前文件
:x                  保存并退出

普通模式退出vim

shift + zz          直接保存退出。

3 删除

普通模式下删除 vim 文本信息

x               删除游标所在的字符
X               删除游标所在的前一个字符
Delete键         删除游标所在的字符
dd              删除一行
dw              删除一个单词
d$              删除至行尾
D               删除至行尾
d^              删除至行首
dG              删除至文档结尾
d1G             删除至文档首部

命令前加上数字,表示删除多个。 如 2dd:一次删除两行; 2dw: 一次删除两个单词。

普通模式下 . 表示重复上次的操作。

如,上次执行了 dd 指令,删除行操作, . 按键可以重复执行上次的 dd 操作。

4. 游标的快速跳转

:set nu         显示行号
gg              游标移动到第一行
G               游标移动到最后一行
nG              游标移动到第n行
ctrl + o         回到光标跳转之前的位置

w               跳到下一个单词的开头
e               跳到当前单词的结尾
b               跳到前一个单词的开头
ge              跳到前一个单词的结尾
0(零)          跳到当前行的行头
^               跳到当前行的行头
$               跳到当前行的行尾

5. 快速查找

/字符串            向下查找字符串
?字符串            向上查找字符串

匹配之后: 
n               继续查
N               反向继续查

:noh            取消查找

高级查找

\*          查找光标所在的单词,向下找
\#          查找光标所在的单词,向上找

g\*         查找光标所在的单词,向上找  部分符合即可, 模糊查找
g\#         查找光标所在的单词,向下找  部分符合即可, 模糊查找
f<字母>   向后搜索<字母>并跳转到第一个匹配到的位置
F<字母>   向前搜索<字母>并跳转到第一个匹配到的位置

6.复制粘贴

复制

yy          复制一行        3yy  复制3行
y^          复制到行首(不含光标)
y0(零)       复制到行首(不含光标)
y$          复制到行尾(含光标)
yw          复制一个单词
y2w         复制两个单词
yG          复制到文本末尾
y1G         复制到文本开头

粘贴

p(小写)       粘贴到光标后(下)
P(大写)       粘贴到光标前(上)

剪切

dd          剪切一行
ddp         交换上下行

7. 替换撤销

替换

r + <待替换字母>         将游标所在的字母替换,只能替换一个字母
R + <待替换字母>         从游标所在的字母开始进行替换,可替换多个字母
cc                     替换整行
cw                     替换一个单词
C(大写)                 替换游标之后到行末
~                      反转游标所在的字母大小写

撤销

u{n}              撤销之前的n次操作
U(大写)           撤销当前行多有的操作

ctrl + r          redo,撤销undo的操作(撤销撤销的内容)

8.执行外部命令

:!ls                    用于显示当前文件所在目录下的内容
:!rm filename            删除名为filename的文件
:w filename              将正在编辑的文件另存为filename的文件

创建加密文件

vim -x filename

9. 恢复文件

因断电等因素造成文档未保存,可以使用一下方式恢复:

vim -r 1.txt
:ewcover 1.txt

10.多文件编辑

vim 编辑多个文件

vim 1.txt 2.txt      # 默认进入 1.txt 的编辑页面
:n!                  # 文件切换(不保存之前文件的内容)
:N!                  # 文件切换(不保存之前文件的内容)

也可以 :

vim                # 打开编辑器
:e 3.txt           # 新建一个3.txt的文件
:e#                 # 回到前一个文件
:ls                # 列出编辑过的文件
:b 2.txt           # 直接进入文件 2.txt 编辑
:bd 2.txt          # 删除编辑过的文件项目
:e! 4.txt          # 新打开4.txt,放弃正在编辑的文件
:f                # 显示正在编辑的文件名
:f new.txt         # 修改正在编辑的文件名字为 new.txt

11.功能设定

:set nu             显示行数

获取目前的设定
:set 或 :se          显示所有修改过的配置          
:set all            显示所有的设定值
:set option ?        显示option的设定值
:set nooption        取消当前的设定值


set功能
:set background=dark   或  light     设置背景风格。
上一篇下一篇

猜你喜欢

热点阅读