はじめに
この記事は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
が働いていないような気がしてきた.試しに.vimrc
にcall 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日本語入力をする