Vim

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Ve_Sevan/article/details/79852892

这里写图片描述# IntelliJ IDEA vim

一、基本移动

​ h —— ←

​ j —— ↓

​ k —— ↑

​ l —— →

​ gj:移动到一段内的下一行

​ gk:移动到一段内的上一行

二、正常模式(normal-mode)

  1. motions
快捷键 操作说明
0(数字) 光标移至行首(忽略缩进)
^ 光标移至行首(保留缩进)
$ 光标移至行尾
e +(正向)光标移至单词结尾
ge
    (反向)光标移至单词结尾
E +(正向)光标移至单词结尾,如果词尾有标点,则移动到标点
gE
    (反向)光标移至单词结尾,如果词尾有标点,则移动到标点
w +(正向)光标移至单词开头(以空格、符号分割)
b
    (反向)光标移至单词开头(以空格、符号分割)
W +(正向)光标移至单词开头(以符号分割)
B
    (反向)光标移至单词开头(以符号分割)
gg 光标移至文章开头
G 光标移至文章末尾
f+’x’ 把光标移到同一行的下一个x字符
(‘;’为下一个 ‘,’为上一个)
F+’x’ 把光标移到同一行的上一个x字符处
(‘;’为下一个 ‘,’为上一个)
t+’x’ 把光标移到同一行的下一个x字符前
(‘;’为下一个 ‘,’为上一个)
T+’x’ 把光标移到同一行的上一个x字符后
(‘;’为下一个 ‘,’为上一个)
n+l 把光标移到第n列
n+G 把光标移到第n行
H 把光标移到屏幕最顶端一行
M 把光标移到屏幕中间一行
L 把光标移到屏幕最底端一行
>
向右缩进
<< 向左缩进
% 找到括号的另一半
~ 反转光标所在字符的大小写

2. 翻屏

快捷键 操作说明
⌃+f 下翻一屏
⌃+d 下翻半屏
⌃+e 下滚一行
⌃+b 上翻一屏
⌃+u 上翻半屏
⌃+y 上滚一行
zz 将当前行移动到屏幕中央
zt 将当前行移动到屏幕顶端
zb 将当前行移动到屏幕底端

3. 剪切和复制、粘贴

快捷键 操作说明
[n]x 剪切光标右边n个字符,相当于d[n]l
[n]X 剪切光标左边n个字符,相当于d[n]h
y 复制在可视模式下选中的文本
yy/Y 复制整行文本
y[n]w 复制一(n)个词
y[n]l 复制光标右边1(n)个字符
y[n]h 复制光标左边1(n)个字符
y$ 从光标当前位置复制到行尾
y0 从光标当前位置复制到行首
:m,ny 复制m行到n行的内容
y1G/ygg 复制光标以上的所有行
yG 复制光标以下的所有行
yaw 复制一个词
yas 复制一个句子
d 删除(剪切)在可视模式下选中的文本
d$/D 删除(剪切)当前位置到行尾的内容
d[n]w 删除(剪切)1(n)个单词
d[n]l 删除(剪切)光标右边1(n)个字符
d[n]h 删除(剪切)光标左边1(n)个字符
d0 删除(剪切)当前位置到行首的内容
[n] dd 删除(剪切)1(n)行
:m,nd 剪切m行到n行的内容
d1G/dgg 剪切光标以上的所有行
dG 剪切光标以下的所有行
daw 剪切一个词
das 剪切一个句子
d/f 这是一个比较高级的组合命令,它将删除当前位置 到下一个f之间的内容
p 在光标之后粘贴
P 在光标之前粘贴

4. 文本对象

快捷键 操作说明
aw 一个词
as 一句
ap 一段
ab 一块

y, d, c, v都可以跟文本对象。

三、插入模式(insert-mode)

  1. 基本插入
快捷键 操作说明
i 光标前插入光标前插入
I 行首插入
a 光标后插入
A 行尾插入
o 往下新建行插入
O 往上新建行插入
s 删除当前字符插入
S 删除当前行插入

2. 改写插入

快捷键 操作说明
c[n]w 改写光标后1(n)个词
c[n]l 改写光标后n个字母
c[n]h 改写光标前n个字母
[n]cc 修改当前[n]行
[n]s 以输入的文本替代光标之后1(n)个字符,相当于c[n]l
[n]S 删除指定数目的行,并以所输入文本代替之

回到正常模式:ESC

Tips:按8,再按i,进入插入模式,输入=,再按esc,就会出现8个=, 这在插入分割线时非常有用。

四、可视模式(visual-mode)

​ 正常模式下按v可以进入可视模式, 在可视模式下,移动光标可以选择文本。按V进入可视行模式, 总是整行整行的选中。ctrl+v进入可视块模式。

​ 可视模式下的U或u:把选中的文本变为大写或小写。

五、命令模式(command-mode)

快捷键 操作说明
:w 保存
:wq/ZZ 保存退出
:q 退出
:vs 垂直分割窗口
:sp 水平分割窗口
/x 在光标后查找x(n下一个/N上一个)
?x 在光标前查找x(n下一个/N上一个)
:nohl 取消高亮
:s/old/new 用new替换当前行第一个old
:s/old/new/g 用new替换当前行所有的old
:n1,n2s/old/new/g 用new替换文件n1行到n2行所有的old
:%s/old/new/g 用new替换文件中所有的old
:%s/^/xxx/g 在每一行的行首插入xxx,^表示行首
:%s//xxx/g|xxx表示行尾
展开阅读全文

没有更多推荐了,返回首页