最近、Luaの解釈を必要とするプラグインを使用するために、ソースからVimをビルドする必要がありました。これは私のラップトップではうまく機能しましたが、私のタワー型コンピューターにはいくつかの問題があります。 Vimを実行するたびに、次のメッセージを受け取ります。
Error detected while processing /home/XXXXXX/.vim/vimrc:
line 55:
E484: Can't open file /usr/share/vim/vim74/syntax/syntax.vim
当然のことながら、Vimは構文の強調表示に失敗し、テキストの編集時に他の多くのエラーをスローします。
いくつかの調査を行った結果、前述のディレクトリではなく、syntax.vimが実際に/usr/local/share/vim/vim74/syntax/syntax.vim
にあることがわかります。どうすれば解決できますか?
Vimはcheckinstall
を使用してインストールされました。コンパイルするために、コマンドを実行しました:
./configure --with-features=huge --enable-cscope --enable-pythoninterp=yes --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu --enable-multibyte --enable-fontset --disable-gui --disable-netbeans --enable-luainterp=yes --with-lua-prefix=/usr/include/lua5.1 --enable-largefile
make VIMRUNTIMEDIR=/usr/share/vim/vim74
Vimのあるべき場所へのシンボリックリンクを作成できますか?つまり.
Sudo ln -s /usr/local/share/vim/vim74/syntax/syntax.vim /usr/share/vim/vim74/syntax/syntax.vim
(このターゲットディレクトリが存在しない場合は、代わりに上位ディレクトリをリンクします。)
問題はmakeコマンドです。
make VIMRUNTIMEDIR=/usr/share/vim/vim74
質問から、syntax.vim
は実際には/usr/local/share/vim/vim74
にあるため、代わりに次のものを使用する必要があります。
make VIMRUNTIMEDIR=/usr/local/share/vim/vim74
一般に、VIMRUNTIMEDIR
で使用されるmake
変数は、prefix
スクリプトで使用されるconfigure
変数と一致している必要があります。
Bashの実行:
export VIMRUNTIME=/usr/share/vim/vim73
次に、vimを実行します。
:syntax on
(私の場合、vimは/usr/share/vim/vim74
を探していましたが、/usr/local/share/...
はありませんでした。AWSEC2 Ubuntuを使用していました。)
また、VIMRUNTIME
ではなく、VIMRUNTIMEDIR
である必要がありました。
永続的にするために、上記のexport
行をシェルの個人用初期化ファイルに配置できます。 ~/.bash_profile
。