Vim编辑器的常用指令大全
《Vim指令终极指南:从零精通编辑器王者》一文系统整理Vim高频核心指令,助你彻底摆脱“只会按i和Esc”的尴尬!文章深度解析7大指令模块:从模式切换(Normal/Insert/Visual)、光标闪电定位(hjkl进阶组合技)、文本高效增删改(dd/y/p高阶用法),到全局搜索替换(:%s魔法)、多窗口分屏协作,覆盖90%开发场景需求。
Vim编辑器
往期回顾:
Linux入门指令、常用快捷键以及常用指令详细讲解
Vim模板的设置
vim定义
本质上我们用 Linux自带的编辑器叫做 Vi编辑器(类似于window的记事本,我们一般用来做文件的编辑),名字取自 Visual,它是一个全屏幕文本编辑器(程序)。在 Linux系统中 Vi是最常用的编辑程序,它的文本编辑功能十分强大,但是使用起来比较复杂。 Vim是Vi的增强版,所以 Vi的功能 Vim都有,而且 Vim新增了 Vi没有的功能,它比 Vi更容易使用。这个工具不是 Linux内置,需要额外的安装。
Vim安装与卸载
本地安装(不推荐)
前提:系统中要存在下载好的安装包,并且可能还需要安装包的依赖包。
在线安装
语法:
sudo apt-get updata --更新软件源
sudo apt-get install vim --安装vim,vim也可以替换成其他应用的名称
卸载程序
语法:
sudo apt-get remove vim --卸载vim,vim也可以替换成其他应用的名称
Vim的使用
启动(打开文件)
启动Vim后,此时Vim处于命令模式:
1.系统命令输入Vim,就可以启动vim(不推荐)
st@st-vm:~$ vim --不建议

在vim中导入待编辑的文件::r 待编辑文件名称
2.系统命令行输入vim+待编辑文件,启动vim同时打开待编辑文件(推荐)
说明:默认打开文件后,光标处于文件开头(第1行第1列)
st@st-vm:~$ vim demo01.c
3.系统命令行输入vim+待编辑文件++,启动vim同时打开待编辑文件(推荐)
说明:默认打开文件后,光标处于文件开头(末行第1列)
st@st-vm:~$ vim /etc/profile +
4.系统命令行输入vim+待编辑文件++(行数),启动vim同时打开待编辑文件(推荐)
说明:默认打开文件后,光标处于文件开头(指定第n行第一列),这种打开方式一般用于定位错误
st@st-vm:~$ vim /etc/profile +4
注意:vim打开一个文件,如果这个文件不存在,就创建后打开;如果这个文件已经存在,就直接打开。
退出(关闭文件)
1.在编辑器模式下:ESC键,然后英文输入法下使用shift + :组合键输入:
2.根据需求选择退出模式:
:q:文件不做任何修改直接退出。
:wq:保存并退出。
:q!:强制退出,不保存
wq!:强制退出,保存
Vim的工作模式
1.命令模式:用户输入vim时当做指令处理,一般通过vim打开文件进入的时候,就是出于这个模式
2.输入模式/编辑模式:用户输入vim时字符要写入到文件中
3.末行模式:文件保存和退出vim
命令模式下输入的快捷键解释:
i :在目前光标前插入所要输入的内容。
插入的内容+光标
a:在目前光标后插入所要输入的内容。
光标+插入的内容
o:在当前光标所在 行下 新增一空行,并从行首开始输入文字。
光标
插入的内容
I :插入行首,跳转到光标所在行的行首位置
(行首)插入的内容
...
(行尾)
A:插入行尾
(行首)
...
(行尾)插入的内容
O :在当前光标所在 行上 新增一空行,并从行首开始输入文字。
插入的内容
光标
Linux常用快捷键
-
Ctrl+alt+t:打开Linux终端(命令行工具) -
Ctrl+shift++:对终端显示文本放大 -
Ctrl+-:对终端显示文本进行缩小 -
Ctrl+L:对终端当前屏幕进行清空,等价于 clear 这个指令 -
方向键上 /下:在终端通过方向键,从历史命令中获取历史命令。 -
Tab:对命令行中的命令进行补全,这里要注意,如果前缀在同级中有多个对应文件或者文件夹,会失效。 -
Ctrl+c:强制退回到命令行状态(一般用于命令输错时) -
Ctrl+s:对Linux终端进行锁定 -
Ctrl+Q:对锁定的Linux终端进行解锁
Vim常用命令
光标移动
行间移动
-
gg键:移动光标到第一行(命令模式下) -
G键:移动光标到最后一行(命令模式下) -
:n:移动到第n行,写法举例::6移动到第6行(末行模式下)
列间移动
-
$键:移动光标到当前行的行尾(列尾),一般可以使用shift+$(命令模式下) -
0键:移动光标到当前行的行首(列头)(命令模式下)
删除
列删除
x键:删除当前光标所在处一个字符(命令模式下)nx键:删除当前光标所在处以及后面共n个字符。举例:6x删除从当前光标开始共6个字符(命令模式下)X键:删除当前光标左边一个字符(命令模式下)D键:删除当前光标至行尾(命令模式下)
行删除
dd键:删除当前光标所在行(命令模式下)ndd键:删除当前光标所在至后面共n行,注意n是数字键(命令模式下)dG键:删除当前光标所在行至文件末尾(命令模式下):n1,n2d:删除n1~n2行,举例:1,12d表示删除 1~12 行(末行模式下)
拷贝(类似于Windows上的ctrl+c)
复制列(字符)
- 多按几次
ESC,然后按v,进入可视方式,移动方向键 选中文本,然后按y,就完成拷贝。
复制行
yy键:复制当前行,(单行复制)(命令模式下)nyy键:复制当前行以下n行,举例:5yy,从当前行开始拷贝5行(命令模式下):n1,n2 copy dn:复制n1~n2行数据然后粘贴到dn行,举例:3,14 copy 2,从第3行开始拷贝至第14行,然后粘贴到第2行的下一行。(末行模式下)
粘贴(类似于Windows上的ctrl+v)
p键:如果拷贝的是整行粘贴在当前行下。如果拷贝的是字符粘贴在当前光标之后(配套yy,nyy,复制列)(命令模式下)P键:如果拷贝的是整行粘贴在当前行上。如果拷贝的是字符粘贴在当前光标之前(配套yy,nyy,复制列)(命令模式下)
撤销(类似于Windows上的ctrl+z)
u键:撤销上一步操作,相当于ctrl+z(命令模式下)U键:撤销当前行中的所有操作。(命令模式下)ctrl+r:重做撤销的操作。可以理解为对撤销进行还原。(命令模式下)
字符查找(类似于Windows上的ctrl+f)
-
/string:从光标所在处向后寻找“string”字符串,输入完毕,需要按回车键;按n可往下继续找,按N可往上找,举例:/int(末行+命令) -
?string:从光标所在处向前寻找“string”字符串,输入完毕,需要按回车键;按n可往上继续找,按N可往下找,举例:?int(末行+命令) -
:set ic:查找时忽略大小写,查询之前设置,(默认忽略大小写)举例:查找 f/F ,匹配到f+F(末行模式下) -
:set noic:查找时对大小写敏感,查询之前设置,举例:查找f/F,匹配到f/F(末行模式下) -
:%s /old/new:将全文每一行第一个匹配项old替换成new(末行模式下) -
:%s /old/new/g:将全文替换old为new(末行模式下)备注:前使用的绝大数系统测试结果相反
Vim其他指令
:set nu:设置行号(末行模式下):set nonu:取消设置行号(末行模式下)ctrl+g:显示文件名,当前的行号,文件的总行数和文件位置的百分比(末行模式下)
更多推荐



所有评论(0)