Vim 命令
打开目录树
1
2
3
4
#vim命令模式下
:Explore #当前窗口下打开
:Vexplore #竖直分割窗口打开
:Sexplore #水平分割窗口打开
复制粘贴
复制的命令是y,即yank(提起) ,常用的命令如下:
y
在使用v模式选定了某一块的时候,复制选定块到缓冲区用;yy
复制整行(nyy或者yny ,复制n行,n为数字);y^
复制当前到行头的内容;y$
复制当前到行尾的内容;yw
复制一个word (nyw或者ynw,复制n个word,n为数字);yG
复制至档尾(nyG或者ynG,复制到第n行,例如1yG或者y1G,复制到档
剪切的命令是d,即delete,d与y命令基本类似,所以两个命令用法一样,包括含有数字的用法
d
剪切选定块到缓冲区;dd
剪切整行d^
剪切至行首d$
剪切至行尾dw
剪切一个worddG
剪切至档尾
粘贴的命令式p,即put(放下)
p
小写p代表贴至游标后(下),因为游标是在具体字符的位置上,所以实际是在该字符的后面P
大写P代表贴至游标前(上)
vim的跨文件复制粘贴
- 用vim打开一个文件,例如:a.cpp
- 在普通模式下,输入:”:sp”(不含引号)横向切分一个窗口,或者”:vsp”纵向切分一个窗口,敲入命令后,你将看到两个窗口打开的是同一个文件
- 在普通模式下,输入:”:e b.cpp”,在其中一个窗口里打开另一个文件
- 切换到含有源文件(a.cpp)的窗口,在普通模式下,把光标移到你需要复制内容的起始行,然后输入你想复制的行的数量(从光标所在行往下计算),在行数后面接着输入yy,这样就将内容复制到临时寄存器里 了(在 普通模式下ctrl+w,再按一下w,可以在两个窗口之间切换)
- 切换到目标文件( b.cpp )窗口,把光标移到你接收复制内容的起始行,按一下p,就完成复制了。
跳转第一行和最后一行
底线命令模式
:0或:1跳到文件第一行
:$
跳到文件最后一行
命令模式
gg跳到第一行
shift+g跳到文件最后一行
撤销和恢复
u 撤销上一步的操作
Ctrl+r 恢复上一步被撤销的操作
注释多行代码
- 移动光标到要注释的起始行的行首
ctrl + q
进入可视块模式- 移动光标选中要注释的代码行,在这里我用的j键
- Shift + i 进入插入模式,键入当前语言的注释符,我这里是双斜杠,需要注意的是这时只有首行输入了注释符号
- 按Esc键后,你之前选中的代码行会全部加上了注释符
其实,这里并不局限于注释代码,这里的操作叫列插入更合适,也就是你可以在多行代码的同一列插入同样的任意字符。
设置自动保存
在 .vimrc
中写入
1
set autowriteall
设置自动换行
1
set textwidth=60
查找和替换
在normal模式下按下 /
即可进入查找模式,输入要查找的字符串并按下回车。 Vim会跳转到第一个匹配。按下n查找下一个,按下N查找上一个。
1
:/
:s
(substitute)命令用来查找和替换字符串。语法如下:
1
:{作用范围}s/{目标}/{替换}/{替换标志}
Reference
-
Previous
【深度学习】Weights & Biases -
Next
【深度学习】Super-Convergence: Very Fast Training of Neural Networks Using Large Learning Rates