Vi编辑器是所有Unix和Linux系统下标准的编辑器,类似与windows下的notepad编辑器,vi是linux中最基本的文本编辑器,广泛应用,尤其是在终端中
Vi和vim都是linux中的编辑器,vim比较高级,可视为vi的升级版,vi使用于文本编辑,但是vim更适用与coding(编写代码)
Vim重点是光标的移动,模式切换,删除,查找,替换,复制,粘贴,撤销命令的使用
Vim中存在三种模式(大众的认知):命令模式,编辑模式(输入模式),末行模式(尾行模式)
命令模式
在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(删除行,复制,移动光标,粘贴等等)[打开文件后默认进入的模式]
编辑模式(输入模式)
在该模式下可以对文件的内容进行编辑
末行模式(尾行模式)
可以在末行输入命令来对文件进行操作(搜索,替换,保存,退出,撤销,高亮等等)
Vim打开文件的方式(4种,要求掌握前三种):
1.#vim 文件路径 作用:打开指定的文件
2.#vim +数字 文件的路径 作用:打开指定的文件,并且将光标移动到指定行(如果不指定,则在第一行)
3.#vim +/关键词 文件的路径 作用:打开指定的文件并且高亮显示关键词
4.#vim 文件路径1 文件路径2 文件路径3 作用:同时打开多个文件
重点:先去复制出一个/etc/passwd文件,复制当前到家目录下
退出方式: 按下冒号在输入q按回车
注意:该模式是打开文件的第一个看到的模式(打开文件即可进入)
1.光标移动
①光标移动到行首
按键:shift + 6或 ^ (字母上的6,不要按小键盘的6)
②光标移动到行尾
按键:shift + 4或 $ (字母上的4,不要按小键盘的4)
正则表达式 :*(通配符),^( 开始),$(结尾)
③光标移动到首行
按键:gg(good game)
④光标移动到末行
按键:G
⑤翻屏
向上翻屏:按键:ctrl +b(before) 或 PageUp
向下翻屏:按键:ctrl +f(after) 或 PageDown
2.复制操作
①复制光标所在
按键:yy
粘贴按键:在想要粘贴的地方按下P(paste)键
②以光标所在行为准(包含了当前行),向下复制指定的行数
按键:数字 yy
③可视化复制
按键:ctrl + v,然后按下F ↑↓←→方向键来选中需要复制的区块,按下yy键进行复制,最后按下p键粘贴
3.剪切/删除
①剪切/删除光标所在行
按键:dd (删除之后下一行上移)
注意:dd严格意义上是剪切命令,但是如果剪切了不粘贴就是删除的效果
②剪切/删除光标所在行为准(包含指定行),向下剪切/删除指定行
按键:数字 dd
③剪切/删除光标所在的当前行,但是删除之后下一行不上移
按键:D ( 删除之后当前行为空白行)
4.撤销/恢复
撤销按键:按下冒号在按下u键(一定是小写) 或者 直接输入u (undo)
恢复按键:ctrl + r 恢复(取消)之前的撤销操作
5.扩展1:光标的快速移动
①快速将光标移动到制定的行
按键:数字 G
②以当前光标为准向上向下移动n行
按键:数字↑,数字↓
③以当前光标为准向左向右移动n行
按键:数字←,数字→
④末行模式下的快速移动方式,移动到制定的行
按键:输入英文“:”,其后输入行数的数字,再按回车
补充:windows下的换行符是”\n\r”, linux下的换行符是”\n”,在vim中可查看换行符,命令模式下输入 set list 即可
EG:
以下为linux下”\n”
以下为linux,”\n\r”
进入方式:由命令模式进去,按下英文的“:”或者”/”
推出方式:
1.保存操作(write):
输入:“:w” 保存文件
输入:“:w 路径” 另存为文件(可相对可绝对)
2.退出(quit)
输入:“:q“ 退出文件
3.保存并退出
输入:“:wq“ 保存并退出文件
4.强制(!)
输入:“:q!“ 表示强制退出,刚才做的文件修改操作不做保存
5.调用外部程序命令
按键:”!外部命令”
当外部命令执行结束之后按下任意键回到vim新打开的内容
查找:” 关键词” (此命令会进入末行模式)
EG1:在passwd中搜索”sbin”关键词
在搜索结果中切换上/下一个结果:N/n
补充:
如果需要取消高亮,则需要输入:“nohl”[no heighlight ]
语法1:s/搜索的关键词/新的内容 替换光标所在行的第一处
语法2:s/搜索的关键词/新的内容/g 替换光标所在行的全部符合条件的内容
语法3:%s/搜索的关键词/新的内容 替换整个文档中每行第一个符合条件的内容
语法4:%s/搜索的关键词/新的内容/g 替换整个文档中符合条件的内容
%表示整个文档
g表示全局(global)
输入:”:set nu” [number]
如果取消显示:则输入”:set nonu”
使用vim同时打开多个文件,在末行模式下进行切换文件
查看当前已经打开的文件名称:”:files”
文件名,当前打开的文件光标所在的行数
在%a的位置有两种显示可能
1.%a:a=active,表示当前正在打开的文件
2.#:表示上一个打开的文件
切换文件的方式:
a.如果需要切换指定文件的名称:则可以输入:”:open 已经被打开的文件名 ”
b.可以通过其他命令来切换上一个文件/下一个文件
输入:“:bn” 切换到下一个文件 (back next)
输入:“:bp” 切换到上一个文件 (back previous
进入方式:i(insert),a(after)
退出方式:按下esc键
1.代码着色
EG1:创建一个简单的C语言程序
如何控制着色显示与否
显示:”:syntax on”
关闭显示:”:syntax off”
2.vim中计算器的使用
当在我呢见文件的时候突然需要使用计算机去计算一些公式,则此时需要用计算器,但是需要退出,vim自身集成了一个简易的计算器
步骤: