- vim normal
.:重复上一条命令
0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾
^:跳到目前行第一个非空白字符
h :光标左移一个字符
l :光标右移一个字符
j:光标下移一个字符
k:光标上移一个字符
K:help
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
s:删除当前字符,变为插入模式
cc或C或S:删除当前行,变为插入模式
~:翻转大小写
gg:到文件首
G:到文件尾
gUU:当前行转化为大写
guu:当前行转化为小写
g~~:当前行翻转大小写
w或W :光标右移一个字至字首
b或B :光标左移一个字至字首
e或E :光标右移一个字至字尾
fx:移动光标到当前行的下一个 x 处。很明显,x 可以是任意一个字母,而且你可以使用 ; 来重复你的上一个 f 命令。
tx:和上面的命令类似,但是是移动到 x 的左边一个位置。(这真的很有用)
Fx:和 fx 类似,不过是往回找。使用 , 来重复上一个F命令。
Tx:和 tx 类似,不过是往回移动到 x 的右边一个位置。
%:在匹配的上下括号之间跳跃光标
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
u 撤销。(常用)
p: 粘贴很简单
d:剪贴选择的内容到剪贴板。
y:拷贝选择的内容到剪贴板。
dd:剪切当前行。
yy:拷贝当前行。
r 替换当前字符
R 替换当前行中当前字符及其后边的部分
>> 当前行增加缩进
<< 当前行减小缩进
ndd:剪切当前行及其后n-1行
nyy:拷贝当前行及其后n-1行
ngg或nG:跳到n行
:n 跳到n行
nh:光标左移n行
nl:光标右移n行
nj或n+:光标下移n行
nk或n-:光标上移n行
n$:光标移至第n行尾
ns:删除n个字符,变为插入模式
ncc或nS或nC:删除n行,变为插入模式
nu:撤销n次操作
nr:替换当前行中当前字符及其后边n-1个字符为输入字符
nw:移动到右边第n个单词的开头
dw或de:删除当前词中当前字节及其后边的部分
cw或ce:删除当前词中当前字节及其后边的部分,且变为插入模式
d2w或d2e:删除当前词中当前字节及其后边的部分和下一个词
c2w或c2e:删除当前词中当前字节及其后边的部分和下一个词,且变为插入模式
daw
caw 这俩是针对整个词的
yw或vwy : 复制当前词中当前字节及其后边的部分
yaw 复制当前整个词
q: :打开命令历史
/text:从当前光标处开始搜索字符串 text,并且到达 text 出现的地方。必须使用回车来开始这个搜索命令。如果想重复上次的搜索的话,按 n移动到下个 text 处,N 移动到上一个 text 处 。
#:向上查找当前字
*:向下查找当前字
- vim visual
VG:选中当前行及其下边的所有行
Vgg:选中当前行及其上边的所有行
vaw或vboe 选中当前词
vbb o e
xml标签中使用vit,选中标签内内容
选中之后,U,进行大小写转换
选中之后,d,删除选中部分
选中之后,r,替换所有选中的字符为下边要输入的字符
选中区域,o,在选中区域的开始和结束位置跳跃光标
Vr-,替换当前行的所有字符为-
Ctrl+v:调整光标开始矩形选取
V高亮选中n行之后
:‘<,‘> m a 将选中的文本移动到第a行之后
在某一行上执行A;<ESC>
跳到下一行,执行VG
:‘<,‘> normal .
这样剩下的所有行都有;啦
在某一行上执行A;<ESC>
:%normal .
对全文的所有行的尾部都加上;
:%normal A;
对全文的所有行的尾部都加上;
:%normal I// (大写i)
对全文的所有行的开头加上//
- vim command
:之后输入命令
2,5p 打印第2行到第5行
%s/s1/s2 把每行的第一个s1替换成s2
a m b将第a行移动到第b行,原来的第a+1行到第b行集体上挫
am.将第a行移动到当前行
.mb将当前行移动到第b行
atb将第a行复制到第b+1行,原来的第b+1行及其下边的所有行下挫一行
at.将第a行复制到当前行下边
.tb将当前行复制到第b行下边
命令输一半
ctrl+d 提示
col ctrl+d
colorscheme ctrl+d
普通模式下 @: 执行上次命令模式执行的命令 之后使用@@重复
:22,26 normal A;
第22行到第26行的结尾添加;
:normal 加命令 在普通模式下执行命令
: 然后向上 查看历史命令
:shell 调出shell
- vim 多文件
vim *.py 使用vim打开多个py文件
:ls 查看打开的后台文件
:buffer n 打开第n个缓冲池
ctrl+^ 切换编辑文件
:bnext :bpre :bfirst :blast
:bdelete n1 n2 n3 删除缓冲区1,2,3
:2,4 bdelete 删除缓冲区2,3,4
:args 查看传给vim的参数
:args index.html 向vim中添加新参数,即可以再打开一个文件
:args `cat record.txt`将record.txt文件里的文件名添加到vim中,在当前vim中打开record.txt里的文件名