10.17.2020

vimのエンコードの問題

GVimでエンコードをcp932からutf-8に変更した。Windows10で。

gvimrcファイルとか_vimrcファイルで、

set enc=utf-8

set fenc=utf-8

とした。そうしたら起動するたび、終了するたびにviminfoのエラーで怒られた。

「viminfo: 不正な先頭文字です」

と言われる。C:\Users\[user name]\の下に_viminfoファイルがあって、それがエンコードを変えたときにたぶん変な文字になっちゃって、認識不可になったのだと思う。

この_viminfoにはレジスタとか検索とかコマンドの履歴が残っているので、意外と重要と思うけどそれがパアになってもいいならこのファイルをとにかく削除してもエラーはでなくなる。Vimを終了するとまた新しいのが生成される。

元の_viminfoを残しておくには、エラー元の部分を探して削除することが必要。でもエンコードを変えると元のファイルは文字化けしたままになるかも?別ファイルをVimで開いたときに:regとか参照はちゃんとできるみたい。文字化けするときはlatin1とかよく分からないエンコードになっていることがあって、これはエンコード認識に失敗したからということらしい(https://www-creators.com/archives/1486)。

エンコードは:set fencで確認できる(https://l-w-i.net/t/vim/encode_001.txt)。別のエンコードで開きたいときは

:e ++enc=[encoding]

とする。encodingにはutf-8, cp932, sjis, など。

utf-8にめでたくできても、日本語の場合Vimのメニューとかが文字化けしちゃう。これはhttp://sea-mountain.hatenablog.jp/entry/20100906/1283792259を参考にして、

source $VIMRUNTIME/delmenu.vim
set langmenu=ja_jp.utf-8
source $VIMRUNTIME/menu.vim

を_vimrcとか設定のファイルに書けば直る。すごい。


juliaファイル.jlをvimで編集するjulia-vim

juliaを勉強し始めた。

vimで編集したいので、調べたらjulia-vimというのがある。

vimにプラグインとしてインストールできた。

julia-vimのインストールのため、プラグインマネージャを使う必要があるみたい(自分はVundleを使った)。

詰まったところがあるので備忘録。自分はWindows10に入れた。

  1. まずgitをインストール
    以下のサイトを参考にした。
    https://eng-entrance.com/git-install
  2. Vundleのセットアップ(インストール?)
    https://github.com/VundleVim/Vundle.vim
    上記のページのとおり、gitを使って

    git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

    とする。git bashのコンソールでいける。
  3. _vimrcファイルに追加
    Program filesに入っているvimのフォルダの_vimrcファイルにテキストを追加する。
    https://github.com/VundleVim/Vundle.vim/wiki/Vundle-for-Windows
    これの「Modern Windows Gvim Install」のセクションに書いてある20行ぐらいのやつ。
    filetype off
    set shellslash
    set rtp+=~/vimfiles/bundle/Vundle.vim
    call vundle#begin('~/vimfiles/bundle')
    " let Vundle manage Vundle, required
    Plugin 'VundleVim/Vundle.vim'
    
    " All of your Plugins must be added before the following line
    call vundle#end()            " required
    filetype plugin indent on    " required
    " To ignore plugin indent changes, instead use:
    "filetype plugin on
    "
    " Brief help
    " :PluginList       - lists configured plugins
    " :PluginInstall    - installs plugins; append `!` to update or just :PluginUpdate
    " :PluginSearch foo - searches for foo; append `!` to refresh local cache
    " :PluginClean      - confirms removal of unused plugins; append `!` to auto-approve removal
    "
    " see :h vundle for more details or wiki for FAQ
    " Put your non-Plugin stuff after this line
  4. julia-vimをプラグインとしてインストール
    https://github.com/JuliaEditorSupport/julia-vim/blob/master/INSTALL.md
    このページを参考に。下の1行を_vimrcに追加する。ただし、上のVundleの追加文章のコメントアウトにある通り、call vundle#end()の前に追加する。後に追加すると動かない。
    Plugin 'JuliaEditorSupport/julia-vim'

最後にvim上で:PluginInstall!して完了。快適になるかな?