Linux vi/vim

vi 是 Linux 内置的经典文本编辑器,vim 是它的增强版(Vi IMproved),支持语法高亮与多级撤销。改配置、写脚本、看日志都离不开它,是 Linux 使用者必须掌握的编辑器。

vim 的三种模式

vim 与普通编辑器的最大区别是「模式」:命令模式、插入模式、底线命令模式。

  • 命令模式:打开文件后的默认状态,可移动光标、删除、复制。
  • 插入模式:按 i 进入,可正常输入文字,按 Esc 返回命令模式。
  • 底线命令模式:按 : 进入,可输入 wq、q! 等保存退出命令。

模式切换示例:

vim hello.txt   # 打开或新建文件,默认进入命令模式
i               # 按 i 进入插入模式,输入 hi
Esc             # 按 Esc 回到命令模式
:               # 按冒号进入底线命令模式
:wq             # 保存并退出(w 保存,q 退出)

打开、保存与退出

常用底线命令如下,输入后回车执行:

vim /etc/hosts   # 打开指定文件
:q               # 不保存退出(未修改时可用)
:q!              # 强制退出,放弃修改
:w               # 只保存不退出
:wq              # 保存并退出
:x               # 同 :wq,保存并退出
ZZ               # 命令模式下直接保存退出

移动光标与删除

命令模式下用方向键或 hjkl 移动;把「操作 + 次数」组合可高效编辑:

h j k l          # 左 下 上 右 移动一个字符/行
0                # 跳到行首
$                # 跳到行尾
gg               # 跳到文件第一行
G                # 跳到文件最后一行
dd               # 删除光标所在行
3dd              # 连续删除 3 行
x                # 删除光标处一个字符
dw               # 删除一个单词

复制粘贴与撤销

复制粘贴在命令模式下完成:

yy               # 复制光标所在行
3yy              # 复制 3 行
p                # 粘贴到光标下一行
P                # 粘贴到光标上一行
u                # 撤销上一步操作
Ctrl+r           # 反撤销(重做)

查找与替换

命令模式下按 / 查找,输入 n 跳到下一个匹配;按 : 做全局替换:

/nginx           # 向下查找 nginx,按 n 继续查找下一个
?nginx           # 向上查找 nginx
:%s/foo/bar/g    # 把全文 foo 全部替换为 bar
:%s/foo/bar/gc   # 逐个替换,替换前询问确认

常用显示技巧

在底线命令模式下设置显示效果,退出后不保存:

:set nu          # 显示行号
:set nonu        # 取消行号
:set hlsearch    # 高亮搜索结果
:set nohlsearch  # 取消搜索高亮
:set paste       # 粘贴模式,避免自动缩进干扰

小结

vim 学习的核心是「记住模式」:插入模式打字、命令模式操作、底线命令模式存退。先掌握 wq、dd、yy、p、u 与查找替换,日常编辑就已足够高效。

笔记加载中…