为什么选择Vim?
在装机完成后,很多人会纠结用什么文本编辑器。有些人一上来就装VS Code、Sublime Text,但如果你经常需要在服务器上修改配置文件,或者想提升键盘操作效率,Vim几乎是绕不开的工具。它不依赖鼠标,启动速度快,几乎所有Linux系统都自带,关键时刻能救急。
比如你半夜收到报警,SSH连上服务器发现Nginx配置写错了,这时候图形界面打不开,只能靠命令行。会Vim的人几分钟改完重启服务,不会的只能干瞪眼。
安装与启动
大多数Linux发行版已经预装了Vim。如果没有,可以用包管理器快速安装:
sudo apt install vim # Ubuntu/Debian
sudo yum install vim # CentOS/RHEL
sudo pacman -S vim # Arch Linux装好后,在终端输入 vim filename 就能打开文件。比如要编辑hosts文件:
sudo vim /etc/hostsVim的三种基本模式
Vim最让人困惑的是它的“模式”概念。记住三个核心状态就行:
- 普通模式(Normal Mode):用来移动光标、删除、复制、粘贴
- 插入模式(Insert Mode):真正输入文字的地方
- 命令模式(Command Mode):保存、退出、搜索替换等操作
刚打开Vim时就在普通模式。按 i 进入插入模式,可以像普通编辑器一样打字。写完内容后,按 Esc 回到普通模式。
常用快捷键实战
别指望一次记住所有按键,先掌握这几个高频操作:
光标移动:
h ← 左移
j ↓ 下移
k ↑ 上移
l → 右移文本操作:
dd 删除当前行
yy 复制当前行
p 粘贴到下一行
u 撤销
Ctrl + r 重做保存退出:
:w 保存
:q 退出
:wq 保存并退出
:q! 强制退出不保存实际场景:修改SSH配置
假设你想禁用密码登录,只允许密钥登录。需要编辑SSH配置文件:
sudo vim /etc/ssh/sshd_config进入后,按 / 开始搜索,输入 PasswordAuthentication,回车跳转到对应行。看到默认是 yes,想改成 no。
先把光标移到 yes 前,按 l 移动到字符上,再按 ciw(change inner word),Vim会自动进入插入模式,这时输入 no,然后按 Esc 返回普通模式。
最后输入 :wq 保存退出,再重启SSH服务即可生效。整个过程全程不用鼠标,手不离键盘,效率高很多。
定制你的Vim环境
默认Vim没有行号、语法高亮,看着难受。可以在用户主目录创建配置文件来优化体验:
vim ~/.vimrc写入以下内容:
" 启用语法高亮
syntax on
" 显示行号
set number
" 启用自动缩进
set autoindent
set smartindent
" 显示括号匹配
set showmatch
" 高亮搜索结果
set hlsearch
" 忽略大小写搜索
set ignorecase保存后,下次打开Vim就会舒服多了。这些设置就像给裸车加装倒车雷达和座椅加热,立马提升使用感受。
进阶技巧:批量替换
你在写Python脚本,把所有变量名 user_name 改成 username,一个个改太累。Vim提供强大的替换功能:
:%s/user_name/username/g这条命令的意思是:在整个文件中(%),查找 user_name 并替换成 username,g 表示每行全部替换。如果只想确认每个替换,加上 c 参数:
:%s/user_name/username/gc每找到一个都会停下来问你是否替换,按 y 确认,n 跳过,安全又灵活。
小技巧集合
一些实用但容易被忽略的功能:
gg跳到文件开头,G跳到最后一行Ctrl + f向下翻页,Ctrl + b向上翻页*快速选中光标下的词并搜索全文v进入可视模式,配合方向键选择文本块:set list显示空格和换行符,排查格式问题很管用
遇到卡住的情况别慌,连续按几次 Esc 回到普通模式,再试其他命令。Vim的设计哲学就是“一切皆可按键解决”,只是需要时间适应。