Debianのviでシンタックスハイライトを有効にする

Linux

はじめに

これまで、Debianではvim.tinyを使っていましたが、最近Ubuntuのviを使ったところ、文字に色が付いていました。
とても見易かったので、Debianでもサーバの各種の設定ファイルの文字に色を付けたいと思い調べました。
なお、Debianの vim-tiny では、シンタックスハイライト機能が無効になっています。

環境

- Debian 13
- vim 2:9.0.1378-2+deb12u2

vimのインストール

vim をインストールします。
vim のデフォルト設定ではシンタックスハイライトが有効になっていたので、このまま使います。

sudo apt install vim

vi がどこにリンクされているか確認します。

update-alternatives --display vi

vim.tinyにリンクされている場合は、以下のコマンドで /usr/bin/vim.basic を選択します。

sudo update-alternatives --config vi

TeraTerm Pro を使ったとき、右クリックで貼り付けできない

Debianのvimの標準設定では、TeraTerm Pro で右クリックを使った貼り付けができませんでした。
原因はvimの環境設定で mouse=a が有効になっているためでした。

これを解決するために、verbose set mouse? コマンドで mouse=a が設定されている場所を調べます。
vi の中でコマンドを実行する場合は、コロン「:」を入力してから、コマンドを入力します。

vim /tmp/test.txt

:verbose set mouse?

mouse=a
    Last set from /usr/share/vim/vim90/defaults.vim line 83

Debianの vim-basic では、/usr/share/vim/vim90/defaults.vim が最後に読み込まれ、mouse=a が設定されていることが分かりました。
サーバの設定ファイルの修正は sudo で行うので、mouse=a の修正はシステム全体に対して行います。

sudo vi /usr/share/vim/vim90/defaults.vim

set mouse=

set pastetoggle=<F2>

pastetoggle は、F2キーで paste モードの切り替えを行う設定です。
paste モードは、貼り付け時に自動インデントや展開を無効にし、長文や複数行のペーストで、vim が余計な操作をせずそのまま貼り付けます。
ただし、set paste を常時 ON にすると 自動インデントや色分けが効かなくなります。

設定ファイルの反映

vim の起動時に読み込まれます。

ユーザ毎の設定ファイル

~/.vimrc で各種設定を上書きできますが、今回は設定しません。

Comments