web-dev-qa-db-ja.com

Vimで奇妙な文字が発生する原因は何ですか?

VimでNERDツリープラグインを使用していると、この非常に奇妙な問題が発生します。写真でわかるように、文字が非常に奇妙に表示されています。アハットがある場合は、〜V 3/4にする必要があります|-。 LANGをen_USに、LC_ALLをen_US(Arch Linuxの場合)に設定し、フォントを切り替えても違いはありませんが、Anonymous Proフォントを使用しています。

real strange

13
Tanner

私は問題を解決しました。それを解決するために私がしたこと:

  • /etc/locale.genではなくLC_ALL="en_US.UTF-8"LC_ALL="en_US"に編集しました
  • Rootとしてlocale-genを実行しました
  • locale -aを実行したところ、en_US.UTF-8が表示されました。しかし、localeLC_ALLがまだen_USであることを示し、昨夜LC_ALL.bashrcをエクスポートしてこれを修正しようとしていたので、変更しました私のLANGLC_ALLからen_US.UTF-8
  • ターミナルをリロードし、gvimを実行しました、成功しました!奇妙なことに、ボックスの代わりに三角形の矢印文字を使用しています。 ISO-8859のボックスとUTF-8の三角形を使用している可能性があるため、他のプログラムで問題が発生する可能性があると思われます。それに関しては、修正します。
6
Tanner

this thread のscroolooseからのこの1つのライナーはそれを修正しました:

let g:NERDTreeDirArrows=0

.vimrcに入れてみてください

(参照:同じ答え ここでスタックオーバーフローに投稿

16
Skye Giordano

多分これはハックする価値はありませんが、私にとってはうまくいったようです。

NERDTree.vimの行を変更しました:

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

(以前は!s:running_windowsでした)

今、私は空想的な+シンボルを表示していませんが、少なくともディレクトリのジャンプはvim内から機能します。私はソラリスを利用していて、ルートアクセス権がないと思います。

3
Guru

.vimrc(vim config)の次の2つの変数に値を明示的に追加すると、問題が解決しました。

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

これらはデフォルト値であるはずですが、何らかの理由でubuntu/vimで設定されていません。

1
mrki

私の場合、問題はロケールの問題に関連していました。解決:

  1. 設定値:

    lC_ALL = "en_US.UTF-8"をエクスポートします

  2. Vimを実行します。

    vim

ここでロケールの問題の詳細を参照してください:

LC_CTYPEをデフォルトのロケールに設定できません:そのようなファイルまたはディレクトリはありません

1
0x8BADF00D

Vimrcがguicursorを変更している場合は、その行を削除してみてください。これらを引き起こす/防ぐと思われる他の変数は次のとおりです。

set guicursor= vimrc内
set t_Co= vimrc内
export TERM=xterm-256colorシェル

1
csghone

私の変更は、ブール否定(文字!)を削除することでした。ここにgit diffがあります:

〜/ .vim/plugged/nerdtree/plugin] $ git diff NERD_tree.vim 
 diff --git a/plugin/NERD_tree.vim b/plugin/NERD_tree.vim 
インデックスbbcc55f..6342b6c 100644 
 --- a/plugin/NERD_tree.vim 
 +++ b/plugin/NERD_tree.vim 
 @@ -66,7 +66、 7 @@ s:initVariable( "g:NERDTreeShowHidden"、0)を呼び出します。
 s:initVariable( "g:NERDTreeShowLineNumbers"、0)を呼び出します。 1)
 
-if!nerdtree#runningWindows()
 + if nerdtree#runningWindows()
 call s:initVariable( "g:NERDTreeDirArrowExpandable"、 "- -junk1-here-")
 s:initVariable(" g:NERDTreeDirArrowCollapsible "、" --junk2-here-")
 else 
を呼び出します
1
Sergei G