簡體   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