如何在Vim/Neovim中让数字前缀>>命令缩进对应次数?
Vim中让数字前缀控制当前行缩进次数的方法
可以通过Vim的表达式映射实现通用解决方案,不用为每个数字单独配置映射:
在你的vim配置文件(比如
~/.vimrc或~/.config/nvim/init.vim)中添加以下映射:noremap <expr> >> v:count ? '>>' . repeat('.', v:count - 1) : '>>'原理说明:
<expr>标记这是一个表达式映射,右侧代码会被计算为实际执行的命令v:count对应你输入的数字前缀(比如输入5>>时,v:count的值就是5)- 当存在数字前缀时,先执行一次
>>缩进当前行,再重复v:count-1次.(.代表重复上一次操作),最终实现当前行被缩进v:count次 - 没有数字前缀时,保持默认的
>>行为
如果需要同时适配反缩进操作
<<,添加对应映射即可:noremap <expr> << v:count ? '<<' . repeat('.', v:count - 1) : '<<'
配置完成后,输入5>>就会把当前行缩进5次,输入3>>则缩进3次,完全满足需求。
内容的提问来源于stack exchange,提问作者Axlefublr
相关产品推荐
相关产品推荐

