Q
:执行当前选择的宏
<A-q>
:切换宏槽位
cq
:编辑当前槽位的宏
yq
:复制当前槽位的宏
注:本配置仅使用了"u", "i", "o"三个槽位,如果需要更多槽位可以自行配置slot
项。
配置:
推荐度:★★★★
主页:https://github.com/chrisgrieser/nvim-various-textobjs
简介:为neovim新增很多textobjects,它们可以丰富你的快捷键选中、复制、修改等操作的体验。
使用方式:快捷键使用(以选中功能"v"来举例,可以替换为"c"(删除并修改)、"d"(删除)、"y"复制等)(i
可以替换为a
,i
表示"inner",a
表示"outer",如va}
会选中包括}
本身的内容,而vi}
则不会)
viS
:选中当前光标下的子word(如VimEnter
,我们使用viw
会选中整个VimEnter
,但viS
只会选中Enter
或Vim
)
vii
:选中当前相同缩进的所有行
vR
:选中当前相同缩进往后剩余的行
v%
:选中当前光标下对应的括号结束位置
vr
:选中剩余的段落
vgG
:选中整个文件
v_
:选中整行有字符的部分(除去空白字符)
viv
:选中key-value的value部分
vik
:选中key-value的key部分
vL
:选中URL
vin
:选中数字部分
v!
:选中诊断部分(需要LSP)
vil
:选中markdown的链接
viC
:选中markdown的代码块部分
vic
:选中css选择器
vi/
:选中javascript的正则表达式pattern
viD
:选中双中括号内容[[]]
注:可以修改lookForwardLines
的数量来改变我们使用textobjects时以当前光标为起点查找的行数。
配置:
推荐度:★★★★
主页:https://github.com/nvim-treesitter/nvim-treesitter-textobjects
简介:基于nvim-treesitter的textobjects,可以帮你选中class、function等语法内容
使用方式:快捷键使用,类似于nvim-various-textobjs(以选中模式v
举例)
选择
vaf
:选中当前函数
vac
:选中当前类内容
vas
:选中当前scope
vad
:选中当前条件(if..else)
跳转
]m
:跳到下一个函数的开始处
]]
:跳到下一个类的开始处
]s
:跳到下一个scope的开始处
]z
:跳到下一个fold的开始处
]M
:跳到下一个函数的结尾处
][
:跳到下一个类的结尾处
[m
:跳到上一个函数的开始处
[[
:跳到上一个类的开始处
[M
:跳到上一个函数的结尾处
[]
:跳到上一个类的结尾处
]d
:跳到下一个条件
[d
:跳到上一个条件
注:更多配置和用法见Github主页
配置:
推荐度:★★★
主页:https://github.com/RRethy/nvim-treesitter-textsubjects
简介:根据光标位置自动决定要选中什么textobject
使用方式:快捷键使用(以v选中模式举例)
v.
:根据光标位置,智能选择
v,
:选中上一次选中的范围
v;
:选中容器外围
vi;
:选中容器内
注:在某些情况下貌似有点卡,可能是因为nvim-treesitter的树比较长的缘故,但是小文件还是很快的
广告
X 关闭
广告
X 关闭