1.编辑器Vim
1.vim是一个专注的编辑器
2.是一个支持多模式的编辑器
1.1见一见:
vim 的本质也是一条命令
退出来:-> Shift+:q
先创建一个文件
再打开这个文件
进入后先按 I 然后就可以输入了
输入完后,保存退出
按Esc --> 来到最后一行 --> 再Shift+:wq --> 再回车-->退出
打印内容
再 gcc编译,默认形成 a.out 文件
1.2vim多模式
2.命令模式
2.1光标定位
都要在命令模式下
2.1.1 先显示行
Esc --> Shift+:(来到底行) --> 输入set nu --> 回车
2.1.2 gg 定位到最开始(要先按Esc,即不是输入模式, 再按gg)
2.1.3 Shift+g=G 光标定位到文本最结尾
2.1.4 .1 n+gg 光标定位到第n行的最开始
2.1.4.2 n+Shift+g 光标定位到第n行的最开始
5+(这个加不需要输入,表示这两个是前后一起)gg
5+Shift+g
2.1.5 Shift+$(4) =$ 光标定位到该行的行尾
2.1.6 Shift+^(6)=^ 光标定位到该行的行首
2.1.7 h , j , k , l 光标移动
h 左 ,l 右 ,j 下 ,k 上
2.1.8 w 让光标以单词为单位进行后移
这里的单词是被vim判定为独立块的东西,和空格无关
2.1.9 b 让光标以单词为单位进行前移
2.2 其他命令
2.2.1 yy 复制当前行
2.2.2 p 粘贴到当前行的下一行
我们先来到最开始
yy复制
10p 在当前行的下一行粘贴十行 n+p
yy 复制
再来到文本最结尾
p 粘贴
p 粘贴到当前行的下一行
也可以多行复制
n+yy
来到文本最结尾
2.2.3 u 撤销
2.2.4 ctrl+r 对u进行撤销
ctrl+r 和u可以相互撤销
只要vim不退,都可以撤销
2.2.5 dd 剪切
dd
来到文本最结尾
p
只有dd没有p就是删除
n+dd 指定行往下连续切除
2dd
2.2.5 x 行内局部向后切除
n+x 多个删除
2.2.6 X 行内局部向前删除
(n+X)
2.2.7 Shift + ~ 快速大小写切换
2.2.8 n+r 小范围的文本替换
输入5r
再输入k
替换模式下批量化替换
2.2.9 Shift+r=R 进入替换模式
以行为单位,代码不用删除,直接输入替换
2.3 底行命令:
Esc + Shift + : 来到底行 -->
2.3.1 保存
w 保存
w!强制保存
wq 保存并退出 命令模式中也可以不进入底行模式 Shift+ZZ 保存并退出
q 退出
q!强制退出
wq!强制保存并退出
2.3.2 行号
set nu 显示行号
set nonu 不显示行号
2.3.3 XXX+n 搜索 --> 根据关键字进行搜索
输入/printf
n (下一个)
n
2.3.4 !command 在不退出vim的情况下进行命令行命令,加快对代码的编写调试操作
再进入
2.3.5 vs other
做文件级别的对比
对比
分屏了
只有一个显示光标,光标在哪个文件,就是编辑哪个文件
分屏下 ctrl +ww 移动到下一个终端
3.命令模式--> 插入模式
I 光标位置不会改变直接进入插入模式
a 光标位置向后移动一个进入插入模式
o 光标位置新起一行进入插入模式
4.命令的补充
4.1 批量注释
ctrl+v --> hjkl --> shift+i == I --> // --> Esc
ctrl +v 进入视图模式
按h j k l 来进行区域的选择
shift+i 进入输入模式
再输入//
再按Esc
4.2 全部注释
gg --> ctrl +v --> shift + g --> shift +i --> // --> Esc
gg来到文本最开头
ctrl + v 进入视图模式
shift+g 来到文本最结尾,这样就可以选择全部了
shift + i 进入插入模式
再输入//
再按Esc
4.3 批量化去注释
ctrl+v --> hjkl --> l(增加行) --> d
ctrl+v --> j
按一个l
d
4.4批量化删除
ctrl+v --> jjjj --> lll
d
4.5 批量化插入
ctrl+v --> jjjj
shift+i
输入 我+空格
Esc
4.6 底行命令
4.6.1 替换
:%s/(被替换的)/(替换成)/g(默认是替换开始的,替换全部的加g)
后者替换前者
退出的时候光标曾经在哪一行,打开就在哪一行
假设退出在文本最开始
4.6.2 我们可以让文件让光标直接定位到指定位置
第十行有问题
vim code.c +10
改正确后