GVimでのロシア語サポートのセットアップ(Windows)





こんにちは、Habr!



Windows 7でGVimにロシア語のサポートを追加した経験をコミュニティと共有したいと思います。GVimは非常に強力なテキストエディターですが、微調整を行わない現在のWindows実装では、LinuxまたはMacVim用のGVimと比べていアヒルのように見えます。



この記事では何が起こりますか? GVimのWindowsバージョンでのUnicodeのローカライズの修正、キーボードレイアウトの切り替えの構成、スペルチェックの有効化。 Vimでの作業の基本を所有していることを前提としています。 ハブに関するロシア語のサポートのトピックに関する記事が既にありますが、それはまだ有用ですが、現時点では少し時代遅れです。



原則として、GVimバージョンのWindowsインターフェースのロシア語はそのまま使用できますが、わずかなニュアンスがあります。Unicodeが設定されていると、エディターはメッセージとメニューにキリル文字を表示しません。ウェルカムプログラムの「yat」。 そして、これは私たちの時代であり、大多数のプログラムとWindowsの標準のメモ帳でさえ、デフォルトでUnicodeテキストで動作します! ネットワークには、この問題を解決する方法に関するガイドラインがないだけであるため、状況は悪化しています。 美しい踊りを踊り、新しい一歩ごとに大声で吹く美しい少女のように。



この誤解を修正してください!



GVimインターフェースでのロシア語の表示の修正



最初に、ロシア語の内部メッセージの表示を修正します(ウェルカム画面のテキスト、情報メッセージ、エラーメッセージ)。





(UTF-8に切り替えると、すぐに使える素晴らしいGVim)



ロシア語のpoファイル (utlバージョン)からvim.moファイルを作成します (多言語対応のGNU gettextファイル形式)。 Windowsでは、無料のPoeditプログラムを使用してmoファイルを作成しました。 作成したmoファイルをフォルダー$ VIMRUNTIME / lang / ru_RU.UTF-8 / LC_MESSAGESに配置します。 ru_RU.UTF-8フォルダーとLC_MESSAGESフォルダーがない場合(デフォルトでは、GVimのWindowsバージョンにはありません)、作成します。 ファイルの作成と編集が面倒な場合は、次をダウンロードできます。 バージョン7.4の mo-file、バージョン7.3のmo-fileメニューローカライズファイル 。 これで、UTF-8をサポートするために必要なファイルがすべて揃いました。



次に、メニューを処理する必要があります。 合理的な疑問が生じます:なぜ正しいmoファイルでメニューが修正されないのですか? すべてが非常に簡単です-GVimのメニューはプラグインを使用して実装されているため、エンコードを修正するには、ランタイムファイルを修正する必要があります。 $ VIMRUNTIME / langフォルダーに移動して、menu_ru_ru.vimファイルの複製を作成し、その名前をmenu_ru_ru.utf-8.vimに変更し、20行目をコメント化または削除します。



scriptencoding utf-8
      
      







注意深い読者は、ファイルを検索するときに、同様のファイル、つまりmenu_ru.utf-8.vim(「ru」なし)があることに気付くでしょう。 GVimはデフォルトで(Windows 7で)それを使用し、それを修正したら、必要に応じてcp1251に戻るので、触れません。「krakozyabry」を取得します。



問題は小さいままです。システムでLANG環境変数を設定する必要があります。 新しい変数を作成するのに複雑なことはありませんが、念のため、指示を出します。 Win + Breakシステム設定に移動->追加のシステムパラメータ->詳細設定->環境変数->作成... LANG変数の名前を入力します。値はru_RU.UTF-8です。

何らかの理由で環境変数を作成できない場合は、_vimrcに複数の行を追加できます。



 "       lan mes ru_RU.UTF-8 "     source $VIMRUNTIME/delmenu.vim set langmenu=ru_RU.UTF-8 source $VIMRUNTIME/menu.vim
      
      







ユニコードをまだ有効にしていない場合は、今すぐ有効にしてください。 _vimrcを開き、行セットencoding = utf-8を追加します。 これで、UTF-8がインストールされた状態でGVIMを起動すると、すべてのメッセージが通常のロシア語で表示されます。





(修正後のグレートで恐ろしいGVim)



GVimでのレイアウト切り替えの構成



なぜレイアウトを切り替えて、お気に入りのCtrl + Shift / Alt + Shiftを放棄するのですか? 答えは簡単です-それは便利ではありません。



簡単な例:Alt + Shiftをクリックした後、GVimでロシア語で何かを書くと、前の段落の最初に突然エラーが表示されます。 この場合、「ESC」と「{」を押して最後の段落の先頭に移動して修正する必要がありますが、ロシア語のレイアウトがオンになっているため、これは機能しません。中括弧の代わりにエディターにソリッド文字を送信します つまり、挿入モードを終了した後、標準のエディターコマンドが機能するためには、英語のレイアウトに戻す必要があります。 GVimは、この不都合を回避するために独自のレイアウト切り替えメカニズムを提供します。 有効にするには、_vimrcに次の行を追加します。



 "     set keymap=russian-jcukenwin set iminsert=0 set imsearch=0 highlight lCursor guifg=NONE guibg=Cyan
      
      







変更後、Ctrl + ^を押すとレイアウトが切り替わり、ロシア語の入力モードではカーソルが青く点灯します。 (各チームが行うことの説明については、冒頭で言及した記事を参照してください





(ロシア語入力モードでGVimを調整)



また最近では、いくつかの言語での作業を簡素化できるすばらしいプラグインが登場しました。



GVimでスペルチェッカーを構成する



次のコマンドを使用して、スペルチェックを有効にします。



 :setlocal spell spelllang=ru_ru,en_us
      
      







インターネットからの最初の起動時に、必要なすべての辞書がダウンロードされ、ダウンロード後、スペルチェックがすぐにオンになります。







以前は、「」を含む単語を正しくチェックするには、ru_yo辞書を追加インストールする必要がありましたが、現在はru_ruだけで十分です。 しかし、ru_yoを接続すると、「」が「e」に置き換えられた単語に青の下線が引かれます。







次のコマンドを使用して、スペルチェックを無効にします。



 :setlocal spell spelllang=
      
      







出来上がり! GVimでロシア語を完全にサポートできるようになりました。



この記事が理解しやすく、誰かに役立つことを願っています。



PSコメントはありませんが、GVimのWindowsバージョンをデフォルトのcp1251からutf-8に転送する必要があるというバグを投稿しました。 今後のVim 7.4では、UTF-8が正当な位置を占めると思います。



PPS誰かが私のイラストを気に入ってくれたなら、それを受け取ることができます(cc-by-sa 3.0ライセンス)。



All Articles