vim学习使用
Vim中存在三种模式:命令模式、编辑模式(输入模式)、末行模式(尾行模式)。
- 命令模式:在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(删除行,复制行,移动光标,粘贴等等)[打开文件之后默认进入的模式];
- 编辑模式:在该模式可以对文件的内容进行编辑;
- 末行模式:可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮等等);
vim是vi的完整版,vi更轻量一些 ,vim跟适合写代码。
三种模式的转换
如何进入 vim
#vim 文件路径
作用:打开指定的文件#vim +数字 文件的路径
作用:打开指定的文件,并且将光标移动到指定行,+
不可省略#vim +/字符串 文件的路径
作用:打开指定的文件,并且高亮显示关键词+/
不可省略#vim 文件路径1 文件路径2 文件路径3
作用:同时打开多个文件
例如: vim +/var passwd
如何让 vim显示行号
方法1: 进入命令模式输入 ::set nu
,只不过这是临时的,如果想永久显示看下一个方法,set nonu
是关闭行号
方法2:在用户的家目录下 打开(没则新建).vimrc
,在末尾写入一句 set number
,这样该用户每次进入都会自动显示行号了
.vimrc
是vim的配置文件
命令模式
以下操作都是在 命令模式下
光标的移动
-
光标移动到行首 :
shift + 6
6不是小键盘的,其实就是输入^
-
光标移动到行尾:
shift + 4
相当输出$
其实这个就是 正则表达式 :*(通配符)^(开始)$(结尾)
-
光标移动到首行
gg
-
光标移动到末行 :
G
大小 -
翻屏: 向上翻屏:按键ctrl+b(before)或PgUp , 向下翻屏:按键ctrl+f(after)或PgDn
调节光标还可 通过这四个按键 h j k l
分别对应 左 下 上 右
注意是小写,然后 这个只能在命令模式下使用
还有: 小键盘也可哦
光标的快速移动
-
快速将光标移动到指定的行按键:数字G
-
以当前光标为准向上/向下移动n行按键:数字↑,数字↓
-
以当前光标为准向左/向右移动n字符按键:数字←,数字→
-
末行模式下的快速移动方式:移动到指定的行按键:输入英文“:”,其后输入行数数字,按下回车
复制粘贴操作
-
粘贴:在想要粘贴的地方按下p键
-
复制光标所在行:
yy
-
复制光标所在的往下指定行,包含当前行
整数yy
(按下数字后在 按下 yy) -
可视化 选择 ctrl + v 移动光标 选择( 方向键或者 h j k l都可以) 之后按下 yy 复制 ,esc 取消选择
剪切/删除
- 剪切/删除
按键:dd
(删除之后下一行上移)
-
剪切/删除光标所在行为准(包含当前行),向下删除/剪切指定的行
数字dd
(删除之后下一行上移) -
剪切/删除光标所在的当前行,但是删除之后下一行不上移
D
(删除之后当前行会变成空白行)
撤销/恢复
撤销:输入 :u或者u(undo)
恢复:ctrl+r 恢复(取消)之前的撤销
末行模式
命令模式下按“:”或“/(表示查找,出现的是当前页的离你光标最近的一个)”进入末行模式;
退出末行模式:
-
按
一下esc
-
按
两下esc
(一下和两下的区别是速度问题) -
删除末行命令和冒号
,即退出末行模式 -
保存操作
输入:“:w”
保存文件
输入:“:w 路径”
另存为 -
退出(quit)
输入:“:q”
退出文件 -
保存并退出
输入:“:wq”
保存并且退出 -
强制(!)
输入:
“:q!”
表示强制退出,刚才做的修改操作不做保存 -
调用外部命令(了解)
输入:
“:!外部命令”
当外部命令执行结束之后按下任意键回到vim编辑器打开的内容
-
搜索/查找
输入:“/关键词”在搜索结果中切换上/下一个结果:N/n
如果需要取消高亮,则需要输入:
“:nohl”
【no highlight】 -
替换
:s/搜索的关键词/新的内容 替换光标所在行的第一处符合条件的内容 :s/搜索的关键词/新的内容/g 替换光标所在行的全部符合条件的内容 :%s/搜索的关键词/新的内容 替换整个文档中每行第一个符合条件的内容 :%s/搜索的关键词/新的内容/g 替换整个文档的符合条件的内容 1234
- %表示整个文件
- g表示全局(global)
-
显示行号
输入:“:set nu”[number]
如果想取消显示,则输入:“:set nonu” -
扩展2:使用vim同时打开多个文件,在末行模式下进行切换文件查看当前已经打开的文件名称:“:files”
在%a的位置有2种显示可能 %a:a=active,表示当前正在打开的文件; #:表示上一个打开的文件 123
-
切换文件的方式:
a.如果需要指定切换文件的名称,则可以输入:“:open 已经打开的文件名”b.可以通过其他命令来切换上一个文件/下一个文件
输入:“:bn”切换到下一个文件(back next) 输入:“:bp”切换到上一个文件(back prev)
编辑模式
如何进入编辑模式
经常使用的是 i a
如何退出 ?
esc即可
补充
异常退出
什么是异常退出:在编辑文件之后并没有正常的去wq(保存退出),而是遇到突然关闭终端或者断电的情况。
下次进入的话会出现如下情况
如何解决 rm -f .*.swp
(这个文件时隐藏文件)删除临时文件即可
vim 几个实用的技巧
-
代码着色
:syntax on
开启:syntax off
关闭学习一个单词 :syntax 语法
-
vim 中的计算器 的使用
-
先进入编辑模式
-
按下
ctrl + r
就会发现多一个引号 -
按下 '=' ,我们再输入的东西都会出现到 命令的位置
-
输入算式 ,回车,引号就变成了了 计算结果
配置vim
三种配置配置方法
- 在行末模式 输入 配置:这样子是零时的
- 用户配置文件:
~/.vimrc
,隐藏的文件 ,有可能不存在,新建一个即可 - 全局配置文件:
/etc/vimrc
如果三种配置冲突,这个配置的优先级为 零时配置>用户>全局配置
结语
放假咸鱼的第21天