前言
本篇博客学习使用vim,vim作为linux下的编辑器,学linux肯定是绕不开vim的,因为不确定对方环境中是否安装了编译器,但一定会有vim。
对于基本的使用只需要会打开文件,保存文件,编辑文件即可。
嵌入式驱动学习专栏将详细记录博主学习驱动的详细过程,未来预计四个月将高强度更新本专栏,喜欢的可以关注本博主并订阅本专栏,一起讨论一起学习。现在关注就是老粉啦!
行文目录
- 前言
- 一、vim编辑器
- 二、vim的模式
- 2.1 vim四种模式的切换
- 2.2 命令模式
- 2.3 编辑模式
- 2.4 可视化模式
- 2.5 末行模式
- 三、vim的常规使用
- 3.1 打开文件
- 3.1.1 打开指定文件
- 3.1.2 打开文件并指定光标
- 3.1.2 打开文件并指定光标
- 3.2 关闭文件
- 3.2.1 保存并退出
- 3.2.2 强制退出
- 3.3 设置行号
- 3.4 保存文件
- 3.5 输入文件
- 4. 命令模式下的使用
- 4.1 移动光标
- 4.2 编辑操作
- 4.3 搜索字符
- 4.4 替换字符
- 5. 可视化模式下的使用
- 5.1 进入可视化模式方法的区别
- 5.2 添加多行注释
- 5.3 去除多行注释
- 6. 使用中出现的问题
- 7. 参考文献
一、vim编辑器
vim
是vi编辑器的加强版,可以全兼容vi,最明显的区别是vim
可以语法加亮。
通常情况下默认已经安装好了vi或vim,只需要通过在终端输入vim
即可打开vim编辑器
使用vim打开文件时,使用tab补全文件名,如果文件不存在,则会创建一个新的文件
二、vim的模式
2.1 vim四种模式的切换
vim有四种模式:命令模式,编辑模式,可视化模式,末行模式
命令模式——可进行删除、复制、粘贴等快捷操作
编辑模式——可以编辑文件内容
可视化模式——可以做一些列选操作
末行模式——可以通过命令操作文件,如搜索、保存、退出等
不同模式之间的转化需要按esc键
。
2.2 命令模式
输入vim 文件名
打开文件后,默认处于命令模式,在该模式下可以移动光标位置,通过快捷键对文件内容进行复制、粘贴、删除等操作。
2.3 编辑模式
在命令模式下输入小写字母i
或a
或o
即可进入编辑模式,在该模式下可以对文件内容进行编辑
2.4 可视化模式
在命令模式下输入小写字母v
(行)或者ctrl+v
(块)即可进入可视化模式,该模式下可以做一些列选操作,通过方向键选择某些列的内容,类似于windows鼠标选中
2.5 末行模式
在命令模式下输入冒号:
即可进入末行模式,可以在末行输入命令对文件进行查找、替换、保存、退出等操作。
三、vim的常规使用
3.1 打开文件
3.1.1 打开指定文件
vim 文件路径
如果文件存在,则直接打开,如果文件不存在,vim会自动创建一个新文件
编辑完成后,按两下esc退出编辑
3.1.2 打开文件并指定光标
vim +行数 文件
打开后,光标会停在指定的行,默认是在首行
3.1.2 打开文件并指定光标
vim +/关键字 文件路径
打开文件时,指定的关键字会高亮
:noh 或 :nohlsearch
退出高亮
3.2 关闭文件
3.2.1 保存并退出
在任何模式下,连续按两次esc键
,即可返回到命令模式,然后按:
进入末行模式,输入wq
即是保存并退出。
3.2.2 强制退出
在命令模式下按:q!
,强制退出但不保存文件
改错文件后,可以使用不保存强制退出
q!
3.3 设置行号
正常打开是不具有行号的,在实际使用过程中,增加行号更方便对文件修改
:set nu
取消行号用如下指令
:set nonu
3.4 保存文件
另存为文件分为两种,一种是全另存为,一种是将指定的行另存为新文件,其指令分别如下所示:
:w [文件名]
:2,5w [文件名]
3.5 输入文件
将另一个文件的内容输入到光标的下一行中需要用以下指令:
:r [文件名]
4. 命令模式下的使用
vim打开文件后,默认是命令模式,如果处于其他三种模式下,可以连续按两次esc键
也可以返回命令模式。
4.1 移动光标
指令 | 作用 |
---|---|
↑ | 向上移动一个字符 |
↓ | 向下移动一个字符 |
← | 向左移动一个字符 |
→ | 向右移动一个字符 |
Ctrl + f | 屏幕向下移动一页 |
Ctrl + b | 屏幕向上移动一页 |
PgUp | 屏幕向上翻半屏 |
PgDn | 屏幕向下翻半屏 |
fn+home | 光标移动到行首 |
fn+end | 光标移动到行尾 |
gg | 移动到文件的第一行 |
G | 移动到文件的最后一行 |
vim中的数字键表示重复次数,配合其他指令简化操作,可以快速定位
行号+G,例如
10G
表示直接移动光标到第10行
10↑
表示可以向下移动10行
4.2 编辑操作
指令 | 作用 |
---|---|
x | 从光标开始往后删除一个字符 |
X | 从光标开始往前删除一个字符 |
dd | 剪切一行,继续则删除下一行 |
D | 剪切一行,此行空白,下行不上移 |
n(数字)dd | 光标往下剪切n行 |
yy | 复制当前一行 |
n(数字)yy | 光标往下复制n行 |
p | 粘贴到下一行 |
P | 粘贴到上一行 |
u | 撤回 |
Ctrl+r | 撤回刚才u 的撤回操作 |
.(小数点) | 重复刚才的操作 |
vim中,剪切和删除都是dd
如果剪切了文件,没有使用p粘贴就是删除;如果使用了p就是剪切操作
4.3 搜索字符
指令 | 作用 |
---|---|
/字符串+ 回车 | 向下搜索指定字符串 |
?字符串+ 回车 | 向上搜索指定字符串 |
n | 跳到已搜索的下一个字符串 |
N | 跳到已搜索的上一个字符串 |
命令模式下,输入/
,输入要查找或搜索的关键词,然后回车
存在多个满足条件的结果,可以上下切换结果,用n和N
取消高亮则输入:noh
4.4 替换字符
指令 | 作用 |
---|---|
: s/string1/string2/g | 将光标所在行的string1替换为string2 |
:%s/string1/string2g | 将全文的string1替换为string2 |
:%s/string1/string2/gc | 将文件中的string1替换为string2,但替换前需要用户确认 |
:1,10s/string1/string2/g | 将第1行到第10行的string1替换为string2 |
s 是只替换光标所在行的第一个满足条件的结果,只替换1次
/g 表示全局
%s表示对整个文档的所有行替换
1,10s表示对指定行进行替换,此处为1到10行进行替换
5. 可视化模式下的使用
5.1 进入可视化模式方法的区别
在命令模式下,按小写的v
进入可视模式,可以左右上下选单个字符;而按大写的V
进入可视行模式,只能上下选行;ctrl+v
进入可视列模式,对文本整块选择。
5.2 添加多行注释
按
esc
退出到命令模式,按gg
切换到第1行
按ctrl+v
进入可视列模式
使用上下键选择要注释的行
按下大写的I
进入插入模式
输入注释符号(此时只显示第一行有注释,继续就行)
完成后按两次esc
完成多行注释
5.3 去除多行注释
按
esc
退出到命令模式,按gg
切换到第1行
按ctrl+v
进入可视列模式
方向键选中要移除的注释
按d
删除注释
6. 使用中出现的问题
如果意外断开vim没有保存,再打开会报错
原因是已经生成了临时文件.xxx.swap
,用ls -a
找到文件,并用rm -tf
删掉次临时文件即可正常打开
7. 参考文献
[1] vim 编辑器使用详解