Vimwiki 在 Vim 中缩写了 LaTeX 代码

LaTeX code was abbreviatedly displaied by Vimwiki in Vim

My GVim distribution on a Windows 8.1 machine has both vimwiki and Vim-Latex-Suite installed through Vundle

困扰我的是,当我执行以下操作时会出现以下显示(左侧):

  1. 打开一个*.wiki文件(从而输入filetype vimwiki一次);
  2. 在同一个 GVim 会话中,打开另一个 *.tex 文件。

请注意,几乎所有这些数学符号在左侧都不再可读。引用的代码段在通过新的 Gvim.exe 会话自行打开时正确显示(在右侧)。

对于这个具体案例,我的猜测是,Vim 不能:

  1. 正确识别并显示所有数学符号(例如下标显示为正方形);
  2. 正确地以全角显示数学符号。 (默认情况下,半角是默认值,这就是为什么那些 \phi\int 隐藏其所有正确部分的原因。)

这个 post 的目标不是 "display math symbols in Vim" 正确。太野了,LyX能应付得很好。 相反,我想知道

有什么建议吗?提前谢谢你:)

来自@Sato Katsura 的原始回答

这是 conceal 功能。它在 gVim 中工作得更好,前提是您使用具有所有相关符号的字体。您可以通过以下方式禁用它:

set conceallevel=0

Vimwiki 的更多详细信息

Vimwiki 根据 help file 的第 2100 行默认指定了 g:vimwiki_conceallevel=2。不幸的是,这个“默认值”是为所有缓冲区全局设置的。

具体解决方案:

  • 对于~\vimfiles\ftplugin\tex.vim,在末尾添加以下内容:

    setlocal conceallevel=0

  • 对于~\vimfiles\ftplugin\vimwiki.vim,在末尾添加以下内容:

    setlocal conceallevel=2

我遇到了同样的问题,是什么让我研究直到达到这个映射:

 nnoremap <Leader>c :let &cole=(&cole == 2) ? 0 : 2 <bar> echo 'conceallevel ' . &cole <CR>

它在 conceallevel=0conceallevel=2

之间切换