==注: 下文以对test.txt文件的操作为例. ==
1. 打开文件
# 打开文件
vim [FILE_NAME]
vim test.txt
vim +[LINE_NUM] [FILE_NAME]
vim +10 test.txt
vim +/[HIGHLIGHT_WORD] [FILE_NAME]
vim +/log test.txt
2. 命令模式
打开文件默认进入命令模式.
光标移动
gg : 跳转到文件首部
shift + g 或 G : 跳转到文件尾部
ctrl + 6 : 跳转到行首, 相当于 home 键
ctrl + 4 : 跳转到行尾, 相当于 end 键
ctrl + b : 向前翻页, 相当于 page up 键
ctrl + f : 向后翻页, 相当于 page down 键
[NUM] G : 移动光标到指定NUM行, 同末行模式下 :[NUM]
[NUM] 方向键 : 光标像指定方向移动NUM行/字符
复制/粘贴
yy : 复制光标所在行
[NUM] yy : 复制从光标所在行开始向下NUM行
p : 在光标所在位置粘贴
复制后末行会提示 [NUM] lines yanked
可视化复制:
ctrl + v进入可视化模式-- VISUAL BLOCK --, 方向键移动光标选中复制区域,yy键复制,p键粘贴esc键退出该模式
剪切/删除
dd : 剪切 (剪切之后, 下一行上移)
[NUM] dd : 剪切从光标所在行开始向下NUM行
不粘贴的话, 相当于删除操作
shift +d 或 D : 剪切指定行, 改行空白, 下一行不上移动
撤销/恢复
u : 撤销 (undo) 一步操作, 末行模式 :u 效果相同
ctrl + r : 取消/恢复 撤销操作
3. 末行模式
命令模式输入 : 进入末行模式.
退出末行模式:
esc按键- 双击
esc按键, 立即退出 - 删除末行全部指令
末行模式下输入部分指令点击 tab 键可显示指令提示.
保存
:w : 保存
:w [FILE_PATH] : 另存为
退出
:wq : 保存并退出
:q : 退出
q! : 不保存, 强制退出
:x : 文件存在改动, 自动保存退出, 不存在改动时, 直接退出. 推荐使用!!!
- 优点: 当文件不存在改动时, 习惯性使用
:wq退出文件会更改文件的最后修改时间, 使用:x可避免这种认为失误.
调用外部命令 (不常用)
![BASH_COMMAND]
!ls : 不退出, 并列出当前目录文件

搜索
/[KEY_WORD] : 搜索关键词
n 下一个, N 上一个
替换
注意下列指令中没有空格!
:s/[KEY_WORD]/[NEW_WORD] : string replace, 替换光标所在行第一处符合条件的内容
:s/[KEY_WORD]/[NEW_WORD]/g : 替换光标所在行全部符合条件的内容
:%s/[KEY_WORD]/[NEW_WORD] : 替换文件中每行第一处符合条件的内容
:%s/[KEY_WORD]/[NEW_WORD]/g : 替换文件中全部符合条件的内容
显示行号
set nu : 显示行号, 退出后消失
配置默认显示行号
打开配置文件
# 全局配置文件
sudo vim /etc/vim/vimrc
# 个人配置文件
sudo vim ~/.vimrc
添加 set nu

文件编码方式
set fileformat 或 set ff : 显示文件编码方式
set fileformat=[FORMAT] 或 set ff=[FORMAT] : 设置文件编码为指定方式
语法高亮
:syntax on : 打开高亮, 默认状态
:syntax off : 关闭高亮
打开多个文件
vim [FILE_NAME1] [FILE_NAME2] [... FILE_NAME_N]
显示打开的文件
:files : 显示已经打开的新的文件

# 表示此前打开的文件
%a 表示当前打开的文件
+ 表示当前文件存在改动
切换文件
:open [FILE_NAME] : 切换到另一个文件, 或打开一个新文件, 切换/打开前需要保存当前文件
bp : 切换到上一个文件
bn : 切换到下一个文件
4. 编辑模式
i : 在光标所在字符前开始插入
a : 在光标所在字符后开始插入
o : 在光标所在行下面另起一行插入
下面的不常用
I : 在光标所在行行首插入
A : 在光标所在行行尾插入
O : 在光标所在行上面另起一行插入
s : 删除光标所在字符开始插入
S : 删除光标所在行插入
本文详细介绍了Vim编辑器的命令模式、末行模式、编辑模式操作,以及搜索、替换、文件管理、配置和高级功能。无论你是开发者还是运维人员,理解和精通Vim将提升你的工作效率。
5万+

被折叠的 条评论
为什么被折叠?



