Termux上でvimをコンパイルできたけどプラグインとの問題が解決できない


はじめに

この記事はTokyo City University Advent Calendar 2019 8日目の記事だよ.

termuxって何?って人はググったりしてね.

前回のvimコンパイル!

permission deniedされてできなかった.
前回の記事はこちら

啓示

@m_nish 様からコメントをいただいたのでそれを元にうまくいくおまじないをかける
以下コメント欄に降ってきた啓示

やっぱり permission 関連でしょうか。。
Termux って使ったことないのですが、sudo make install ってできるんですか?
それか、自分の home ディレクトリにインストールするのもいいかもしれないですね。
./configure --features=huge --enable-multibyte --enable-perlinterp --prefix=${HOME}
でできるのではないかと思います。

もらったアドバイスにならって ./configure するときのインストール先を指定する.

termuxでvimをコンパイル ~perl編

教わったことをする

前回の記事では make をした時にpermission関係のエラーがでた.詳しい原因はまったくわからん.

なのでアドバイス通り./configure の時に make install する際のインストール先をhomeディレクトリにしてやる. --prefix でインストール先ディレクトリを指定できるらしいので

$cd .vim/vim/bin
$./configure --with-features=huge --enable-multibyte --enable-perlinterp --prefix=${HOME}  

と叩いてやる.この時typoしない(一敗).やや時間がかかるので気長に待つ.

処理が終わったら make をする.これは結構時間がかかるので気長に待つ.最後に make install で完成!!!!!!ホームディレクトリにbinディレクトリができてる!!!やったぁ!!!!!!!!!!

できたものを移す

これでvimの実行ファイルが晴れてできたわけだけど,このときvim --versionをしても-perlのままになっている.なぜなら作成された新しいvimはcom.termux/files/home/binに格納されているから.これをcom.termux/files/usr/binに移す.この作業はcpでやっちゃっていいかも[本当に?].

移せば完成です.vim --version | grep perlと叩いてやると

$ vim --version |grep perl
WARNING: linker: vim: unused DT entry: type 0x6ffffef5 arg 0x82ec
+channel           +insert_expand     +perl              -toolbar
Linking: gcc   -Wl,-E   -Wl,--as-needed -o vim        -lm -lncurses    -Wl,-E -I/data/data/com.termux/files/usr/include  -L/data/data/com.termux/files/usr/lib/perl5/5.28.2/arm-android/CORE -lperl -lm -ldl

+perlってなってる~~~~うれしい.
WARNING 以降に書かれている事は無視していいみたいなことを海外の記事で読んだ.+perlの下に書かれているのは何?

問題発生 -プライグインvim-clangとの関係

Cファイルを開こうとしたらエラーが出た.

ファイルを開くことはできるけど,補完とか自動インデントとかが働かなくなってた.
プラグインはtomlファイルに管理させているのでプラグインを一度消してもう一度コンパイルしてみた.

と思ったけどなんかエラーが直らないぞ?

解決されない問題の根本 ~deinが働かない

色々試しているうちにdeinが働いていないような気がしてきた.試しに.vimrccall dein#add('jiangmiao/auto-pairs)という様に書いてやると.


[dein] /data/data/com.termux/files/home/.cache/dein/repos/github.com/jiangmiao/auto-pairs                                                                                       [dein] Maybe wrong username or repository.                                                
[dein] Error installing plugins:
[dein]   auto-pairs
[dein] Please read the error message log with the :message command.
Command terminated

[dein] Vim(let):E484: Can't open file /data/data/com.termux/files/usr/tmp/vr7OHHg/1
[dein] function dein#install[1]..dein#install#_update[38]..<SNR>15_update_loop[5]..<SNR>15_install_async[9]..<SNR>15_done[7]..dein#install#_recache_runtimepath[6]..<SNR>15_clear_runtimepath[9]..dein#install#_rm, line 29
Press ENTER or type command to continue

Can't open file /data/data/com.termux/files/usr/tmp/vr7OHHg/1という文をよく見る気がする.

そのディレクトリは

$ pwd
/data/data/com.termux/files/usr/tmp
$ ls -a
.   ..

・・・・・・・?

Termux一生分からん

あとがき

都市大アドカレ二本目なのでした.途中まで書いておいていつかしっかり書こうと思ってた内容なのですが,「8日目空いてる誰か書いてくれ!」とのことで急遽アドカレ記事にした結果検証しきれてなさすぎです.

明日はらぴーと君のskkに関する記事です.ちなみに僕はtermuxでの日本語入力をskkでやってます.導入手順をqiitaにまとめたりもしたよ.
↓こちらを読んでね
Kindle fire上で動くtermuxのvimでskk日本語入力をする