あらすじ
町外れの森に暮らすまじないばばあがある日ぼくにこう言ったんだ。
『vimをやれ。サーバサイドをいじるとき役に立つ』
my goals
触る前の勝手な印象
raspberry piをいじるときにggると、入門者への配慮か信仰を示すためか、世の記事はviだのnanoだのemacsだのをそのまんまサンプルコードとして書いてらっしゃるやつが多い。自分は浄土真宗なのでどうでもよく、そのまんまコピペして使い分けることも考えずに適当に使い方を逐一調べながら使っていました。まったくリサーチもしてないので多分に偏見にまみれています。
- (terminalと見た目が変わらない(暴論)ことから)『黒い画面フォビア』のような症状が発症する?
- (単一の既存ファイル(RPiでの
dhcpcd.conf
とか)を開いて編集して程度でしか使ったこと無いので)こうしたエディタでプログラムを書くことが想像できない- タブは?ファイルツリーは?アドオンは?ハイライトや入力補完は? etc...
- 界隈に原理主義的な人がいると聞く。近づきたくない
- エディタってなんだよ。VSCやatomはわざわざ高機能エディタって言わなきゃいけないのかよ。そっちこそ高機能なメモ帳でいいじゃん。
要約すると『よく分からんから触らんでおこう』になりそうです。無知は差別に行き着きやすいですね。
step0: vimを知る
vimtutor
vimに付属しているvimによるvimのチュートリアル。
わたしの環境(macOS)ではとくになにもしなくてもvimtutor
コマンドで開きました。日本語でversion1.7らしいです
とりあえず手っ取り早いのでコレをクリアします。
最近のvimとか
ざっくり。
step1: vimをカスタマイズ
見た目は後回し。
~/.vimrc
ざっとみていくと、この味気ないデフォルト画面の設定や各種プラグインの設定なんかは~/.vimrc
たらいうファイルに書くらしい。
なにも考えずにマネします。
ggるうちに知ったこと
- 最近のOSでは
vi
がvim
のエイリアスになっている場合が多いらしい - .vimrcに書かれるのはVim Scriptという贅沢な名前があるらしく、スクリプトなので関数や制御構文が書ける。これを利用してvimから拡張子を判別し、編集中のプログラムを実行することができるという。エディタじゃん。
- GUI版vimのgvimなるものがある。Linux系に最初から入っているかどうかは不明。macOSには無いようだ。
- そもそもmac版のvimはオリジナルのvimと区別されるらしい。 機能的には同じらしい。(参考)
- vimでは拡張機能はプラグインと呼ばれる。プラグインマネージャを使うのが定石らしい。各種プラグインマネージャはわりとここ数年でも興廃が激しい?感じがある。(参考)
githubで一番スターがついてるのでVundleを使うことにします。開発が盛んで、コマンド名がちょくちょく変わっているらしいので古めの記事は信じないこと。 qiita.com
markdown書けてプレビューできりゃなんでもいい
という目的だとどんなプラグインがあるのだろう。たくさんあって困りそうだ。。と思ったらまとまった記事がヒットして3秒で解決した。この中から選べばいいです。
https://qiita.com/iwataka/items/5355bdf03d0afd82e7a7
編集用にtpope/vim-markdownとプレビュー用にiamcco/markdown-preview.vimを使うことにしました。markdownは直書き以外したこと無い原始人なので高機能は別に要らないのと、動的にプレビューが見たかったためです。
アクティブな行を追いかけてくれるのが地味にうれしい。
ただ、別のタブに移動(C-w
を二回)するとブラウザが閉じてしまうんですね。その場合は一度:MarkdownPreviewStop
してから再度:MarkdownPreview
しないとイケなくてめんどくさいです。
NerdTree
ディレクトリを別タブで表示してくれるやつです。インストールするだけで特に設定は変えなくてもいい感じ。
step2: 見た目をいじる
カラースキーム
わたしは背景黒だとコードが見にくくてしょうがないしそもそもよく言われてるほどにはかっこよくないだろと思っているので明るめなやつがいいです。世の中のエディタってたいていデフォルトで黒っぽいのでその点vimはとても良い子です。
こちらを参考にしました。vimrcにさっそくプラグインを追記です。ちなみにそのまんま流用したら790個ありました。多すぎる。
フォント
デフォルトだと小さすぎてつらいので読みやすくしたいですね。 ggるとgvimでの設定しか出てこず、vim自身からどうやって設定するのかわかりませんでした。なのでターミナルの環境設定から直接変えます。この方法だとフォントは分かるんですがサイズは動的に変わってくれず、いったんターミナルを終了させる必要がありました。
どうなったか
疲れたのでここまで! まだ補完や実行は設定してないんですが、あとはプログラミングできるようにすりゃふつうに使えますね…!
このまましばらく使ってみよう
強制的にキーボードだけを使うようになるというところがめちゃくちゃすごい。今までタブ間の移動ですらマウス使っていたので。。。