(一)vim编辑器的介绍
vim是文件编辑器,是vi的升级版本,兼容vi的所有指令,同时做了优化和延伸。vim有多种模式,其中常用的模式有命令模式、插入模式、末行模式:。
(二)vim编辑器基本操作
1 进入vim编辑文件
1 vim 文件路径 //直接打开指定文件(光标位于首行或上次关闭文件时光标的所在行)
2 vim +数字 文件路径 //打开指定文件并将光标移动到指定行(数字对应的行数)
3 vim +/关键词 文件路径 //打开指定文件并高亮显示关键词
4 vim 文件路径1 文件路径2 文件路径3 //可同时打开多个文件,文件之间可切换操作
2 模式之间的切换
插入模式:是可以直接将键盘输入的内容插入到文件的模式。
命令模式:是通过vim指令进入操作的默认模式,可以切换成其他模式。
末行模式:是在屏幕的最末行进行命令输入的模式。
(三) 模式的详细介绍
1插入模式
i 光标不会移动
a 光标向后移动一个字符的位置,按Esc退出该模式后光标会向前挪一个字符的位置。
o 会有新起一行的操作,按Esc退出该模式后换行的操作仍不会撤销。
2命令模式
(1) 复制 粘贴 剪贴
yy/nyy 复制光标所在行的内容, n是数字,表示从光标处开始复制n行内容
p /np 粘贴剪切板中的内容, n是数字,表示从光标处开始粘贴n份相同的内容
dd/ndd 剪切光标所在行的内容, n是数字,表示从光标处开始剪切n行内容;
如果后续没有粘贴的操作,则该操作等同于删除
(2) 删除多个字符
nx 行内删除,从当前光标位置起向右删除n个字符的内容(包括当前光标所指的字符)
nX 行内删除,从当前光标位置起向左删除n个字符的内容(不包括当前光标所指的字符)
(3) 撤销 与 恢复
u 撤销上次的操作
ctrl + r 恢复撤销的操作(撤销的复原过程,输入该指令前未进行撤销操作,则会报错)
(4) 挪动光标
shift + g (即G) 将光标定位到文档内容的最后一行开头
gg 将光标定位到文档内容的开头
n shift+g(即nG) 将光标定位到文档内容的第n行开头
shift + 4(即$) 将光标定位到当前所在行的行尾
shift + 6(即^) 将光标定位到当前所在行的行首
n w 以单词为单位,光标向后挪动一个单位(范围是整个文件,即可以跨行挪动光标)
n b 以单词为单位,光标向前挪动一个单位(范围是整个文件,即可以跨行挪动光标)
(5) 字符切换相关的指令
shift + ~ 快速进行大小写的切换(当前光标处)
n r + 替换后的字符 替换当然光标所指向的内容
(6) 光标进行上下左右移位的按键
h 向左
j 向下
k 向上
l 向右
3末行模式
(1)保存
:w 字母w再回车,保存当前文件
:w 文件路径 字母w+空格 + 文件保存路径
(2)退出
:q 退出当前文件
:wq 保存当前文件并退出
:q! 强制退出,不保存对文件的修改并退出
(3)搜索/查找
:/关键词 /+关键词再回车,按关键词查找,查找到的内容会被高亮显示
:nohl 字母nohl再回车,取消查找到的内容的高亮显示,若不取消内容会一直高亮显示
N/n 字母N/n,光标移动到上/下一个查找到的内容(属于命令模式)
(4)替换
:s/搜索的内容/新内容 用新内容替换光标所在行第一处被搜索到的内容
:s/搜索的内容/新内容/g 用新内容替换光标所在行全部被搜索到的内容
:%s/搜索的内容/新内容 用新内容替换整个文件每一行第一处被搜索到的内容
:%s/搜索的内容/新内容/g 用新内容替换整个文件全部被搜索到的内容
(5)显示行号
set nu 字母set+空格+字母nu再回车,显示文件每行的行号,显示行号是暂时的下次打开该文件不会再显示
set nonu 字母set+空格+字母nonu再回车,取消行号显示
(6)多文件查看
files 字母files再回车,查看同时打开的所有文件的名称
- %a 表示它对应的文件是当前操作的文件
- # 表示它对应的文件是上一个操作的文件
open 文件名 字母open+空格+文件名再回车,切换到其他打开的文件进行操作
bn 字母bn再回车,切换到下一个打开的文件
bp 字母bp再回车,切换到上一个操作的文件
sp [filename] 打开一个新窗口,如果加filename,表示在新窗口创建一个新文件,否则表示两个窗口为同一文件内容
- 【ctrl】+ w +⬆/k 光标移动上窗口
- 【ctrl】+ w +⬇/j 光标移动下窗口
- 【ctrl】 + w + q 结束退出
注意:每执行完一次末行模式下的命令之后,都会自动退回到命令模式