とりあえずvimを使えるようになりたい人のための記事
始めに
私が「Vimはいいぞ」って言っていると、「どうやって始めたらいいですか?」という質問がたまにあります。
今回はそんな人に向けて、「Vimの始め方指南書」になったらよいなと思って書いていきます。
上記のVimmerレベルをベースに紹介していきます。
目標
- Vimの流儀に沿った操作方法を覚える
- InsertModeでカーソル移動しない
- カーソル移動はNormalModeで行う
- カーソルキーは使わず、代わりにh/j/k/lを使う
-
.vimrc
を作成する- 最低限の
.vimrc
を作成して、ちょっと快適に操作できるようになる
- 最低限の
- プラグインのインストールを次のステップとして視野に入れる
- あくまでも視野に入れるだけ、プラグインのインストールはしない
非目標
- Vim使いこなせるようになる
- この記事でそこまで誘導することは目標ではない
- プラグインをインストールする
- 目標でも記載しているが、プラグインのインストールはしない
- Vimをビルドする
- vim-jpで記事の内容について相談したら、やたらビルドする方法を教えたがる人が寄ってきました
- 普段からビルドしなれている人は、きっと普通にVimが使えているものとしてスルー
- 仮に使えないようなら、この記事の内容をこっそり実践してみてね
対象とする読者
- Vimを始めたい人
- 「なんとなく使えればよい」、というより、「ちゃんと使えるようになりたい」と思う人
- Vimがいいと聞いているけど、いまいち使えている感覚になっていない人
- とりあえず
:wq
で保存、:q!
で保存しないで終了、くらいが分かっている人 - Vimmerレベル1と2の間くらい
- とりあえず
- 黒い画面でカタカタしながら、キーボードだけで操作できるようになりたい人
- よ う こ そ
Step.1 ちゃんとVimをインストールする
「Vimを使えるようになりたい」
そう言いながら、ちゃんとVimをインストールしていなかったり、サーバーに入っているvi
互換バージョンを使用している可能性があります。
Vimを使いたいなら最新のVimを使いましょう。
最新であれば、セキュリティパッチが適応されていたり、便利な機能が盛り込まれていたりします。
業務で使用するVimが、最新のVimでなければ、頑張って申請してみましょう。
セキュリティ的に安全という言葉は、十分に交渉材料として役立つでしょう。
現在のVim開発体制について、VimConf2023 TinyでKen Takata氏より発表があります。
上記のリンク先のスライドを見て貰えれば、最新のVimがセキュリティ的に安全であるということの証明になります。
Linux
Vimを使うなら最高の環境です。
インストール方法は書くまでも無いと思っていますが、一応。
# Ubuntu or Debian
sudo apt install vim
# RHEL
sudo dnf install vim
黒い画面ことターミナルエミュレータは、各ディストロにてデフォルトでインストールされている物を使用すれば大丈夫だと思います。
Mac
MacにはVimがプリインストールされていますが、バージョンが古いです。
正しく、Vimをインストールしましょう。
Macなら大抵はHomebrewを使っていると思われるので、コマンドだけ貼っておきます。
brew install vim
Macを使っている方のターミナルエミュレータは、よくiTerm2という物を利用されている気がしています。
こちらを使用すれば問題無いと思っています。
Windows
Windows11では、デフォルトでwingetというコマンドがあるためCUIからインストールできます。
winget install Vim.Vim
それ以前のWindowsをお使いでしたら、次のリンク先でインストーラーをダウンロードできます。
ダウンロード後は、ポチポチしてインストールしてください。
ここで「Windows消せ」などという無粋なことは言いませんよ…?
また黒い画面として、cmd.exe
を使用するのは、個人的には推奨していません。
使用するならWindows Terminal
がよいでしょう。
Step.2 日常のちょっとした編集にVimを取り入れる
vimtutor
Vimを始めるなら最初はvimtutor
というコマンドで、指示に従いながらVim上で操作することにより学習できます。
ですが大半の人は、わざわざ最初からvimtutor
をまじめに完了させてから、Vimを使い出していないと思っています。
これは私も同じです。
私の場合は、Vimのキーマップのチートシートを片手に操作を覚えていきました。
vimtutorの実施はお好みでお任せします。
理想としては、どこかのタイミングで実施したらよいと思っていますが、タイミングは各自にお任せします。
必要と感じたら実施するとよいでしょう。
これからVimを覚えたい人は、次の章で解説する方法を実践してみてください。
提案
- これから紹介するキーマップを意識しないで操作できるようになる
- ターミナルエミュレータ(黒い画面)で操作する
- 一日の内に遭遇する小さなテキスト編集でVimを使用する
- 絶対にInsertModeでカーソルキーを使って移動しない
- カーソルを移動したかったら必ずNormalModeに変更する
- 疲れたらいつものエディタに戻ってもよいが、次の日に1回はVimを使う
特に上記の項番の4
と5
を口ずさみながら操作すると Very Good! です。
とにかく伝えたいのは、繰り返しVimの操作を反復することで、Vimの基礎的なキーマップが咄嗟に出てくるようになると、Vimの良さが分かるはずです。
キーマップ
特別に凝った操作はできるようになろうと思わなくて大丈夫です。
次のコマンドを日常的に使えるようになれば、基本的には困りません。
Mode | Key | Description |
---|---|---|
Normal / Visual | h |
左にカーソルを移動する |
Normal / Visual | j |
下にカーソルを移動する |
Normal / Visual | k |
上にカーソルを移動する |
Normal / Visual | l |
右にカーソルを移動する |
Normal / Visual | w |
現在のカーソル位置から見て次の単語の先頭にジャンプする |
Normal / Visual | e |
現在のカーソル位置から見て次の単語の末尾にジャンプする |
Normal / Visual | b |
現在のカーソル位置から見て前の単語の先頭にジャンプする |
Normal / Visual | gg |
ファイルの1行目に移動する |
Normal / Visual | G |
ファイルの最終行に移動 |
Normal / Visual | [num]gg |
入力した数字の行番号に移動する |
Normal | v |
現在のカーソル位置から文字単位選択できるVisualModeに入る |
Normal | V |
現在のカーソル位置から行単位選択できるVisualModeに入る |
Normal | Ctrl-v |
現在のカーソル位置から矩形選択できるVisualModeに入る |
Mode内の操作に関しては、文字単位選択のVisualModeと同じ | ||
Normal | i |
現在のカーソル位置の前からInsertModeに入る |
Normal | I |
現在のカーソル位置の行頭に移動してInsertModeに入る |
Normal | a |
現在のカーソル位置の後ろからInsertModeに入る |
Normal | A |
現在のカーソル位置の行末に移動してInsertModeに入る |
Normal | o |
現在のカーソル位置から下に改行してInsertModeに入る |
Normal | O |
現在のカーソル位置から上に改行してInsertModeに入る |
Normal | yy |
現在のカーソル行をヤンク(コピー)する |
Normal | dd |
現在のカーソル行を削除する |
Visual | y |
選択範囲をヤンク(コピー)する |
Visual | d |
選択範囲を削除する |
Visual | c |
選択範囲を削除してInsertModeに入る |
Normal | p |
Vim内で削除・ヤンク(コピー)した物を、カーソル位置の後に挿入する |
行そのもの削除・ヤンク(コピー)したのであれば、下の行に挿入する | ||
Normal | P |
Vim内で削除・ヤンク(コピー)した物を、カーソル位置の前に挿入する |
行そのもの削除・ヤンク(コピー)したのであれば、上の行に挿入する | ||
NormalMode以外共通 | ESC |
NormalModeに戻る |
ここでは敢て削除・ヤンク(コピー)の操作に関しては、VisualModeを内で操作することをお勧めします。
これらの操作はオペレータという物になりますが、最初の内は簡単な操作に限定しておくとよいです。
また、テキストオブジェクトというお勧めしたい操作方法があります。
しかし、最初の内は難しいと思うので今回は紹介を省きました。
vimtutorの中で紹介されると思いますが、慣れるまではVisualModeを介して操作することをお勧めします。
そして、どこの入門でもいわれる鉄則みたいなルールですが、困ったらESCでNormalModeに戻りましょう。
NormalModeこそがVimのあるべき姿 であり、 戻るべきMode なのです。
Step.2.5 vimtutor
この辺で一度はvimtutor
コマンドを使っておきましょう。
# Linux or Mac
vimtutor ja
# Windows
vimtutor -console ja
ja
を引数に含めておくことで、日本語版のvimtutorが起動します。
Windowsの場合は、-console
を付けないとgvim
というGUI版が起動するようです。
GUI版は今回の記事のコンセプトから外れるため、-console
オプションを付けて黒い画面でVimしましょう。
ここで「Windows消せ」などという(ry
.vimrc
を作成してみる
Step.3 おそらく、ここに到達するまでにvimtutorを実施しているものとします。
さて、ここまででVimの操作をしながら、いろいろな不満を覚えているはずです。
次のような不満点が生れているはずです。
- 行番号が無い
- カーソル移動するために、NormalModeに戻るのが面倒になる
- 保存するのが面倒
- 言語毎にインデントの設定をしたい
起動したときにある程度の設定が適用されるための.vimrc
を作成しましょう。
.vimrc
を作成する場合、次の場所に作成、もしくは配置してください。
- Linux or Mac
~/.vimrc
~/.vim/vimrc
- Windows
%USERPROFILE%\_vimrc
%USERPROFILE%\_vimfiles\vimrc
一応、私が使用している最小設定の.vimrc
があるため、こちらも共有しておきます。
…これが最小?
いや、あなたも.vimrc
を作成していけば、これが最小設定であることに納得できるはずです。
Vim scriptとvim help
.vimrc
にはVim scriptを記述する必要があります。
Vim scriptの解説は内蔵されたhelpがあるので、そちらを参照してください。
vim内でヘルプを見る場合は、:h <help-tag>
でヘルプが開けます。
設定項目についてのhelpは次のコマンドで開けます。
:h options
:h option-summary
おっと、最初の時点では、helpが英語で読むのが大変と思いますよね。
そこでvim-jpでは、helpの日本語化をコミュニティで対応しています。
こちらの日本語helpは、プラグインとしても配布されています。
.vimrc
を作成したあなたは、次のステップとして日本語ヘルプを導入してみましょう!
蛇足?
help検索をお手軽にする方法として、手前味噌ですがddu.vimを使用するヘルプ検索を紹介したことがあります。
やる気があるようなら、こちらも試してみるとよいでしょう…(沼)
最後に
実際に職場や会社内のLTでも「Vimはいいぞ」って言ってきた身なので、ちゃんとした入門記事を書けて良かったなと思っています。
この記事を書きながら、Neovimの設定ばっかりだったのが、.vimrc
に触れる切っ掛けとなったので、記事の執筆駆動で振り替えるのはよいですね。
Vimと合わせて使うターミナルエミュレータについての記事も必要な気がしてきたので、近い内に書こうと思います。
それでもVimを使うなら、やはりLinux。
Linuxがすべてを解決する!
ここで「Windows消せ」など(ry
Discussion