Vimをやってみようと思ってもどこから始めたらいいのかよくわからない方もいらっしゃるかもしれません。
Vimの使い手は皆それぞれ設定を工夫して俺俺のやり方でやっているようです。まずは、誰かの設定ファイルを拝借して形から入ってみてもいいんじゃないかと考えています。
Dockerを使えば仮想マシン上でいろんな方々の設定ファイルを試してみることができますし、また失敗を気にせずに気軽にVimを楽しむことができます。
目標
- Vimをあまり使ったことがない人が、Dockerコンテナのなかで安心してVimを楽しめるようにする。
- 人の設定ファイルを拝借してどんなことをやってるのか試してみる。
要件
多分Dockerさえインストールされていれば大丈夫と思います。
$ which docker
/usr/local/bin/docker
$ docker --version
Docker version 20.10.22, build 3a2c30b
手元の環境
- Apple M1 Pro
- macOS 12.6
- Docker 20.10.22
- iterm2
もちろん自信のある方はDockerなしでご自身のPCに直接Vimをインストールして設定をしても大丈夫です。
.vimrc ファイル
Vimは何も設定しなくても使えるのですが、ほとんどの人が設定ファイルを作って自分の開発スタイルに適した環境を作っているようです。また、見た目や機能がかっこいいとそれがVimを使うモチベーションにもなります。
一番簡単な方法は ~/.vimrc
ファイルを作りそこに設定を記述することです。
大きく分けて3つのことを記述します。
- 利用したいプラグイン(第三者コード)
- Vimの設定
- 俺俺キーマップ(ショートカット)
Vim script
Vimに組み込まれたスクリプト言語です。~/.vimrc
ファイルは基本的にVim scriptで書くのですが、Vim9から新しい言語Vim9scriptが導入されたようなので今後どうなるのかは不明です。また、NeovimではLuaが使用されることが多いようです。
Ubuntuコンテナを起動
PCのターミナルから以下のコマンドでUbuntuコンテナを起動します。docker run
コマンドにオプションをつけて仮想端末で対話できる(-it
)使い捨てのコンテナ(--rm
)にしてます。
docker run -it --rm ubuntu bash
起動コマンドがbash
なので、起動後すぐにbash
のシェルが開きます。
cd
を打ちホームディレクトリに入ります。
cd
pwd
を打ち、現行ディレクトリが/root
であることを確認してください。
pwd
パッケージをインストール
Ubuntuコンテナの中で最低限必要なパッケージをゲットします。
vim
-
curl
- ファイルをウエブからダウンロードするため -
git
-git clone
コマンドでコードをGithubからダウンロードするため
apt update
apt install curl git vim
何かコードをダウンロード
ホームディレクトリが空では寂しいのでなにかをgit clone
すると良いと思います。
ls -al
ここでは闘魂プロジェクト(TORIFUKUKaiou/toukon)をダウンロードします。
git clone https://github.com/TORIFUKUKaiou/toukon
初期設定のVimで遊んでみる
vim
コマンドを打ちVimを起動します。ファイル名を指定するとそれが起点となります。ここでは.
(現行ディレクトリ)を指定しています。
vim .
設定を何もしていないので、初期設定のVimが起動します。これでも色々遊べると思います。
失敗したと思ったら、Escキーを押してu
(undo)を打つと元に戻せるので安心してください。u
の逆はCtrl-r
(redo)です。
Escキーを押して、:q
を打つとVimから抜け出せます。
ファイルに変更があった場合は:q!
で強制終了するか:wq
で保存してから終了するかの2択になります。
余談ですが、なぜEscキーを押すかというとVimにはモードが複数ありまして、Escキーを押すとNORMALモードに戻れるからなんです。既にNORMALモードにいる場合はEscキーを押さなくてもいいです。Ctrl-c
でもEscキーと同じことができます。Ctrl-c
の方が押しやすいかもしれません。
:Ex
(:Explore
の短縮形)コマンドを打つとプロジェクト内のファイルのリストを表示することができます。
Vimにはバッファーとよばれるメモリー内に読み込まれたファイルが管理されていましてそれらを行ったりきたりすることができます。簡単なやり方はCtrl-o
とCtrl-i
です。試しに遊んでみてください。
文章を編集するテクニックについてはあえてここ詳しくは触れませんが、いろんな技があり楽しいのでぜひ開拓してみてください。
一例として、カーソルを数字の上に置き増減させる技です。
-
Ctrl-a
でふやす -
Ctrl-x
でへらす
誰かの設定ファイルを拝借する
ここでは一例として自分の.vimrcを使います。ネット上で多くの人がVimの設定を公開されています。
GithubのオンラインサイトのRawボタンを押すと、設定ファイルのURLが取得できます。
URLの例:https://raw.githubusercontent.com/mnishiguchi/dotfiles/main/vimrc
設定ファイルのURLを取得できたら、それをUbuntuコンテナ内でダウンロードします。
以下のスクリプトは~/.vimrc
を上書きするので自分の~/.vimrc
が既にある場合は使用しないように注意してください。新しく起動したUbuntuコンテナ内で使用するのが前提です。
SRC=https://raw.githubusercontent.com/mnishiguchi/dotfiles/659ac43fd5a0fcf049622342e03a441d189cc9e7/vimrc
curl --output ~/.vimrc --location "$SRC"
Vimのプラグインマネージャ
たいていの人はVimのプラグインマネージャを利用してVimのプラグインを利用しています。世の中にはたくさんのプラグインマネージャがあるのでどれが使用されているのかを把握する必要があります。また、手順はプラグインマネージャにより異なると思われます。とはいってもプラグインのインストールを便利にするためのツールなのでどのプラグインマネージャでも簡単に使えるはずです。
今回使う設定ファイルではプラグインマネージャとしてJetpack.vimが使われているのでそれを取扱説明書に沿ってインストールします。
curl -fLo ~/.vim/pack/jetpack/opt/vim-jetpack/plugin/jetpack.vim --create-dirs https://raw.githubusercontent.com/tani/vim-jetpack/master/plugin/jetpack.vim
Vimを起動します。
vim .
プラグインが何もインストールされていない状態なのでエラーが出ることがありますが、この時点では気にしなくても良いです。迷わずENTERを押してください。
Error detected while processing /root/.vimrc:
line 64:
E185: Cannot find color scheme 'molokai'
Press ENTER or type command to continue
プラグインをインストールする方法はプラグインマネージャにより異なります。
Jetpack.vimの取扱説明書によると :JetpackSync
を打つと設定ファイルに記述されたプラグインがインストールされるそうなのでそのコマンドをVim起動後に打ちます。
一旦Vimを閉じて再度起動すると見た目が変わっていると思います。
設定適用後のVimで遊ぶ
初期設定でも使いこなせるようキーマップ(ショートカット)は最小限にしています。いろんな人のをみて、いいなと思ったのを残しました。
スペースキーをリーダーキー(俺俺コマンドを打つ前に打つもの)としました。例として二、三上げると
-
space p v
- project view(プロジェクトのファイル一覧) -
space p f
- project find (プロジェクト内を検索) -
space .
-~/.vimrc
を開く
個人的にはあまり細かいことにこだわると時間が燃えてしまうし、使わない設定をしても意味がないので、少しずつ設定事項を増やしていくのが得策と感じました。
設定を変更してVimで遊ぶ
世の中には無数の設定のアイデアがあるので、楽しんでみてください。
Advent Calendar 2022完走賞をいただきました。ありがとうございます。
本記事は以下のモクモク会での成果です。みなさんから刺激と元氣をいただき、ありがとうございました。
トラブルシューティング
色が変
マック標準のターミナルの中のUbuntuコンテナでやると色が変になる現象が起こると読者から寄せられました。@torifukukaiou さんありがとうございます。
原因はよく分かりません。
vim起動時にエラー
プラグインがインストールされていない状態でプラグイン関連のスクリプトが走るのが原因かもしれません。設定ファイルのよくわからない部分をコメントアウトしたり削除したりして小さく始めるのがいいかもしれません。興味のあるプラグインはあとからいつでも追加できます。
Neovimに挑戦したい
Neovimに挑戦したい方にはこれらがおすすめです。