電波ビーチ

☆(ゝω・)v

vimはじめ

あらすじ

町外れの森に暮らすまじないばばあがある日ぼくにこう言ったんだ。

vimをやれ。サーバサイドをいじるとき役に立つ』

my goals

vimで何ができるのか知る。vimを使ってみる。

触る前の勝手な印象

raspberry piをいじるときにggると、入門者への配慮か信仰を示すためか、世の記事はviだのnanoだのemacsだのをそのまんまサンプルコードとして書いてらっしゃるやつが多い。自分は浄土真宗なのでどうでもよく、そのまんまコピペして使い分けることも考えずに適当に使い方を逐一調べながら使っていました。まったくリサーチもしてないので多分に偏見にまみれています。

  • (terminalと見た目が変わらない(暴論)ことから)『黒い画面フォビア』のような症状が発症する?
  • (単一の既存ファイル(RPiでのdhcpcd.confとか)を開いて編集して程度でしか使ったこと無いので)こうしたエディタでプログラムを書くことが想像できない
    • タブは?ファイルツリーは?アドオンは?ハイライトや入力補完は? etc...
  • 界隈に原理主義的な人がいると聞く。近づきたくない
  • エディタってなんだよ。VSCやatomはわざわざ高機能エディタって言わなきゃいけないのかよ。そっちこそ高機能なメモ帳でいいじゃん。

要約すると『よく分からんから触らんでおこう』になりそうです。無知は差別に行き着きやすいですね。

step0: vimを知る

vimtutor

vimに付属しているvimによるvimチュートリアル。 わたしの環境(macOS)ではとくになにもしなくてもvimtutorコマンドで開きました。日本語でversion1.7らしいです f:id:or3:20180130105529p:plain とりあえず手っ取り早いのでコレをクリアします。

最近のvimとか

ざっくり。

step1: vimをカスタマイズ

見た目は後回し。

~/.vimrc

ざっとみていくと、この味気ないデフォルト画面の設定や各種プラグインの設定なんかは~/.vimrcたらいうファイルに書くらしい。

qiita.com

qiita.com

なにも考えずにマネします。

ggるうちに知ったこと

  • 最近のOSではvivimエイリアスになっている場合が多いらしい
  • .vimrcに書かれるのはVim Scriptという贅沢な名前があるらしく、スクリプトなので関数や制御構文が書ける。これを利用してvimから拡張子を判別し、編集中のプログラムを実行することができるという。エディタじゃん。
  • GUIvimgvimなるものがある。Linux系に最初から入っているかどうかは不明。macOSには無いようだ。
  • そもそもmac版のvimはオリジナルのvimと区別されるらしい。 機能的には同じらしい。(参考
  • vimでは拡張機能プラグインと呼ばれる。プラグインマネージャを使うのが定石らしい。各種プラグインマネージャはわりとここ数年でも興廃が激しい?感じがある。(参考
    • だいたいどのプラグインマネージャも.vim/bundleフォルダを作り、そこにgit cloneするっぽい。
    • だいたいどの(略)も.vimrc内にほしいプラグインを列挙して、なにがしかのコマンドをポチすればインストールできるらしい。当然コマンドは各プラグインで異なる

githubで一番スターがついてるのでVundleを使うことにします。開発が盛んで、コマンド名がちょくちょく変わっているらしいので古めの記事は信じないこと。 qiita.com

markdown書けてプレビューできりゃなんでもいい

という目的だとどんなプラグインがあるのだろう。たくさんあって困りそうだ。。と思ったらまとまった記事がヒットして3秒で解決した。この中から選べばいいです。

https://qiita.com/iwataka/items/5355bdf03d0afd82e7a7

qiita.com

編集用にtpope/vim-markdownとプレビュー用にiamcco/markdown-preview.vimを使うことにしました。markdown直書き以外したこと無い原始人なので高機能は別に要らないのと、動的にプレビューが見たかったためです。

https://gyazo.com/3fed7e112a5fca47ceacee47111a544b アクティブな行を追いかけてくれるのが地味にうれしい。
ただ、別のタブに移動(C-wを二回)するとブラウザが閉じてしまうんですね。その場合は一度:MarkdownPreviewStopしてから再度:MarkdownPreviewしないとイケなくてめんどくさいです。

NerdTree

ディレクトリを別タブで表示してくれるやつです。インストールするだけで特に設定は変えなくてもいい感じ。

step2: 見た目をいじる

カラースキーム

わたしは背景黒だとコードが見にくくてしょうがないしそもそもよく言われてるほどにはかっこよくないだろと思っているので明るめなやつがいいです。世の中のエディタってたいていデフォルトで黒っぽいのでその点vimはとても良い子です。

wonderwall.hatenablog.com

こちらを参考にしました。vimrcにさっそくプラグイン追記です。ちなみにそのまんま流用したら790個ありました。多すぎる。

フォント

デフォルトだと小さすぎてつらいので読みやすくしたいですね。 ggるとgvimでの設定しか出てこず、vim自身からどうやって設定するのかわかりませんでした。なのでターミナルの環境設定から直接変えます。この方法だとフォントは分かるんですがサイズは動的に変わってくれず、いったんターミナルを終了させる必要がありました。

どうなったか

疲れたのでここまで! f:id:or3:20180131234558p:plain まだ補完や実行は設定してないんですが、あとはプログラミングできるようにすりゃふつうに使えますね…!

このまましばらく使ってみよう

強制的にキーボードだけを使うようになるというところがめちゃくちゃすごい。今までタブ間の移動ですらマウス使っていたので。。。