什么可能导致 Vim 中出现奇怪的字符?

什么可能导致 Vim 中出现奇怪的字符?

我在使用 NERD 树插件的 Vim 中遇到了一个非常奇怪的问题,如图所示,字符显示得非常奇怪。在 ahat, ~V 3/4 处应该是 |-。我已将 LANG 设置为 en_US,将 LC_ALL 设置为 en_US(在 Arch Linux 中),并使用 Anonymous Pro 字体,尽管切换字体没什么区别。

真奇怪

答案1

这是来自 scrooloose 的一句台词此主题修复:

let g:NERDTreeDirArrows=0

尝试将其放入你的.vimrc

(另见:相同答案)发布在 Stack Overflow 上

答案2

我已经解决了这个问题。我做了以下解决方法:

  • 编辑/etc/locale.genLC_ALL="en_US.UTF-8"LC_ALL="en_US"
  • locale-gen以 root身份运行
  • 跑了locale -a,它显示了en_US.UTF-8;然而,仍然locale显示,然后我记得我昨晚已经导出试图解决这个问题,所以我改变了我的和LC_ALLen_USLC_ALL.bashrcLANGLC_ALLen_US.UTF-8
  • 重新加载终端,运行gvim,成功!不过,奇怪的是,它现在使用的是三角形箭头字符,而不是方框字符。这让我觉得它可能对 ISO-8859 使用方框字符,对 UTF-8 使用三角形字符,这让我怀疑我以后在其他程序中可能会遇到问题。到时候我会修复它。

答案3

或许这不值得一试但对我来说似乎有效。

我改变了以下行NERDTree.vim

call s:initVariable("g:NERDTreeDirArrows", s:running_windows) 

(之前是!s:running_windows

现在我看不到任何花哨的+符号,但至少在 vim 中可以跳转目录。我在 solaris 上,我认为我没有 root 访问权限。

答案4

明确地向 .vimrc(vim 配置)中的下两个变量添加值解决了我的问题:

let g:NERDTreeDirArrowExpandable = '▸'
let g:NERDTreeDirArrowCollapsible = '▾'

这些应该是默认值,但由于某种原因,它们没有在 ubuntu/vim 上为我设置。

相关内容