今回はDockerイメージから作成したCentos7のコンテナを用意しました.
環境整備はこちらのWebサイトに従いました.
Centos7にVimが入っていないことを確認します.
[root@64b0fdff7950 /]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (AltArch)
[root@64b0fdff7950 /]# vim
bash: vim: command not found
こちらのWebサイト(*1)を参考にvim8をインストールします.
[root@64b0fdff7950 ~]# yum install curl git make gcc ncurses-devel
Complete!
/usr/local/src/
にvim
をインストールします.
[root@64b0fdff7950 ~]# ls /usr/local/src/
[root@64b0fdff7950 ~]# cd /usr/local/src/
[root@64b0fdff7950 src]# git clone https://github.com/vim/vim.git
Cloning into 'vim'...
...
Resolving deltas: 100% (115143/115143), done.
[root@64b0fdff7950 src]# cd vim
*1のサイトでは./configure
のオプションでいろいろ設定されています.それぞれの意味を考え,調べました.
disable-selinux: selinuxを無効にするためのオプションだと考えられます.selinuxとは,このQiitaの記事によると,セキュリティホールを突かれてもファイルの読み書きを防ぐためのシステムのようです.セキュリティを守るために,今回は無効にしないでおきます.つまりこのオプションは取り除きます.
enable-cscope: cscopeを有効にするためのオプションだと考えられます.cscopeとは,このWebサイトによると,C言語のコードを解析するのに便利なツールのようです.いずれ利用するかもしれないので有効にしておきます.このオプションは利用します.
enable-fontset: fontsetを有効にするためのオプションだと考えられます.フォント関係は入れておいた方がのちのち便利だと思うので,このオプションは利用します.
enable-gpm: gpmを有効にするためのオプションだと考えられます.gpmとは,このWebサイトに
the gpm support (copy and paste from/to a terminal)
とあることから,ターミナルからコピーしたり,ターミナルへ貼り付けするための機能のようです.便利なので入れておきます.このオプションは利用します.
- enable-multibyte: 1バイトでは表現できない言語をサポートするようです(参考のWebページ).私はvimで日本語も使いたいので,このオプションは利用します.
- enable-rubyinterp: vimの機能をRubyで拡張させることができるらしく,その拡張をするためにはこのオプションをつける必要があるらしいです(参考のWebページ).Rubyで拡張させることはいまのところ考えていないので,このオプションは取り除きます.
- enable-xim: ximを有効にするためのオプションだと考えられます.このWebサイトによると,XIM(X input method) はXの国際化入力機構であるらしいです.日本語の入力に関わりそうなので,このオプションは利用します.
これらを踏まえて以下の通りに実行しました.
[root@64b0fdff7950 vim]# ./configure --enable-cscope --enable-fontset --enable-gpm --enable-multibyte --enable-xim
[root@64b0fdff7950 vim]# make
[root@64b0fdff7950 vim]# make install
[root@64b0fdff7950 vim]# vim -version
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Sep 10 2021 03:43:07)
Garbage after option argument: "-version"
More info with: "vim -h"
バージョン8のVimをインストールできました.