重点:
光标的移动,模式切换,删除,查找,赋值,粘贴,撤销命令的使用
Vim的三种模式(重点)
Vim中存在的三种模式(大众的认知):
-
命令模式:(默认模式)
在该模式下不能对文件直接编辑,可以输入快捷键进行一些操作(删除行,复制行,移动光标,粘贴…)
-
编辑模式:
在该模式下可以对文件的内容进行编辑
-
末行模式:
在末行输入命令来对文件进行操作(搜索,替换,保存,退出,撤销,高亮…)
取消高亮::nohl
Vim打开文件的方式(常见4种):
#vim 文件路径 打开指定的文件
#vim n 文件的路径 打开指定的文件,并将光标移动到指定行
#vim /关键词 文件的路径 打开指定的文件,并高亮显示关键词
#vim 文件路径1 文件路径2… 同时打开多个文件
练习:
先复制一个/etc/passwd文件到home中
后续的一切操作基于复制的passwd进行
退出方式: “:q”
注:使用vim打开文件,会保存上一次打开该文件时的状态(光标的位置,高亮…)
一、命令模式
该模式是打开文件的默认模式
1.光标的移动
-
光标移动到行首
按键 ”Shift 6“ 即 “^” ^ 在正则表达式表示开始
按键 0
按键 home
-
光标移动到行尾
按键 “Shift 4” 即 ”$“ $ 在正则表达式表示结束
按键 end
-
光标移动到首行
按键 “gg”
-
光标移动到末行
按键 “G”
-
翻屏
-
向上翻盘
按键 “Ctrl b”
按键 “PgUp”
-
向下翻屏
按键 “Ctrl f ”
按键 “PgDn”
-
2.复制操作
-
复制光标所在行
按键 “yy”
粘贴 移动到指定位置,“p”
-
以光标所在行为准(包含当前行),向下复制指定行数
按键 “数字 yy”
-
可视化复制
按键 “Ctrl v”,然后移动光标选择复制 ,按键“yy”进行复制,按键“p”进行粘贴
3.剪切操作
注:可用作实现删除效果
-
剪切光标所在行 --(删除后,下一行上移)
按键 “dd”
-
以光标所在行为准(包含当前行),向下剪切指定行数 --(删除后,下一行上移)
按键 “数字 dd”
-
剪切光标所在行 --(删除后,当前行变成空白行,下一行不上移)
按键 “D”
4.撤销/恢复操作
-
撤销
直接按键 “u” (undo)
输入 “:u” (进入编辑模式)
-
恢复—可以取消撤销操作
按键 ”Ctrl r“
5.扩展:光标的快速移动
-
快速将光标移动到指定行数
按键 “数字 + G”
-
以当前光标为准,向上/向下移动n行
按键 “数字 ↑” / “数字 + ↓”
-
以当前光标为准,向左/向右移动n字符
按键 “数字 ←” / “数字 + →”
-
末行模式下的快速移动方式:移动到指定的行
输入 “: 数字” 回车
二、末行模式
进入方式:
- 由命令模式进入,输入":“即可进入 或者 输入 ”/” 进行查找
退出方式: --> 进入命令模式
- 按1次esc
- 按2次esc
- 删除末行中的全部输入字符
1.保存操作
输入 “:w” 保存文件
输入 “:w 路径” 另存为
2.退出操作
输入 “:q” 退出文件
3.保存并退出
输入 “:wq” 保存并退出
4.强制操作(!)
输入 “:q!” 表示强制退出,不保存修改操作
5.调用外部命令(了解)
输入 “:! 外部命令” 例 “:! ls”
当外部命令执行结束之后按下任意键回到vim编辑器打开的文件内容中
6.搜索/查找操作
输入 “/关键词" 会高亮显示关键词
在搜索结果中切换上/下一个结果位置:N/n (next)
取消高亮: 输入 “:nohl” (no highlight)
7.替换操作
-
“: s/要替换的关键词/新的关键词" 替换光标所在行的第一处符合条件的内容
-
“: s/要替换的关键词/新的关键词/g" 替换光标所在行的全部符合条件的内容
-
“:%s/要替换的关键词/新的关键词” 替换整个文档中每一行的第一处符合条件的内容
-
“:%s/要替换的关键词/新的关键词/g” 替换全部符合条件的内容
% 表示整个文档
g 表示全局(global)
8.显示行号(临时显示)
输入 “:set nu" (number)
取消显示 “:set nonu”
9.扩展:使用vim打开多个文件,并切换文件
查看当前打开的多个文件名称 ”:files“
在 %a 处有2种 显示可能
%a:表示正在打开的文件 (active)
#:表示上一个打开的文件
line:表示光标所在行号
切换文件:
-
切换指定文件的名称 “:open 文件名”
-
切换到上/下一个文件
“:bp” 切换到上一个文件 (back previous)
“:bn” 切换到下一个文件 (back next)
三、编辑模式
进入方式:(重点2种)
- 按下 “i” 在光标所在字符前开始插入
- 按下 “a” 在光标所在字符后开始插入
- “o” 在光标所在行的下面另起一新行插入
- “I" 在光标所在行的行首开始插入,如果行首有空格则在空格之后插入
- “A” 在光标所在行的行尾开始插入
- “O” 在光标所在行的上面另起一行开始插入
- “S” 删除光标所在行并开始插入
退出方式:
- 按下 “Esc”
补充实用功能
1.代码着色
案例:首先创建简单的c语言程序
如何控制着色显示与否?
显示: 末行模式下输入 “:syntax on” syntax(语法)
关闭显示:末行模式下输入 “: syntax off”
2.vim 中计算器的使用
当在编辑文件时。需要使用计算器去计算一些公式,此时可以使用vim自身集成的简易计算器
a. 首先进入编辑模式
b. 按下按键 “Ctrl R” 然后输入 “=”,此时光标会变到最后一行
c. 输入要计算的内容,按下回车
3.vim的配置文件(重点)
Vim是一款编辑器,编辑器也是有配置文件的
Vim配置有三种情况:
-
在文件打开时进入末行模式输入的配置(例如:显示行号,代码着色),都为临时配置
-
个人配置文件(~/.vimrc)如果没有可以自行新建
- 显示行号,set nu
-
全局配置文件(Vim自带,/etc/vimrc)
问题:如果个人配置文件,与全局配置文件产生冲突,则以个人配置值文件为准
4.异常退出
在编辑文件时,并没有 “wq”保存并退出,而是突然关闭终端或其他异常退出,再次打开该文件时,则出现以下情况:
解决方法:将交换文件(在编辑过程中产生的临时文件)删除即可
5.创建别名
作用:相当于创建一些属于自己的自定义命令
例如:在Windows下的清屏命令 cls,在Linux在没有该命令或不习惯,可以通过别名机制来解决,自己创造cls命令
别名机制依靠一个别名映射文件:(~/.bashrc)
注:需要重新登录当前用户,该命令才会生效
6.退出方式
回顾:之前在Vim中退出编辑文件使用“:q”或“:wq”
除了上面的这个语法之外,vim还支持另一个保存并退出的方法 “:x”
说明:
- “:x" 在文件没有修改时,表示直接退出;在文件被修改时,表示保存并退出
- 如果文件没有被修改,但使用“wq”进行退出,则文件的修改时间会被更新,而“:x”不会
(修改时间,对于 “编译操作“ 会有影响)
建议使用 “:x”来推出(小写)
千万不要使用大写X,”:X“表示对文件进行加密(大写)
最后:
欢迎指正不足或错误的地方。如果文章对你有所帮助,欢迎点赞支持。欢迎转载。