-
对的查看全部
-
第一章到第五章的笔记:
VIM
1 :version 查看配置文件 vimrc 的位置
it shows: “user vimrc file: "$HOME/.vimrc"”
配置文件在用户目录下~/.vimrc ,如果没有,就自己创建一个
vimrc “ 表示注释
#移动
hjkl 左下上右
0 移动到行首
^ 移动到代码的第一个字符
$ 移动到行尾
w/W 移动到下一个单词. w把标点也作为一个单词, W以空格区分单词
b/B 反向移动
e/E 移动到下一个单词结尾
ge 反向到下一个单词结尾
#跳转
Ctrl+f 下一页
Ctrl+b 上一页
Ctrl+d/u 向下/上翻半页
gg 跳转到文件首行
<line_number>gg/G 跳转到指定行。如输入 8gg就回跳转到第8行。
G 跳转到文件最后一行
Ctrl+g 查看文件信息:文件名,当前行数,当前百分比
#缩进
>> 右锁进。普通模式下,需要在有字符的情况下。
<< 左锁进。
命令模式下
:m,n> m行到n行进行缩进
:m>n m行开始,连续缩进n行
Vim
delete 剪切
yank 拷贝
put 粘贴
:h 帮助命令
:h reg 寄存器的帮助命令。寄存器可以大概理解为剪切板。
yy 赋值整行。
dd 剪切整行
:reg 查看剪切版(寄存器)中的内容。
p 粘贴
u 撤销
ctr+r 重做
yw 赋值当前光标单词,y2w 向前复制2个单词。
x 删除当前光标所在字符。
dw 删除当前字符
d{hjkl} 删除上下左右的字符
d$ 删除到行尾
d^ 删除到行首
5dd 连续向下删除5行
5w 正向移动5个单词
5dw 连续先前删除5次
~ 单个字符大小写切换
g~w 单词大小写切换
g~~ 整行大小写切换
guw 单词强制小写
gUw 单词强制大写
guu 当前行小写
fs 查找下一个字符‘s’ 的位置。当前行查找
Fs 反向查找下一个字符‘s’ 的位置。当前行查找。
dft 删除光标到当前行到查找‘t’之间的字符。但前行查找
/string 命令行全文查找当前字符穿string。
替换
:s/set/world/g 当前行 ‘set’ 修改为 ‘world’
:%s/set/world/g 全文 ‘set’ 修改为 ‘world’
shift + r 替换模式,新的输入会覆盖当前行。
缓冲区
vim file1 file2 打开多个文件,每个文件对应一个缓冲区
:ls 列出来当前缓冲区
:bp 前一个
:bn 后一个
:ball 所有的
:qall 退出所有的
分屏
vim -O file1 file2 水平分屏,打开file1,file2 两个文件。
vim -o file1 file2 竖直分屏
ctrl + w + h/j/k/l 移动选中分屏
标签:
:tabsnew file1 在新标签中打开file1
:tabs 查看当前所打开的标签页
:tabclose 关闭当前所打开的标签
:tabonly 除了当前关闭所有标签
:tabn 移动下一个标签
:tabp 移到前一个标签
:tabfirst 移到第一个标签
:tablast 移到最后一个标签
:tabm 2 移到第二个标签, 从0开始
gt 移动到下一个标签
gT 移动到上一标签
2gt 移动到第二个标签,从1开始。
文本对象
可视化模式下
viw i 不包括空格,空格计数
vis 选中句子
vip 选中段落
vi( 选中小括号
vi[ 选中中括号
vit 选中标签中的内容
vaw a 空格不计数
v2aw
daw 删除当前单词,包括删除空格
diw 删除当前单词,不删除空格
dw 删除光标后
宏
普通模式下 qa,开始录制寄存器到a寄存器中。
按 i,进入编辑。
esc 退出编辑。
q退出录制。
100@a 把a寄存器中的宏执行100次。
@@ 执行一遍上一次的操作
:n,mnormal @a
可视化
v 面向字符
shift + v 面向行
ctrl + v 面向块
gv 重选上次高亮边界
o 切换选取边界
案例1:仅把大括号内的进行缩进。
f () {
111
222
333
}
1 选中:光标移动到大括号左面,’vi{‘
2 缩进: ‘>>’
3 再次缩进: ‘.’
4 取消一次缩进: ‘u’
案例2:制表
chapter Page
一 10
二 30
三 60
1 绘制竖线:
光标移到‘chapter’ ‘Page’单词之间,ctrl+v 进入块编辑。
向下移动选中一列
r 替换
| 完成
2 绘制横线
把‘chapter| Page’ 拷贝一下。再把一行替换掉。
shift + v 选中一行。
r 单个字符替换
- 完成。
chapter| Page
_____________
一 | 10
二 | 30
三 | 60
案例三
aaa ggg bbb
aaa ggg bbb
aaa ggg bbb
替换为
aaa ... bbb
aaa ... bbb
aaa ... bbb
1 ctrl+v,光标移动到第一个g,向下移动。e选中当前单词,ggg。
2 c 修改
3 输入 …
4 退出编辑,完成。
案例4: 再每行行尾添加 end
1
1 2
1 2 3
1 2
1
1 ctrl+v 进入块模式
2 从上到下选一列
3 $ 选到行尾
4 A 进入插入模式,行尾添加end。
5 退出。完成。
1 end
1 2 end
1 2 3 end
1 2 end
1 end
部分内容有筛选。
查看全部 -
可视化模式
三种子模式
查看全部 -
标签操作和命令键
查看全部 -
标签操作指令
查看全部 -
移动分屏和尺寸变动
查看全部 -
(多窗口)分屏操作
查看全部 -
缓冲区列表操作
查看全部 -
缓冲区列表操作
查看全部 -
缓冲区列表指示状态
查看全部 -
缓冲区列表
查看全部 -
删除、复制与粘贴
7.组合删除
查看全部 -
删除、复制与粘贴
6.组合删除
查看全部 -
删除、复制与粘贴
5.行剪切粘贴
查看全部 -
删除、复制与粘贴
4.调换字符
查看全部
举报