Vim
https://gyazo.com/fa7f17a5532717ce984a34239b8f27d1
概要
GoogleのエンジニアであるBram moolenaarを筆頭に開発が進められているオープンソースのテキストエディタである。CUIベースであるが、GUIで起動も可能(GVim)。クロスプラットフォーム対応でどのOSでも使用可能。モードやテキストオブジェクトといった特殊な概念がある。ライセンス形態は、GPL互換のチャリティウェアとなっている。vscode同様、拡張機能が存在しており、Vim scriptというDSLで拡張が可能である(現在はVim9 scirptの開発が進められている)
インストール方法
Windows
win32-installerからダウンロード、環境変数を設定する。
自力ビルド(nightly)(VisualStadio)を使う
Mac
最初から入っている(著者的にはあまりオススメしない)
brew install vim(Vimを更新したい人)
自力ビルド(nightly)
1. git clone https://github.com/vim/vim ~/vim
2. cd ~/vim/src
3. sudo make distclean
4. ./configure (好みでオプション追加 : Lua拡張、Python拡張など)
5. sudo make
6. sudo make install
Linux
Debian系 : sudo apt install vim
Arch : pacman -S vim
自力ビルド(nightly)
使い方
とりあえず vimtutorコマンドを実行してやり込もう。最初からバリバリ使いこなすのは難しいけど、慣れるとすごいことになる。qiitaとかによく記事が上がっているのでそれを見てもいいでしょう。
vimrcについて
vscodeはjsonというファイル形式のものに設定を書いていきますが、Vimの場合はvimrcというファイルの中にVim scriptを書いていくことでVimを拡張していきます。
以下の記事が参考になるでしょう。
set number:画面左に行番号を表示
0j <ESC>:インサート時にESCキーの代わりにjを2回打つとノーマルに戻る
ps : ctrl + [ で escと同じなんすけどね
おすすめplugin
ここでは、Vim scriptにしか依存しないpluginを列挙する。
vim-plug
Vimのpluginマネージャー。一番シンプルだと思う。おそらく現時点でいちばん人気なプラグインマネージャー
vim-airline
Vimがかっこよくなるやつ。ちなみにVimのメンテナ(Christian Brabandt)が開発している。
lightline.vimも参照
vim-devicons
Vimのアイコンがいい感じになるやつ (Nerd Fontのインストールが必須)
vim-quickrun
Vimからシュッとスクリプトを実行できるplugin
gruvbox
カラースキーム。結構いい感じだったのでオススメ。
gina.vim
gitをVimから操作するplugin。これがあるとgitを使うためにVimを開くようになる。
vimdoc-ja
Vimのドキュメントを日本語化するplugin
fzf, fzf.vim
ファイルやフォルダをインクリメンタルサーチしてくれるplugin。これがあるとVimからのファイル移動がとても便利
vaffle.vim
ファイラ。Vimにはnetrwというファイラがデフォルトでついているが、個人的にあまりおすすめしない。vaffleはシンプルなファイラだが、拡張も可能で動作も軽い。Vim scriptだけで実装されているので導入コストも低い。
open-browser.vim
Vimからurlをシュッと開ける。結構便利
vim-polyglot
シンタックスを追加してくれるplugin。
suda.vim
sudo vim hoge.file みたいに、sudoコマンドを使ってファイルを強制編集するのはオススメしない。いろんなファイルの所有者が変わってしまって、挙動が壊れることが多いです。viminfoとか壊れたりする。このpluginを使えばそれがなくなる。
vim-matchup
matchpair(括弧の対応付け)を括弧やワードの対応付けに拡張してくれる。(便利)
vim-anzu
検索したワードがいくつあって、今いくつめを見ているのかを可視化してくれる。
vim-endwise
(例: rubyとかで、beginって書いたらendを自動補完してくれる)
いくつかの言語に対応している。
Vim plugin artistで有名な Tim pope氏作成plugin
vim-easymotion
vimのテキストオブジェクト移動がめちゃくちゃ楽になる。
e.g vim-plugの導入例(dein.vimは(vim-plugと比べると)難易度高いのである程度知識がいります。)
vim-plugをインストールした上で、これをvimrcに記載(あくまで例です。用途に応じて改変すべき)
code:vim
call plug#begin('~/.vim/plugged')
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'lambdalisue/gina.vim'
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
Plug 'junegunn/fzf.vim'
call plug#end()
Vimを使った皆様の声(公式)