主夫ときどきプログラマ

データベース、Webエンジニアリング、コミュニティ、etc

MacBookAir11 mid 2011にUbuntu18.04をいれてつかう: Vim設定

Ubuntuのインストールは完了したものの、日本語環境とVimの設定をしないと使い勝手がいまいちなのでそのあたりをいじって使えるようにする。 前回のインストール周りの話はこちら。

masayuki14.hatenablog.com

CapsLockキーをControlキーに変える

US配列なのでCapsLockキーをControlキーに変えたい。Macの時はこの2つのキーを入れ替えたけど、UbuntuではCapsLockをControlに変えるだけのほうが簡単そうだった。CapsLockキーが使えなくなるけど、困らないのでそれでよい。キーボードの設定が /etc/default/keyboard にあるのでそこに設定を追加すれば良い。

$ cat /etc/default/keyboard 
XKBLAYOUT=us
XKBVARIANT=mac
BACKSPACE=guess

ここに

XKBOPTIONS="ctrl:nocaps"

これを追加して、再起動すれば反映される。インストール時のキーボード選択を間違えた場合もここで設定が可能。

キーボードの入力のIMシステムをFcitxに変える

これは後述するVimの設定絡みで必要になるもので、デフォルトでは iBus らしいのだけど、それだと都合が悪いので Fcitxに変える。 日本語の変換にはMozcがデフォルトで入っているので Fcitx + Mozc という組み合わせで日本語入力環境が提供されることになる。

fcitxとfcitx-mozcをインストールして、不要になるibusを削除する

$ sudo apt install fcitx fcitx-mozc -y

$ sudo apt purge ibus -y

インストール後に、言語サポートの設定で日本語のインストールとIMシステムでFictxを選び、Fcitx設定で好みのキーバインドを設定すればOK

Ubuntu 19.10の日本語入力をfcitx-mozcにする – 二代目俺のメモ

Ubuntu Unity 18.04 その13 - Fcitx + Mozcをインストールするには・日本語入力環境の変更 - kledgeb

この2つの記事がとても参考になった。

VimでEscしたときに日本語入力を自動で英字入力に変える

ぼくはエディタにVimを使うんですが、これを使う上で インサートモードから抜けたら自動で英字入力になる っていう機能は必須なんですよね。 これはデフォルトの機能では用意されてなくて、何らかのツールを使って実現する必要がある。 Linuxだと先にインストールしたFcitxがIMシステムとして使われていれば、VimScriptを使って設定が出来るとのこと。

まずは、この記事で紹介されているVimScriptとPythonスクリプトをダウンロードして、プラグインとして設置する。

www.kaoriya.net

とりあえずコマンドでも設置できる。

$ cd ~/.vim/plugin

$ curl -o fcitx-py.vim 'https://raw.githubusercontent.com/koron/imcsc-vim/master/fcitx-python/plugin/fcitx-py.vim'

$ curl -o fcitx-py.py 'https://raw.githubusercontent.com/koron/imcsc-vim/master/fcitx-python/plugin/fcitx-py.py'

これらスクリプトVimプラグインとして利用出来るので、あとは .vimrc に以下のように設定すればインサートモードでEscした時に英字入力になってくれる。

inoremap <ESC> <ESC>:set iminsert=0<CR>

ただ、いまんとこターミナルから起動するVimだとちゃんと動くけど、GVimだと動かない。そのうちなんとかしよう。

最低限の設定が終わった。

あとは tmux git zsh あたりをインストールしたら大概のことはできそうな気がした。各種コミュニケーションツールとは断絶されているPCなので、執筆専用機として当分は使う予定。 執筆終えたらMySQL8.0のソースビルドとかデバッグビルドとかで動かしてみたいと思っているが、どうやったら出来るかは今んとこさっぱりわからないよね。