admin 管理员组

文章数量: 887033

vim 常用操作总结

vim的操作组成:操作 = 操作符 + 动作命令。其中,操作符包括c,d,y等命令,动作命令包括光标移动(e, w, b)和文本对象选择(iw, aw, is)命令。


  • 操作符:c, d, y等命令,用于操作文本
命令功能
c修改
d删除
y复制到寄存器
g~反转大小写
gu转换为小写
gU转换为大写
>增加缩进
<减小缩进
=自动缩进
!执行外部程序

  • 动作命令——光标移动: c,d,v,y 等命令后接光标移动指令,用于移动光标
命令功能
h光标左移,同 键
j光标下移,同 键
k光标上移,同 键
l光标右移,同 键
CTRL-F下一页
CTRL-B上一页
CTRL-U上移半屏
CTRL-D下移半屏
0跳到行首(是数字零,不是字母O),效用等同于 键
^跳到从行首开始第一个非空白字符
$跳到行尾,效用等同于 键
gg跳到第一行,效用等同于 CTRL+
G跳到最后一行,效用等同于 CTRL+
nG跳到第n行,比如 10G 是移动到第十行
:n跳到第n行,比如 :10<回车> 是移动到第十行
10%移动到文件 10% 处
15移动到当前行的15列
w跳到下一个单词开头 (word: 标点或空格分隔的单词)
W跳到下一个单词开头 (WORD: 空格分隔的单词)
e跳到下一个单词尾部 (word: 标点或空格分隔的单词)
E跳到下一个单词尾部 (WORD: 空格分隔的单词)
b上一个单词头 (word: 标点或空格分隔的单词)
B上一个单词头 (WORD: 空格分隔的单词)
ge上一个单词尾
)向前移动一个句子(句号分隔)
(向后移动一个句子(句号分隔)
}向前移动一个段落(空行分隔)
{向后移动一个段落(空行分隔)
<enter>移动到下一行首个非空字符
+移动到下一行首个非空字符(同回车键)
-移动到上一行首个非空字符
H移动到屏幕上部
M移动到屏幕中部
L移动到屏幕下部
fx跳转到下一个为 x 的字符,2f/ 可以找到第二个斜杆
Fx跳转到上一个为 x 的字符
tx跳转到下一个为 x 的字符前
Tx跳转到上一个为 x 的字符前
;跳到下一个 f/t 搜索的结果
,跳到上一个 f/t 搜索的结果
<S-Left>按住 SHIFT 按左键,向左移动一个单词
<S-Right>按住 SHIFT 按右键,向右移动一个单词
<S-Up>按住 SHIFT 按上键,向上翻页
<S-Down>按住 SHIFT 按下键,向下翻页
gm移动到行中
gj光标下移一行(忽略自动换行)
gk光标上移一行(忽略自动换行)

  • 动作命令——文本对象 :c,d,v,y 等命令后接文本对象选择指令,一般为:<范围 i/a><类型> ,用于选择文本
命令功能
$到行末
0到行首
^到行首非空字符
tx光标位置到字符 x 之前
fx光标位置到字符 x 之处
iw整个单词(不包括分隔符)
aw整个单词(包括分隔符)
iW整个 WORD(不包括分隔符)
aW整个 WORD(包括分隔符)
is整个句子(不包括分隔符)
as整个句子(包括分隔符)
ip整个段落(不包括分隔符)
ap整个段落(包括分隔符)
ib小括号内
ab小括号内(包含小括号本身)
iB大括号内
aB大括号内(包含大括号本身)
i)
i(
小括号内
a)
a(
小括号内(包含小括号本身)
i]
i[
中括号内
a]
a{
中括号内(包含中括号本身)
i}
i{
大括号内
a}
a{
大括号内(包含大括号本身)
i>
i<
<>块
a>
a<
<>块(包含<>本身)
it标签块,<tag>…</tag>
at标签块,<tag>…</tag>
i’单引号内
a’单引号内(包含单引号本身)
i"双引号内
a"双引号内(包含双引号本身)
2i)往外两层小括号内
2a)往外两层小括号内(包含小括号本身)
2f)到第二个小括号处
2t)到第二个小括号前

本文标签: 常用 操作 vim