Blank?=False

ゆるゆる仕事したいフリーランスエンジニアの記事

私、Atomを卒業します。普通のVim使いになります!

f:id:stonebeach-dakar:20161210103249p:plain

私、Atomを卒業します。
普通の女の子になります!
普通のVim使いになります!

いや、真面目に、Atomを卒業します。

なんでかというと、「達人プログラマー」で2つのエディタを使っているような状況は良くないよ、 という話があったんです。

達人プログラマーに書いてあったこと

いくつか抜き出します。

1つのエディタを知り尽くしておき、コーディング、ドキュメント作成、メモ、システム管理といった編集作業は、全てそれを使用して行うことをお勧めします。
複数種類のエディタの使用によって、現代におけるバベルの塔の混乱に直面する可能性があるのです。
異なった編集規約やコマンドが個別にそんざいすると、それぞれの環境への熟達が難しいものとなってしますのです。
あなたは一芸に秀でている必要があります。
強力なエディタとあなたの指先を使えば、高い生産性を上げられるようになります。

もし1つのエディタをすべてのテキスト編集作業で使えるのであれば、テキスト操作のたびに立ち止まって考え込む必要もなくなり、反射的にキー入力が行えるようになります。
エディタは手の延長となり、軽やかなキー入力の音はテキストと指向の間を抜ける小道を渡る小鳥のさえずりのようになるのです。それが目標です。

達人プログラマー 第3章 パワーエディットより

新装版 達人プログラマー 職人から名匠への道

新装版 達人プログラマー 職人から名匠への道

エディタはどんな操作をする時でも1種類だけにしてしまおう!という考え方です。
ただ、IDEに依存する言語(VBADelphi等)もあるので、そういった言語は除いていいと思います。

この考え方ですが、最近はMicrosoftもVSCode等でどのような言語でも使えるエディタをだしてきたりと、昨今のトレンドになっている気がします。

今まで使っていたエディタについて

AtomVim。どちらもオープンソースのエディタです。
ターミナルからの開発はVim,デスクトップからはAtomの2本体勢を2年ぐらいやっていました。
プラグインを入れればお互いのキーバインドも近づけるのは知っていたんですが、余り気にしていなかったので両方のキーバインドを覚えるという効率が悪いことをやっていました。
そのせいで何方か一方しか使わない時期があるとすぐにキーバインドを混乱して使ってしまうこともありました。

なぜAtomを使っていたのか

まだCUIベースのVimに慣れていない時に出てきた新しいエディタで、色々なパッケージをつかうことで様々な言語に対応出来る!などの触れ込みが気になって使い始めました。
実際、当初は使いやすく色々な開発をこのAtomでやっていたのですが、最近はよくクラッシュするためもっぱらMarkDownCSS、HTML専用エディタになっていました。

なぜVimを使っていたのか

最初、Vimを使い始めた理由は尊敬するプログラマの1人である@junichi_itoさんが紹介していたのがきっかけです。
@junichi_itoさんはもうVimをやめてRubyMineに移行したみたいですが


blog.jnito.com

最初さわった時は何だこの使いにくいエディタは!?と思っていたのですが、 慣れてくると非常にテンポよくタイプできるので、もう手放せないエディタとなりました。

また、設定ファイルのVimrcをGitHubなどにアップしておけば家で使っている環境をそのまま会社のPCでも使える、というのがお気に入りでした。
そして、Rubyを書くとターミナルで動作確認をすることが多いので、キーボードから手を離すことなく動作確認が行えるため、Rubyの開発では重宝します。

ただ、プラグインを入れていないだけなのにいろんな理由をつけては余り使わなかった時期があり、その間にAtomを使っていた感じです。
最近、Vimを使う機会が増えたおかげで改めてVimのほうが使いやすいな!と気づきました。

なぜAtomをやめるのか

なんかね、よくクラッシュするんですよ。
自分の環境だけかもしれませんが。

そして、クラッシュするとプロジェクトフォルダや開いていたタブが全部消えるので、また設定して、開き直して…というのがめんどくさくなってきました。

そしてもう1つ、設定を様々なOSで共有できない、Rubyを書いているとターミナルで動きを確認、というのが多いんですね。
なので、Term3などのターミナルパッケージを使っていたんですが、Atomのターミナルってどれもイマイチな出来で、結局Atomとターミナルを同時起動して入力が終わったらマウスを持ってターミナルにフォーカスを当ててまたキーボードで入力・・・というプロセスを踏む必要があったんです。
これがまた面倒臭い。集中しているときはなかなかキーボードから手を離したくないんですよね。

ということで、ちゃんとしたターミナルが使える環境の上で動作するVimのほうがベストでは?と思いました。

Atomから完全にVimに移行するためにやったこと

ここから、Atomを完全にやめて完全なVimmerとなるためにやったことを書いていきます。

Atomをアンインストール

潔く消してしまいましょう。自らを背水の陣に追い込むのです!

Vimの操作を完全に覚える

Vimをそこそこ使っていたものの、基本的な操作を完全に覚えているわけではありませんでした。
これを機会にちゃんと覚えないと、と思いました。

これはVimチュートリアルが便利です。3回ぐらいで大分なれてきたかな、という感じでした。
ちなみに30分で終わる、と言われているのですが自分の場合、初回は1時間ぐらいかかっていたような気がします。

nanasi.jp

Atomを使っていた理由をなくす

AtomVimを使い分けていた理由をなくしてしまえば

「こういうことがAtomで出来ていたのにVimはできない。やっぱAtom必要だ。」

なんてことがなくなります。

Vimは長い間世界中の人に愛されたエディタなのでそのプラグインの数はAtomよりずっと多くあり、他のエディタにあってVimにないプラグインはない、とまで言われています。

VimMarkDownのプレビュー表示に対応する

AtomではMarkDownPreviewというプラグインでプレビュー表示をしつつMarkdownテキストをガリガリ書ける機能を付けていました。
f:id:stonebeach-dakar:20161210105900p:plain

これでブログなりQiita記事なりを書いていたのですが、これはターミナルで動くVimじゃ無理だろなー、と思っていたのですが、 調べてみたらやりようがあったと知って決めつけちゃっていたな〜と反省。


下のサイトとリポジトリのReadMeを参考に設定するだけでOKでした。これでVimでブログ記事が書ける!
実際に使ってみても非常に便利です。リアルタイムじゃないけど、リアルタイムプレビューはたいてい重くなりやすいので保存時のプレビュー反映のほうが使いやすい気がします。

VimでMarkdownの環境を整える | KEYPOINT – キー・ポイント株式会社 開発日誌


というわけでこの記事は、こんな感じでブラウザでプレビューしながらVimでガリガリ書きました。
f:id:stonebeach-dakar:20161210105710p:plain

RGB値からカラーのプレビュー表示できるようにする

Atomでは、プラグインを入れることでCSSなどに書かれた色設定のプレビューが表示される、等の機能がありました。

f:id:stonebeach-dakar:20161210103521p:plain
これはVimだと無理だろ〜なんて思ってましたがありました。
Vimすげぇ。
f:id:stonebeach-dakar:20161210103543p:plain
blog.scimpr.com


これから

今使っているvimrcは元々まだまだVimに慣れていない頃、ネットで紹介されたオススメ設定とかプラグインをどんどん入れていったものなので、ちょっとメチャクチャなところがあったり、使っていないプラグインがあったります。
完全にVimに移行したので、vimrcファイルをそのうち整理してより使いやすくしていきたいな〜と思います。
とりあえずVim本を買ってみたので読みながらよりVimを使いこなせるようやってきます。



え?Emacs?やだなぁ使いませんよ?
学生時代はEmacs使っていた人