【二、玩转vim(vi)编辑器】三大模式及命令介绍、如何通过配置文件.vimrc配置vim编辑器(二)

简介: 【二、玩转vim(vi)编辑器】三大模式及命令介绍、如何通过配置文件.vimrc配置vim编辑器

(7)代码格式化

命令 作用
>> 当前光标所在的行右移一个Tab
n>> 当前光标所在的行开始往下数n行,全部右移一个Tab
<< 当前光标所在的行左移一个Tab
n<< 当前光标所在的行开始往下数n行,全部左移一个Tab
gg=shift+g (gg=G) 对整个文件的代码进行自动调整

用法演示:

右移一个Tab键,按住shift,按两下>键

五行一块右移一个Tab,5>>命令,把光标移动到要右移的内容的第一行,先按一下数字5,按住shift连按两下>即可。

代码整体调整命令gg=G,按键顺序 g g =  shift+g

调整前代码

gg=G命令格式化之后代码

(8)切换到插入模式

命令 作用(下面的插入是指进入插入模式后把光标放在哪)
i 在光标前插入(如果是竖条光标表现为在光标当前位置插入,其实竖条光标对应的块状光标就是选中了竖条光标后面的一个字符)
I (shift+i) 在行首插入
a 在光标后插入
A (shift+a) 在行尾插入
s 删除光标后的元素,并进入插入模式
S (shift+s) 删除当前行的内容,并把光标放在行首进入插入模式
o 在光标所在行的下一行新开辟一行,并在行首插入
O (shift+o) 在光标所在行的上一行新开辟一行,并在行首插入

s命令的演示

通过对比可以看到,竖条光标后面的字符没了,并且进入了插入模式,对应的块状光标应该是光标当前选中的字符被删除并进入插入模式。

(9)切换到末行模式

命令 作用
:(冒号) 进入末行模式,在末行模式下可以执行命令

进入末行模式后,最下面会显示一个冒号:

(9)其他操作命令(撤销反撤销、查看函数原型、保存退出)

① 撤销与反撤销

命令 作用
u 撤销上一个命令,撤销刚才的操作(相当于Windows下的ctrl+z),可以理解为一些集成开发环境的后退键
ctrl+r 撤销刚才的撤销,反撤销,也就是撤销刚才的 u 操作,可以理解为一些集成开发环境的前进键

② 进入man帮助手册

命令 作用
K (shift+k) 把光标移动到函数处,按K进入man帮助手册
n K (n shift+k) n是一个数字,表示进入man帮助手册的第n章
q+Enter 退出man帮助手册

演示:

把光标移动到函数上,按shift+k,便可以进入man帮助手册

使用2 shift+k命令对scanf函数进入man帮助手册第二章,对库函数进入man手册第二章是进不去的,因为man的第二章是系统调用相关的,对某个函数进入man手册相应章节时应该对号入座,否则就直接shift+k不选章节。

使用3 shift+k 命令进入man手册第三章,成功进入,在左上角有数字3,F(3)表示这是man帮助手册的第三章。

③ 保存并退出

命令 作用
ZZ (shift + z z) 保存并退出文件,直接在命令模式下敲击两个大Z即可保存并退出,相当于末行模式下的 :wq

2. vim的插入模式(Insert mode)

插入模式就是编辑模式,没什么好讲的,就是开始对文件进行编辑,通过上下左右键可以移动光标,底部会有插入两个字提示当前在插入模式。但是,默认情况下编辑文件还是非常不方便的,比如不像集成开发环境那样可以自动补全括号,函数提示等,但是我们可以对vim进行配置,这些在后面一章讲解。

3. vim的末行模式(last line mode)

末行模式也叫底行模式,只能在命令模式下按冒号:进入,在插入模式下无法进入,进入末行 后可以在最后一行冒号的后面输入命令。

(1)保存与退出

命令 作用
w 保存
q 退出
wq 保存后退出
x (小写)
q! 强制退出(不保存)

wq保存后退出是我们最常用的命令

(2)查找与替换

命令 作用
s/src/des 将光标所在行的第一个src替换为des
s/src/des/g 将光标所在行的所有src替换为des
%s/src/des 整个文件每一行的第一个sec都替换为des
%s/src/des/g 整个文件每一行的所有sec都替换为des

用法演示:

① s/src/des

因为这个命令是把光标所在行的第一个src替换为des,所以替换之前,一定要在命令模式下,把光标放到src处,否则执行会报错,比如要把某一行第一个int替换为char

命令模式下,先把光标移动到int处

冒号:进入末行模式,并输入命令 s/int/char,回车执行,可以看到第一个替换成char了,第二个没有替换。

② s/src/des/g

把一行所有int替换为char,同样需要在命令模式下把光标移动到相应行,否则vim不知道你要替换的字符串是哪一行的

③ %s/src/des

这个不需要在命令模式下设置光标位置,因为这个替换是对整个文件操作的,原始文件

把整个文件每一行第一个char换成int,%s/char/int,回车运行

④ %s/src/des/g

整个文件所有char替换为int,最后还会提示替换了几次,替换了几行。


相关文章
|
2天前
|
Ubuntu 搜索推荐 Linux
Linux的Vim编辑器详解
Linux的Vim编辑器详解
|
6天前
|
程序员 Linux 开发工具
|
7天前
|
Linux 开发工具 C++
Linux文本编辑器vim的使用
vi/vim,vi是一款很老的编辑器,它们都是多模式文本编辑器,没有代码的编译功能,也没有调试功能。 vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。
28 0
|
16天前
|
开发工具 Linux Unix
18. 【Linux教程】vim 编辑器
18. 【Linux教程】vim 编辑器
20 0
|
27天前
|
Linux Shell 开发工具
Linux-- vi / vim 编辑器
Linux-- vi / vim 编辑器
11 0
|
1月前
|
弹性计算 Unix Linux
Linux:文本编辑器 - vim
Linux:文本编辑器 - vim
26 1
|
1月前
|
Unix Shell Linux
在 Linux 上把 Vim 配置为默认编辑器
在 Linux 上把 Vim 配置为默认编辑器
|
1月前
|
Linux 开发工具 C语言
Linux课程四课---Linux开发环境的使用(vim编辑器的相关)
Linux课程四课---Linux开发环境的使用(vim编辑器的相关)
|
1月前
|
运维 自然语言处理 开发工具
【专栏】NeoVim正逐渐取代Vim成为运维人员首选的文本编辑器。这 8 个原因或许是答案,命令对比一目了然!
【4月更文挑战第28天】NeoVim正逐渐取代Vim成为运维人员首选的文本编辑器。其优势包括更好的扩展性、现代化界面、多语言编程支持、异步处理能力、协作功能、持续更新及活跃社区。NeoVim的命令与Vim相似,但在启动配置、插件管理和窗口管理等方面有所优化。总的来说,NeoVim提供了更强大、灵活和现代的编辑体验。
|
1月前
|
存储 Linux 编译器
vim编辑器和gcc/g++编辑器的使用讲解
vim编辑器和gcc/g++编辑器的使用讲解
70 2