Linux下的Vim编辑器是一款功能强大的文本编辑工具,广泛应用于代码编写、配置文件编辑等场景,熟练掌握Vim的命令可以显著提升工作效率,Vim有三种主要模式:普通模式、插入模式和命令行模式,普通模式用于导航和执行命令,插入模式用于文本输入,命令行模式用于执行保存、退出等操作,启动Vim时默认进入普通模式,可通过不同命令切换模式。

在普通模式下,移动光标的命令是基础操作,h、j、k、l分别控制光标向左、下、上、右移动一个字符或行,w、b、e命令用于按单词移动,w移动到下一个单词开头,b移动到当前单词开头,e移动到当前单词结尾,0和$分别将光标移动到行首和行尾,gg和G分别跳转到文件首尾,数字加gg可跳转到指定行,如5gg跳转到第5行。
文本编辑命令中,x删除光标所在字符,dd删除整行,dw删除一个单词,u撤销操作,Ctrl+r重做操作,yy复制当前行,nyy复制n行,p粘贴到光标后,P粘贴到光标前,cc修改整行,cw修改单词,i进入插入模式并在光标前输入,a进入插入模式并在光标后输入,o在当前行下方插入新行,O在上方插入新行。
搜索替换功能使用/和?命令,/后跟关键词向下搜索,?向上搜索,n跳转到下一个匹配项,N跳转到上一个。:s命令用于替换,如:s/old/new将当前行第一个old替换为new,:s/old/new/g替换全行,:%s/old/new/g替换整个文件。:set number可显示行号,:set nonumber隐藏行号,:set syntax=language设置语法高亮,如:syntax=python。
窗口操作命令中,:split水平分割窗口,:vsplit垂直分割窗口,Ctrl+w+w切换窗口,:q关闭当前窗口,:only关闭其他窗口,标签页操作使用:tabnew新建标签页,:tabn切换到下一个标签页,:tabp切换到上一个标签页,:tabc关闭当前标签页。

文件操作命令包括:w保存当前文件,:w newfile另存为新文件,:q退出,:wq保存并退出,:q!强制退出不保存,:e filename打开新文件,:r filename读取文件内容到当前光标位置,Vim还支持录制宏,qa开始录制宏到a寄存器,q停止录制,@a播放宏,@@重复上次播放的宏。
以下是Vim常用命令的快速参考表格:
| 功能分类 | 命令 | 说明 |
|---|---|---|
| 光标移动 | h,j,k,l | 左、下、上、右移动 |
| w,b,e | 按单词移动 | |
| 0,$ | 行首、行尾 | |
| 文本编辑 | x,dd | 删除字符、整行 |
| yy,p | 复制、粘贴 | |
| u,Ctrl+r | 撤销、重做 | |
| 搜索替换 | /keyword | 向下搜索 |
| s/old/new | 替换文本 | |
| 窗口操作 | split | 水平分割 |
| Ctrl+w+w | 切换窗口 | |
| 文件操作 | w, :q | 保存、退出 |
| e filename | 打开文件 |
相关问答FAQs:
-
问题:如何在Vim中同时编辑多个文件?
解答:可以使用split或vsplit命令分割窗口,然后在每个窗口中通过e filename打开不同文件,使用Ctrl+w+w在窗口间切换,only命令可关闭其他窗口保留当前窗口。
(图片来源网络,侵删) -
问题:如何在Vim中批量替换特定文本?
解答:使用s命令结合范围实现批量替换,当前行替换第一个匹配项用s/old/new,当前行全部替换用s/old/new/g,整个文件替换用%s/old/new/g,替换时可通过添加c参数确认每个替换,如%s/old/new/gc。
