• 移动光标快捷键
H J K L
  • x删除单个字符
  • dd删除整行
  • J 删除换行符
  • u 撤销上一次命令
  • Ctrl + R 撤销撤销命令
  • :wq 退出vim
  • :q! 强制退出而不保存修改
1. 打开/var/log/messages,另存为当前目录下的messages.bak
vim /var/log/messages

:w ./messages.bak
2. :set命令
# 设置行号
:set nu

# 禁止自动换行
:set nowarp

# 设置自动保存
:set autowrite

# 打开查找高亮
:set hlsearch

# 突出当前行
:set cursorline

# 查看所有环境设置
:set all

# :set noxxx为关闭对应的xxx命令
# 以上设置均为一次性,重启vim即失效
# 配置需要写入用户家目录.vimrc配置文件可永久有效
3. 光标移动操作

# 移动到n行行首
nG

# 向右移动n个字符
nl

# 移动到行尾
$

# 向左移动n个单词
nb
4. 查找字符串
# 查找字符串/boot,反斜杠为转义,支持正则
/\/boot

# n向前跳转到匹配点
# N向后跳转匹配点
5. 字符串替换操作
:50,100s/PXM/pxm/gc

# 表示替换的范围50-100行,
# 可以使用1,$表示所有行,
# 如果省略,则只替换光标所在行
# s表示替换命令
# /PXM 表示被替换的字符串
# /pxm 表示目标字符串,均以/开头,支持正则
# g表示对所有范围内匹配到的字符串起所用,省略则表示只修改匹配到的第一个
# 表示每次替换前向用户提示是否替换

6. 删除操作

# 移动到10行行首
10G

# 删除20行
20dd

# 移动到29行行首
29G

# 向右删除15个字符
15x

7. 可视模式操作

# 移动到200行行首
200G

# 进入可视模式下的区块选择模式
Ctrl + v

# 向下移动光标选中块,按下d删除

8. 撤销和重做操作


9. 复制粘贴操作
# 复制51到60行这10行的内容,粘贴到最后一行后

# 跳转到51行行首
51G

# 复制10行
10yy

# 跳转到最后
G

# 在行的最后粘贴上面复制的
p
# 复制61行头20个字符,粘贴到最后一行最后一个字符后
# 跳转到61行
61G

# 复制20个字符
y20l

# 跳转到最后一行,并且跳转到行尾
G$

# 粘贴复制的内容
p
# 剪切81到100行这20行的内容,粘贴到最后一行后
# 跳转到81行行首
81G

# 剪切20行
20dd

# 跳转到最后一行
G

# 粘贴复制的内容
p
# 剪切101行尾20个字符,粘贴到最后一行最后一一个字符后
# 跳转到81行行首
101G
# 剪切20字符
20x

# 跳转到最后一行,并且跳转到行尾
G$

# 粘贴复制的内容
p

10. 记录回放操作

# 跳转到第一行
gg

# 启动记录,q操作录制,a存放寄存器
qa

# 结束记录
q

# 回放操作,回放寄存器中a操作99次
99@a
11. 打开多个文件
sp 另一个文件名
# 水平分割窗口
# Ctrl + W + [HJKL] 切换窗口

vsp 另一个文件名
# 垂直分割窗口
# res +/- n 当前窗口高度增加n行
# vetical +/- n 当前窗口宽度增加n行

# 以多个tab的方式打开文件
:tabedit 文件名
# 切换多个tab
数字gt  如3gt

11. 打开多个文件
sp 另一个文件名
# 水平分割窗口
# Ctrl + W + [HJKL] 切换窗口

vsp 另一个文件名
# 垂直分割窗口
# res +/- n 当前窗口高度增加n行
# vetical +/- n 当前窗口宽度增加n行

# 以多个tab的方式打开文件
:tabedit 文件名
# 切换多个tab
数字gt  如3gt