3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

vimをアップデートするスクリプト

Posted at

vimをアップデートしたい

 とあるパソコン詳しい友人に勧められてvimを使い始めて半年くらい経つ。
 最初は友人が作ったdotfilesのvimrcをまんま使っていたけど、少しづつ自分用にカスタマイズした。
 そしてある日友人に自分の設定を見せた。
 そして言われた。

「vimのバージョン古くね?」

 そう言われりゃそうだ。osのリポジトリからaptで入れてるんだから最新であるはずがない。だったらgithubから落としてコンパイルしよう。

vimコンパイル

 まずはvimのリポジトリ探そうって思ったら一瞬で見つかった。
vim/vim
 なるほど、ものすごく頻繁にアップデートされているようだ。
 まずはREADMEを熟読。ファイルをいくつか辿ってわかったことは、 /path/to/vimsource/src で

$ ./configure
$ make
$ sudo make install

するだけということ。ただしPythonとかを有効にするには、 ./configure のときにオプションが必要らしい。
 とりあえずやってみよう。

$ mkdir ~/github/
$ cd ~/github/
$ git clone https://github.com/vim/vim.git
$ cd ./vim/src/
$ ./configure --enable-multibyte \
    --enable-luainterp \
    --enable-perlinterp \
    --enable-pythoninterp \
    --enable-python3interp \
    --enable-rubyinterp \
    --enable-luainterp \
    --disable-gui
$ make
$ sudo make install

特にエラーとかも無くできた。コンパイルオプションは、1つ目の --enable-multibyte で日本語を表示出来るようにして、 --enable-*interp で各言語のインタプリタ(?)を有効化して、 --disable-gui でguiを無効化した。vimが最新。嬉しい。
 ひとつ問題がある。前述した通りvimはめっちゃ頻繁に更新される。できるだけ最新でいたいから頻繁にアップデートしたい。そうなるといちいちこのコマンドを実行するのはめんどくさい。
 よし、スクリプトにしてしまおう。

vim更新スクリプト

以下が完成形。

update-vim
#!/bin/bash
#インターネットに繋がるか確認
Exec=`nslookup github.com | grep 'timed out' | wc -l`
if [ ${Exec} -ne 0 ]; then
    echo "${Exec}[Error] No Internet Connection!"
    exit
fi
echo "[Info] Updating Repository"
cd ~/github/vim
git pull origin master
echo "[Info] Configuring"
cd ~/github/vim/src
make distclean
confop="--enable-multibyte "
confop="${confop}--enable-luainterp "
confop="${confop}--enable-perlinterp "
confop="${confop}--enable-pythoninterp "
confop="${confop}--enable-python3interp "
confop="${confop}--enable-rubyinterp "
confop="${confop}--enable-luainterp "
confop="${confop}--disable-gui"
./configure ${confop}
echo "[Info] Making"
make -j2
echo "[Info] Installing"
sudo make install
echo "[Info] Finished!"

 ~/github/vim にvimのリポジトリがあるのを前提としている。
'make -j2' となっているのはスレッド数を表しているから環境によって変える。
 あとはこれを ~/bin/update-vim に保存して、

$ chmod a+x ~/bin/update-vim

として、 ~/bin にパスを通してやれば完成!
次からは

$ update-vim

としてやればいい。
(sudoが使えない環境ではrootでログインして実行しなきゃだけど。)

さいごに...

 別の日に友人に
「vimの設定みせて」
って言って、バージョンを見たら自分より低かったから、
「vimのバージョン古くね?(ドヤッ)」
と言ってやった。

3
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?