vim_快捷键操作_动作

6 篇文章 0 订阅
3 篇文章 0 订阅

map:命令里,规则是:

  1. 任何可显示的字符都可以直接键入,反斜杠和 ‘\<’ 除外。
  2. 反斜杠用两个反斜杠表示 “\\”,或者用 "<Bslash>"
  3. 真正的 ‘\<’ 用 “\<” 或 "<lt>" 表示。只有在没有歧义的时候才可以直接用 ‘\<’ 表示。
  4. "<key>" 的意思是特殊键。其含义上面的表格都有介绍,下面是一些例子:
    • <Esc> Escape 键
    • <C-G> CTRL-G
    • <Up> 光标上移键
    • <C-LeftMouse> Control + 鼠标左键点击
    • <S-F11> Shift + 功能键11
    • <M-a> Meta-a (第 8 位置的 ‘a’)
    • <M-A> Meta-A (第 8 位置的 ‘A’)
    • <t_kd> termcap 的 “kd” 入口 (光标下移键)

下面是vim专业手册 329页


左右动作

数值参数快捷键说明
Nh左(亦:CTRL-H、<BS> 或 <Left> 键)
Nl右(亦:<Space> 或 <Right> 键)
0至本行第一个字符 (亦:<Home> 键)
^至本行第一个非空白字符
N$至本行 (加上 N-1 后续行) 最后一个字符 (亦:<End> 键)
g0至屏幕行第一个字符 (当行回绕时和 “0” 不同)
g^至屏幕行第一个非空白字符 (当行回绕时和 “^” 不同)
Ng$至屏幕行最后一个字符 (当行回绕时和 “$”不同)
gm至屏幕行中点
N|至第 N 列 (缺省:1)
Nf{char}至右边第 N 次出现 {char} 之处 (find)
NF{char}至左边第 N 次出现 {char} 之处 (Find)
Nt{char}至右边第 N 次出现 {char} 之前 (till)
NT{char}至左边第 N 次出现 {char} 之前 (Till)
N;重复上次 “f”、”F”、”t” 或 “T” 命令 N 次
N,以相反方向重复上次 “f”、”F”、”t” 或 “T” 命令 N 次

上下动作

数值参数快捷键说明
Nk上移 N 行 (亦 : CTRL-P 和 <Up>)
Nj下移 N 行 (亦 : CTRL-J、CTRL-N、<NL> 和 <Down>)
N-上移 N 行,至第一个非空白字符
N+下移 N 行,至第一个非空白字符 (亦: CTRL-M 和 <CR>)
N_下移 N-1 行,至第一个非空白字符
NG至第 N 行 (缺省:末行) 第一个非空白字符
Ngg至第 N 行 (缺省:首行) 第一个非空白字符
N%至全文件行数百分之 N 处;必须给出 N,否则是 |%| 命令
Ngk上移 N 屏幕行 (回绕行时不同于 “k”)
Ngj下移 N 屏幕行 (回绕)

文本对象动作

数值参数快捷键说明
Nw向前 (正向、下同) N 个单词 (word)
NW向前 N 个空白隔开的字串 |WORD| (WORD)
Ne向前至第 N 个单词词尾 (end)
NE向前至第 N 个空白隔开的字串 |WORD| 的词尾 (End)
Nb向后 (反向,下同) N 个单词 (backward)
NB向后至第 N 个空白隔开的字串 |WORD| 的词尾 (Bachward)
Nge向后至第 N 个单词词尾
NgE向后至第 N 个空白隔开的字串 |WORD| 词尾
N)向前 N 个句子
N(向后 N 个句子
N}向前 N 个段落
N{向后 N 个段落
N]]向前 N 个小节,置于小节的开始
N[[向后 N 个小节,置于小节的开始
N][向前 N 个小 节,置于小节的末尾
N[]向后 N 个小 节,置于小节的末尾
N[(向后至 第 N 个未闭合的 ‘(‘
N[{向后至 第 N 个未闭合的 ‘{‘
N[m向后至 第 N 个方法 (method) 的开始 (用于 Java)
N[M向后至 第 N 个方法的结束 (Method) (用于 Java)
N])向前至 第 N 个未闭合的 ‘)’
N]}向前至 第 N 个未闭合的 ‘}’
N]m向前至 第 N 个方法 (method) 的开始 (用于 Java)
N]M向前至 第 N 个方法的结束 (Method) (用于 Java)
N[#向后至 第 N 个未闭合的 “#if” 或 “#else”
N]#向前至 第 N 个未闭合的 “#else” 或 “#endif”
N[*向后至 第 N 个注 释的开始 “/*”
N]*向前至 第 N 个注 释的结束 “*/”

查找模式

数值参数快捷键说明
N/{pattern}[/[offset]] <CR>向前查找第 N 次出现 {pattern} 的地方
N?{pattern}[?[offset]] <CR>向后查找第 N 次出现 {pattern} 的地方
N/<CR>向前重复上次查找
N?<CR>向后重复上次查找
Nn重复上次查找
NN相反方向重复上次查找
N*向前查找光标下的标识符
N#向后查找光标下的标识符
Ng*同 “*”,但也查找部分匹配
Ng#同 “*”,但也查找部分匹配
gd至光标下标识符的局部声明 (goto declaration)
gD至光标下标识符的全局声明 (goto Declaration)
| pattern| 查找 模 式中的特殊字符
含义magicnomagic
匹配任意单个字符.\.
匹配行首^^
匹配<EOL>$$
匹配单词开始\<\<
匹配单词结束\>\>
匹配单个标定范围中的字符[a-z]\[a-z]
匹配单个不在标定范围中的字符[^a-z]\[^a-z]
匹配一个标识符字符\i\i
同上但不包括数字\I\I
匹配一个关键字字符\k\k
同上但不包括数字\K\K
匹配一个文件名字符\f\f
同上但不包括数字\F\F
匹配一个可显示的字符\p\p
同上但不包括数字\P\P
匹配一个空白字符\s\s
匹配一个非空白字符\S\S
匹配 <Esc>\e\e
匹配 <Tab>\t\t
匹配 <CR>\r\r
匹配 <BS>\b\b
匹配 0 或多个前面的匹配原*\*
匹配 1 或多个前面的匹配原\+\+
匹配 0 或 1 个前面的匹配原\=\=
匹配 2 至 5 个前面的匹配原\{2,5}\{2,5}
隔开两种可替换的匹配||
组合模式为单个匹配原\(\)\(\)

位置标记和相关动作

数值参数快捷键说明
m{a-zA-Z}用标记 {a-zA-Z} 记录当前位置
‘{a-z}至当前文件中的标记{a-z}
‘{A-Z}至任何文件中的标记{A-Z}
‘{0-9}至 Vim 上次退出的位置
''至上次跳转之前的位置
'"至上次编辑此文件的位置
‘[至上次被操作或放置的文本的开始
‘]至上次被操作或放置的文本的结尾
‘<至 (前次) 可视区域的开始
‘>至 (前次) 可视区域的结尾
‘.至当前文件最后被改动的位置
'{a-zA-Z0-9[]’"<>.}同 ’ ,但同时移动至该行的第一个非空白字符
:marks列出活动的标记
NCTRL-O跳转到跳转表中第 N 个较早的位置
NCTRL-I跳转到跳转表中第 N 个较晚的位置
:ju[mps]列出跳转表

其他动作

数值参数快捷键说明
%找到本行中下一个括号、方括号、注释或"#if"/"#else"/"#endif"并移动至与其对称的位置
NH至窗口的第 N 行的第一个非空白字符处 (Home)
M至窗口的中间行的第一个非空白字符处 (Middle)
NL至窗口的第 N 行 (从下方算) 的第一个非空白字符处 (Last)
Ngo至缓冲区的第 N 个字节
:[range] go[to] [off]至缓冲区的第 [off]

使用标签

数值参数快捷键说明
:ta[g][!] {tag}跳转到标签 {tag}
:[count] ta[g][!]跳转到标签列表里第 [count] 个较新的标签
CTRL-]跳转到光标下的标签,除非文件被改动
:ts[elect][!] [tag]列出匹配的标签并选择其中一个跳转
:tj[ump][!] [tag]跳转到标签 [tag],当有多个匹配时从列表中选择
:lt[ag][!] [tag]跳转到标签 [tag] 并把匹配的标签加到位置列表
:tags显示标签列表
NCTRL-T跳转到标签列表中第 N 个较早的标签
:[count] po[p][!]跳转到标签列表中第 [count] 个较早的标签
:[count] tn[ext][!]跳转到向下第 [count] 个匹配的标签
:[count] tp[revious][!]跳转到向上第 [count] 个匹配的标签
[count] tr[ewind][!]跳转到第 [count] 个匹配的标签
:tl[ast][!]跳转到上次匹配的标签
:pt[ag] {tag}打开一个显示 {tag} 标签的预览窗口
CTRL-W}同 CTRL-] 但在预览窗口显示标签
:pts[elect]同 “:tselect” 但在预览窗口显示标签
:ptj[ump]同 “:tjump” 但在预览窗口显示标签
:pc[lose]关闭标签预览窗口
CTRL-Wz关闭标签预览窗口
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值