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
:显示文件名,当前的行号,文件的总行数和文件位置的百分比(末行模式下)