繁体   English   中英

输入超过指定列号的字符会触发vim中的autocmd事件吗?

[英]Is There event of autocmd in vim triggered by inputing character exceeding the specified column number?

输入超出指定列会触发vimautocmd事件吗? 我找不到我需要的活动。 如果事件不存在,我可以自定义autocmd事件吗? 我要在输入字符超过指定的列号时执行命令。

此命令:match Underlined /.\\%>81v/可以指定超过81的字符样式,现在我想运行命令而不是更改样式。

每当光标移动(由于键入,移动等)时,在插入模式下都会触发CursorMovedI事件。可以通过virtcol('.')查询当前屏幕列; col('.')函数返回字节索引 ,当存在制表符,全角字符或任何非ASCII字符时, 字节索引将有所不同。 因此,您可以通过以下方式触发自定义功能

:autocmd CursorMovedI * if virtcol('.') > 80 | ... | endif

但是,如果只是在某一列之后自动插入换行符之后,则内置该功能。请参见:help 'textwidth' 'wrapmargin' (或者'wrapmargin' )和:help fo-table 以下内容将在80列后中断文本:

:set textwidth=80 formatoptions+=t

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM