Vim(有或没有插件 - 我不在乎)是否支持删除线文字?我发现自己在其中保留了一份“TO-DO”的运行列表,并且希望能够通过删除文本“交叉”完成我已完成的项目。
谢谢!
答案 0 :(得分:19)
如果您正在使用Unicode文本,则可以使用组合字符来实现此目的。以下文章描述了如何在gvim中实现这一目标:
您需要确保字体gvim正在使用支持相应的字符,在Windows Consolas
和Courier New
似乎正确处理此问题,但大多数其他人没有。
答案 1 :(得分:7)
为了突出显示更简单的解决方案,我将使用Vim自定义语法突出显示规则,例如,标记为这样的文本:
~~ text ~~
以不同的颜色显示(例如,如果您有深色背景,则为较暗的文本颜色,或者为深色反色)。 这将是,在vimrc中:
au BufRead,BufNewFile *.txt syntax match StrikeoutMatch /\~\~.*\~\~/
hi def StrikeoutColor ctermbg=darkblue ctermfg=black guibg=darkblue guifg=blue
hi link StrikeoutMatch StrikeoutColor
(其中au命令仅用于将规则应用于filetype .txt文件)
答案 2 :(得分:2)
它与终端中的unicode vim完美配合。
把它放在我的vim vundle文件中:
https://github.com/crux/crux-vimrc/blob/master/plugin/unicode.vim
使用可视模式键映射用于下划线和删除线。
答案 3 :(得分:2)
您可以通过将unicode“long strike overlay combined character”(0336)附加到角色来创建(单个)删除线字符。例如,要创建删除线“Z”,请输入(在输入模式下):
Z^Vu0336
(其中^ V是CTRL-V)。
您可以使用:s(替换)来删除一堆字符,例如,删除当前行:
:s/./&^Vu0336/g
维基百科链接:strikethrough和combining chaaracter。
答案 4 :(得分:0)
有一个patch pending,以便在gui中完成这项工作。不幸的是,这个目前已经在todo列表中被隐藏了,所以它将需要我,直到它将由Bram应用。
答案 5 :(得分:0)
你可以把它放在你的.vimrc
中 map _ a<C-V>u0336<Esc><Space>
然后下划线字符将&#34; strikout-ize&#34;光标下的任何内容,类似于〜(代字号)如何改变大小写。
它的工作原理如下:
a
- 开始在光标下的字符后追加
<C-V>u0336
(代表Control-V后跟u0336) - strikout叠加组合字符
<Esc>
- 存在附加模式
<Space>
- 使光标前进到三角形字符
Vim为下划线(_)字符赋予另一个含义(请参阅:help _),因此您可能想要选择另一个字符(或多个字符的序列)。
答案 6 :(得分:-2)
答案 7 :(得分:-5)
如果您在终端下使用Vim,请不要。
- 醇>
突出显示普通终端的参数
*bold* *underline* *undercurl* *inverse* *italic* *standout*
term = {attr-list} attr-list * highlight-term * E418 attr-list是逗号分隔的列表(没有空格) 以下项目(以任何顺序): 胆大 强调 undercurl并不总是可用 相反 与反向相反 斜体 站出来 没有使用任何属性(用于重置它)
请注意,此处可以使用“粗体”并使用粗体字体。他们 有同样的效果。 “undercurl”是一个卷曲的下划线。当“undercurl”不可能时 然后使用“下划线”。一般来说,“undercurl”仅适用于 GUI。颜色设置为| highlight-guisp |。 〜
但是,在GUI下,您可以这样做。在'guifont'
下,我们有以下内容:
For the Win32 GUI *E244* *E245* - takes these options in the font name: hXX - height is XX (points, can be floating-point) wXX - width is XX (points, can be floating-point) b - bold i - italic u - underline s - strikeout cXX - character set XX. Valid charsets are: ANSI, ARABIC, BALTIC, CHINESEBIG5, DEFAULT, EASTEUROPE, GB2312, GREEK, HANGEUL, HEBREW, JOHAB, MAC, OEM, RUSSIAN, SHIFTJIS, SYMBOL, THAI, TURKISH, VIETNAMESE ANSI and BALTIC. Normally you would use "cDEFAULT". Use a ':' to separate the options. - A '_' can be used in the place of a space, so you don't need to use backslashes to escape the spaces. - Examples: > :set guifont=courier_new:h12:w5:b:cRUSSIAN :set guifont=Andale_Mono:h7.5:w4.5