是否存在将光标移动限制在该行最左边的非空白字符的vim设置?
我正在编写一个向缓冲区输出一些信息的插件。所有文本左边都会有很多空格填充,但所有行都将缩进相同的内容。我想阻止用户在没有文本的填充区域上移动光标。
例如:
| Lorem ipsum
| Lorem ipsum
| Lorem ipsum
| Lorem ipsum
' |'表示vim边框,边框和文本之间是空格。永远不要在这些空格上移动光标,并且应该停在' L'。
答案 0 :(得分:1)
您可以使用CursorMoved
和:normal!
augroup BossyMotions
autocmd!
autocmd CursorMoved <buffer> if strpart(getline('.'), 0, col('.')) =~ '^\s*$' | execute 'normal! ^' | endif
augroup END
如需更多帮助,请参阅:
:h :normal
:h :autocmd
:h :autocmd-buflocal
:h :augroup
:h CursorMoved
:h :exe
:h strpart()