Windows 7のGvimおよびVIMでUnicodeを入力できない


11

(g)Vimを使用して別の言語で入力したい。しかし、言語バー(デバナーガリ文字またはヒンディー文字)を使用して別の言語に切り替え、何かを入力すると、(g)vimが表示されます??? ??

私が試したこと:

write ++enc=utf-8 foo.txt  
set fileencoding=utf-8   
set enc=utf-8

情報:

  • GVimバージョン:7.4、およびその+ multi_byte。
  • デフォルトのvimrcファイルに変更はありません。

(g)vimで始めたところです。


5
フォントの事かもしれません。どのフォントを使用していますか?
muru

1
gvimには、7つのフォント(consola、2つのcourier、2つのlucida、fixedsys、およびterminal)がリストされています。私はそれらすべてを試しました。私のシステムはあまりにも他のフォントを持っていますが、gvimをディスプレイのみ7.ながら私も続く:stackoverflow.com/questions/3766204/vim-doesnt-support-unicodeが、まだ運を。
msinfo 2016

3
「別の言語」はかなり曖昧です。何語?研磨?ヘブライ語?中国人?クリンゴン?あいまいな言語を使用している場合は、それらのフォントがどれもその言語をサポートしていない可能性があります。
Martin Tournoij 2016

1
私の場合、GVim 7.4.800(またはその周辺)でUbuntu Monoフォントを使用してマラヤーラム語を試しています。サンプルテキストについては、Malayalam Wikipediaを参照してください。Linux(UbuntuとArch)では、ターミナルフォントとGVimフォントがUbuntu Monoに設定されているので、少しゆがんでいても、マラヤーラム語は表示されます。2番目のコメントで言及したmsinfoの他のフォントを試しました。
muru 2016年

1
Linuxでは、Pvigoが他のフォントからグリフを取得してすべての文字を表示できるため、gvimは必要な文字を表示できます。そのため、文字は他のテキストとは異なって見えます。xtermで同じことを試みると、単一のフォントが使用されるため、すべての文字が表示されません。Windowsでも同様のことが起こっているのではないかと思います。
jamessan 2016年

回答:


5

デフォルトのエンコーディングは次のようですlatin1

:set encoding?
  encoding=latin1

文字を入力するとき、Vimはそれらを入力文字セット(おそらくユニコード)からラテン1に変換しようとします。latin-1にはこれらの文字がないため、これは失敗します。したがって、疑問符です。

既存のファイル(メモ帳または他のプログラムで保存されたファイル)を開くと、テキストが文字化けするはずです。Vimがバイトを読み取って、ラテン1の文字セットに従って解釈し、ラテン1のセットに変換しないためです。

あなたはutf-8そのようなものを使いたいでしょう:

:set encoding=utf-8

その後、マラヤーラム語のスクリプトは機能するようです。

これは既存の疑問符を機能させないことに注意しください。これらは、実際にされている疑問符(文字に変換0x3f入力の上)。入力した内容を取り戻す方法はありません。これがこの質問の混乱の原因だと思います。

もご覧ください:help 'encoding'

補足として、フォントでサポートされていないグリフは通常、別個のグリフでレンダリングされます。これはフォントごとに異なりますが、通常は正方形のブロックまたは異なるスタイルの疑問符です。「実際の」疑問符とサポートされていないグリフとの違いを確認できg8ます。これにより、文字コードが表示されます。


1
デバナーガリ文字またはヒンディー文字を入力する必要があります。エンコーディングは以前はlatin1に設定されていましたが、提案に従ってutf-8に変更されました。しかし、それでもデーバナーガリー文字やヒンディー文字は表示されません。しかし、これらのボックスを(VIMでレンダリングしたように)VIMからブラウザーまたはNotepad ++にコピーすると、Unicode文字のように見えます。したがって、VIMは認識しますが、表示できません。
msinfo 2016年

1
@msinfoどのVimバージョンを使用していますか?7.4について言及しましたが、パッチレベルについては言及していませんか?vim.orgの7.4.1024を使用しました
Martin Tournoij 2016年

1
vi.stackexchange.com/questions/2466/…であなたの回答の1つから見つけようとしたので、パッチは適用されていないようです。Vim --versionはパッチ情報を表示しません。インストール後、プラグインやパッチを変更していません。
msinfo 2016年

4
@msinfo Vim 7.4は、ほぼ2年半前にリリースされました。新しいバージョンをインストールしてみてください。たぶんそれで十分でしょうか?
Martin Tournoij 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.