# vim常用命令,linux必备

# 前言

掌握vimlinux必备技能,当掌握了vim的操作,很多时候比文本编辑器或IDE更高效。

# 移动与跳转

命令 说明
set nu 显示行号;
set nonu 取消显示行号;
0 数字0,移动到行首;
$ 移动到行尾;
gg 移动到文档的第一行;与1G一样;
G 移动到文档的最后一行;
nG n为数字,移动到第n行;
n<回车> 向下移动n行;
Ctrl + f 向下翻页,即Page Down
Ctrl + b 向上翻页,即Page Up
Ctrl + d 向下翻半页;
Ctrl + u 向上翻半页;
h 向左;
j 向下;nj表示向下移动n行;
k 向上;
l 向右;
H 移动到屏幕第一行;
M 移动到屏幕中间一行;
L 移动到屏幕最后一行;
+ 非空格符的下一行;
- 非空格符的上一行;

# 删除与复制

命令 说明
dd 删除当前行;
ndd 向下删除n行;
dG 删除光标后所有;D效果一样;
d1G 删除光标前所有;
d$ 删除当前行光标后所有;
d0 删除当前行光标前所有;
yy 复制当前行;
nyy 往下复制n行;
yG 复制光标后所有;
y1G 复制光标前所有;
y$ 复制当前行光标后所有;
y0 复制当前行光标前所有;
pP p下一行粘贴,P上一行粘贴;
u 复原上一次操作;
Ctrl + r 重复上一次操作;

# 搜索和替换

命令 说明
/word 向下寻找字符串;
?word 向上寻找字符串;
n 重复上一个搜索动作;之前向下,现在也向下;
N 反向重复上一个搜索动作;
:wq 保存后退出;:wq!,强制保存后退出;
:n1,n2s/word1/word2/g n1n2行之间,用word2替换word1;如50,110s/pkslow/PKSLOW/g
:1,$s/word1/word2/g 第一行到最后一行,即全文搜索替换;

如果替换的字符串有/,要用转义::1,$s/\/opt\/pkslow/\opt\/PKSLOW/g

# 文件操作

命令 说明
:w 保存
:w! 强制保存;
:q 退出不保存;
:q! 强制退出不保存;
:wq 保存后退出;:wq!,强制保存后退出;
:w filename 另存为
:n1,n2 w filename n1n2另存为;
:r filename 读另一个文件内容;
! command 暂时离开vi执行命令;

# 其它命令

命令 说明
syntax on 打开语法高亮;
set mouse=a 支持使用鼠标;
set encoding=utf-8 设置编码;
set autoindent 回车下一行自动保持上一行缩进;
set relativenumber 显示光标所在的相对行号;
set showmatch 遇到括号,自动高亮另一个相对的括号;
set hlsearch 高亮显示搜索匹配结果;
set ignorecase 搜索时忽略大小写;
set history=1000 记录历史命令数;

参考文档:

Linux vi/vim (opens new window)

Vim 配置入门 (opens new window)

上次更新: 2023/8/18 23:39:36