admin 管理员组

文章数量: 887021

为了摆脱鼠标,高效准确的移动光标是首要的。下面总结移动指令。

上下左右

位置按键备注
k
j
h
i

可以前加数字,表示移动的倍数。例如,"10j"表示下移动10行。

位置按键备注
首行gg
末行G
第{n}行{n}G、{n}gg、:{n}ctrl-g查看当前位置
文件{n}%处的行{n}%
行首0
行尾$
行内第一个非空字符-

屏幕滚动

位置按键备注
下一页ctrl-f
上一页ctrl-b
下半页ctrl-d
上半页ctrl-u
下一行ctrl-e
上一行ctrl-y
当前页顶部HHead
当前页中部MMedium
当前页底部LLast
当前行滚到屏幕顶部zt
当前行滚到屏幕底部zb
当前行滚到屏幕中部zz

单词

位置按键备注
下一词首w
下一词首(含符号)W
上一词首b
上一词首(含符号)B
下一词尾e
下一词尾(含符号)E
上一词尾ge
下一词尾gE

历史记录

位置按键
上次位置ctrl-o
下次位置ctrl-i

搜索

搜索是最快速的跳转。

位置按键备注下一个上一个
下个{char}f{char};,
上个{char}F{char};,
下个{char}前t{char};,
上个{char}前T{char};,
下个{string}/{string}正则表达式nN
上个{string}?{string}正则表达式nN

mark

设置标签:m{mark}
查看标签::marks
跳转到标签:`{mark}

Vim常用自动创建的位置标志有:

位置标签名备注
上次跳转位置`
上次修改位置.
上次修改位置开头[
上次修改位结尾]

跳转

位置按键例子
关键字定义处ctrl+]
括号匹配处%

折叠

Vim有 6 种折叠模式:

  • manual 手工定义折叠
  • indent 更多的缩进表示更高级别的折叠
  • expr 用表达式来定义折叠
  • syntax 用语法高亮来定义折叠
  • diff 对没有更改的文本进行折叠
  • marker 对文中的标志折叠

在.vimrc里增加set fdm=indent,即开启自动折叠。

常用操作为:

操作按键例子
关闭所有折叠zm
展开所有折叠zr
创建折叠zfzf% 、zf56G
关闭折叠zc
嵌套关闭折叠zC
展开折叠zo
嵌套展开折叠zO
下一个折叠zj
上一个折叠zk

EasyMotion插件

Vim官网上评级为life changing的插件,能实现跨越多行的精准跳转。

使用方法:在原有的跳转指令前加{leader}{leader}键,{leader}默认为反斜杠\

例如,输入\\w,效果如下:

输入位置对应的字母即可跳转过去。太帅了。

小结

总结了Vim常用移动和跳转指令,及Easymotion插件。

本文标签: 跳转 编辑器 学习笔记 文本 vim