如何在Vim中取消已添加的删除线效果?
取消Vim中已添加的删除线
你当前的配置是通过给每个非控制字符追加Unicode组合字符U+0336(删除线标记)来实现删除线效果。要取消这些行的删除线,只需移除文本中的U+0336字符即可,具体配置如下:
新增取消删除线的命令和函数
在你的.vimrc中添加以下内容:
command! -range -nargs=0 Unstrikethrough call s:RemoveStrikethrough(<line1>, <line2>) function! s:RemoveStrikethrough(line1, line2) execute a:line1.','.a:line2.'s/\%V\u0336//ge' endfunction
使用说明
- 选中需要取消删除线的行(或直接将光标定位在目标行),执行
:Unstrikethrough命令即可移除该行的删除线效果。 - 若想简化命令名,可将
Unstrikethrough改为Unstrike这类短名称,只需同步修改命令定义和调用时的名称即可。
原代码逻辑说明
你现有的Strikethrough命令通过调用s:CombineSelection函数,在选中范围(\%V)内的每个非控制字符后插入U+0336字符,以此实现视觉上的删除线效果。新增的Unstrikethrough命令则是反向操作,直接删除选中范围内所有的U+0336字符,恢复文本原貌。
内容的提问来源于stack exchange,提问作者Mark Scheck
相关产品推荐
相关产品推荐

