Vim に入門してみた
はじめに
この記事では、1週間前に Vim に入門してみた私が、入門する際に参考にした記事、私の Vim の設定ファイル、および設定ファイルの管理方法をメモとして残します。
これから Vim に入門する方、.vimrc
(Vim の設定を記述するファイル)や dein.vim
で扱う tomlファイル
(Vim に追加するプラグインを管理するファイル)を参考にしたい方などの助けになればと思います。
Vim についての所感
今まで
私は、ターミナルからファイルを編集するときには nano を使用していました。
何故なら、nano では単にファイルを編集するという目的を、とにかく簡単に達成できるからです。
実際に nano を使用してファイルを編集するときに最低限必要となるコマンドは、ファイルの書き込みを保存するための C-o
とファイルの編集を終了するための C-x
の2つです。
nano を使用していたときも Vim については何となくは知っていましたが、知っている Vim のコマンドが少なく(i
, :wq
, Esc
など)、また、Vim 専用のコマンドを覚える学習コストも高そうに思えたので、敢えて Vim を使おうとは思いませんでした。
Vim を勉強し始めてから
当初想定したよりも、Vim のコマンドは覚えやすいことが分かりました。
何故なら、Vim のコマンドを覚える ≠ 独立した数多のコマンドを覚えると分かったからです。
実際にVim のコマンドは、独立したコマンドではなく、いくつかのコマンドの組合せから構成されることがあります。
例えば、カーソル上の programming
のような単語を削除する diw
コマンドが挙げられます。
ここで、diw
とは、操作を示す d
(delete)と操作の対象を示す iw
(inner word)の組合せから成ります。
このように Vim のコマンドは、いくつかのコマンドから構成されていることが多く、コマンド自体を丸暗記する必要が少なくなります。
そのため、主要なコマンドなどについては、思っているよりも直ぐに覚えることができると思います。
現在
何故人が Vim を推すのか分かるようになり、この記事も Vim で書くようになりました。
が、VSCode NeoVim拡張 使うまでに詰まったところという記事を見つけ、
VSCode + NeoVim拡張という形に一旦落ち着きました。VSCode と Vim コマンド の両方の利点を活かせているように感じます。
まだ Vim 初心者の私は、Vim それ自体というよりは、Vim のコマンドが好きなのかもしれません。
Vim に入門する際に参考にした記事
私は、以下の順番で Vim に入門しました。
- Vim のコマンドを覚える
- Vim をより便利にするための設定を書く
- Vim をより便利にするためのプラグインをインストールする
Vim のコマンドを覚える
以下の順番で記事を読みました。
どの記事も面白く分かりやすいので、楽しみながら読めると思います。
- 知識0から始めるVim講座
- vimを使うとき十字キーで移動して、vimmerに殺されるその前に
- Vim幼稚園からVim小学校へ
- 脱初心者を目指すなら知っておきたい便利なVimコマンド25選 (Vimmerレベル診断付き)
Vim をより便利にするための設定を書く
一通りコマンドを覚えた後は、少しは Vim は便利だと感じるかもしれません。
しかし、現状の Vim では、VSCode のようなエディタとは、かけ離れた状態にあると思います。
例えば、画面左端には、ファイルの行数が表示されていません。
また、コマンドに割り当てられたキーを、自分好みにカスタマイズしたくなるかもしれません。
このようなときに活躍するのが、.vimrc
です。
最初は、人の .vimrc
を真似れば良いと思います。
私が最初に参考にしたのは、何も考えず~/.vimrcにこれを書くんだ! 〜vim初心者によるvim初心者のためのvim入門〜です。
一つ一つの設定にコメントが書かれており、初心者の私にもとても分かりやすかったです。
また、コマンドのキーマッピングに関しては、【vimめも】 10. マッピングがとても参考になりました。
私の Vim の .vimrc
に関しては、この記事の最後に書いています。よければご参照ください。
Vim をより便利にするためのプラグインをインストールする
.vimrc
に設定を書くことで、Vim がより便利になったと思います。
しかし、まだ VSCodeのようなエディタとはかけ離れた状態にあると思います。
例えば、現状の Vim では画面左端にファイルツリーを表示したり、文字列によるファイルを検索を行ったりすることが、簡単にはできません。
そこで、Vim にプラグインを追加し、このような機能を実現します。
dein.vim で Vim のプラグインを管理する
Vim のプラグインを管理する方法は色々ありますが、この記事では dein.vim
を用いる方法を紹介します。
dein.vim のインストール
-
下記のコマンドを実行し、
dein.vim
をインストール$ curl https://raw.githubusercontent.com/Shougo/dein.vim/master/bin/installer.sh > installer.sh
$ sh ./installer.sh ~/.cache/dein
-
下記のコマンドを実行し、
dein.vim
で使用するディレクトリ・ファイルを作成$ mkdir ~/.vim/dein
$ touch ~/.vim/dein/toml/dein.toml
$ touch ~/.vim/dein/toml/dein_lazy.toml
.vimrc に dein.vim でプラグイン管理するための設定を書く
let s:dein_dir = expand('~/.cache/dein')
let s:toml_dir = expand('~/.vim/dein/toml')
let s:toml = s:toml_dir . '/dein.toml'
let s:lazy_toml = s:toml_dir . '/dein_lazy.toml'
set runtimepath+=~/.cache/dein/repos/github.com/Shougo/dein.vim
call dein#begin(s:dein_dir)
call dein#load_toml(s:toml, {'lazy': 0})
call dein#load_toml(s:lazy_toml, {'lazy': 1})
call dein#end()
if dein#check_install()
call dein#install()
endif
dein.toml に追加するプラグインを書く
dein.toml
の記述方法は、deinでのvimのプラグイン管理の最終形が参考になりました。
私の上の設定には、dein_lazy.toml
に関する記述がありますが、これは遅延ロードによる Vim の起動速度の高速化を行うための設定です。不要であれば、削除しても大丈夫です。
Vim の起動速度が気になりだしたら、触れてみると良いと思います。
私の場合は、今の所 Vim の起動速度は気になっていないので、まだ足を踏み入れていません。
便利だと感じたプラグイン
以下は、私が便利だと感じたプラグインです。特に fzf はターミナルからも利用できるのでお勧めです。
-
VimをVSCodeライクにするで紹介されているプラグイン
- vim-airline:ステータ表示
- vim-code-dark:カラースキームをVSCodeライクに
- fern.vim:ファイルツリーを表示
- fzf.vim:ファイル検索
-
その他
- 私の dein.toml に記載があるもの
Vim の設定を Git で管理する
私は 画像のように Vim の設定を ~/dotfiles/.vim
にまとめています。私の dotfiles 。
また、.vimrc
に直接設定を書くのではなく、設定ごとに.vimファイルを作成し、それらを .vimrc
から読み込む構成にしています。
Git で管理するのは ~/dotfiles
以下です。
setup.sh
を実行し、画像のように ~/dotfiles/.vim
から ~/.vim
、~/.vimrc
などにシンボリックリンクを貼るようにしています。
おわりに
この記事では、1週間前に Vim に入門してみた私が、入門する際に参考にした記事、私の Vim の設定ファイル、および設定ファイルの管理方法をメモとして残しました。
私の Vim の設定は GitHub に上げているので、よければご参照ください。
私のようにこれまで nano を使っていた人が、Vim を使い始めるきっかけを作れたら良いなと思います。
Author And Source
この問題について(Vim に入門してみた), 我々は、より多くの情報をここで見つけました https://zenn.dev/comachi/articles/8dbb799b8b6d72著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol