脱GUIしてzsh、Vimでやっていく決意をした

windows生活が長かった(関係ないかもしれませんが・・)のでマウスが必需品でした。開発はIDEテキストエディタはSublimeTextでGitもSourceTreeを使い、GUI万歳!な開発生活を送ってきましたが、今はまわりにそんな人が全くいません。。溶け込むようにCLIの世界に徐々に進んでいます。

なぜ?

憧れみたいなものはありました。黒い画面でカシャカシャ何やってるかわからないスピードで操作しているのを見るとすごいなーと思っていたし、効率もいいんだろうなと感じていました。そこで現在PHP勉強中の身なのを利用してついでに脱GUIを試み、色々と試行錯誤しています。そんなことをさせてくれるのは本当にありがたいので、勉強が終わったらバリっとバリューを出せるような状態にしていきたいです。

そんな感じでこの1週間でやったことを簡単ですがまとめました。MacLinuxを長年使っている人から見れば当たり前のことが多いかもしれませんが、GUIをやめてシェルでやっていきたいという人に参考になればと思います。

始めたこと

  • シェルを使う
  • Vimを使う
  • マウスを使わない(なるべくトラックパッドもつかわない)
  • GUIをなるべく使わない
    • SublimeTextは消した
    • SourceTreeはインストールしない
    • finder使わない
    • Dock使わない
      • 非表示はできないのでウィンドウ右に最小で自動で隠れる設定にしてます

そのためにしたこと

まずAlfredをインストール

Dockとfinderを使わないのでコマンドでアプリを起動する必要がありましたが、それはAlfredを使うようにしました。ホットキーで起動してアプリ名を入れると起動できます。自分はホットキーはCtrl+Shift+aにしています。

アプリを起動させるだけではなくていろんな機能があるみたいです。

Mac仕事効率化!Spotlightを完全に超えた神ランチャーアプリ「Alfred 2」の使い方とおすすめWorkflows10選。[Mac] | MacWin Ver.1.0

f:id:kimromi:20150709223956p:plain

シェル(zsh)を使う

Macにはターミナルがついているため、それを使います。初期設定ではターミナルからbashというシェルを起動していますが、席が隣の@pyama86さんから「まずはzshっしょ」と言われたので二つ返事ですぐにインストールしました。

以下のページを参考にしました。
mollifier.hatenablog.com
qiita.com

zshの設定ファイル

ホームディレクトリに.zshrcというファイルを作っておくと、これがzshの設定ファイルになります。相当自由にカスタマイズできるみたいなのでこれからどんどん設定していきたいと思います。

oh-my-zsh、pecoの導入

oh-my-zsh・pecoを入れました。以下を参考にしました。

wayohoo.com

oh-my-zsh

oh-my-zshは便利なコマンドがいろいろ追加されます。特にgitのコマンドが短縮されるので嬉しいです。

qiita.com

ほんの一部ですが下みたいな感じです。

$ ga .              # git add .
$ gcmsg "message"   # git commit -m "message"
$ gp                # git push

peco

pecoはCtrl+rで今まで入力したコマンド履歴が一覧で出てインクリメントサーチができるようになりました。他にも機能あるみたいですがまだ使えてません。

k0kubun.hatenablog.com

f:id:kimromi:20150709233726p:plain

tmuxの導入

ターミナル内でウィンドウを何個も作ったり、ウィンドウを分割して作業できるようなやつです。ターミナルのウィンドウが何個も表示されるわけではなく、ターミナル内で内部的にウィンドウを保持しておいてコマンドで切り替えれるようなものです。以下を参考にしました。

tmuxを使い始めたので基本的な機能の使い方とかを整理してみた - 完熟トマト

ベースのキーバインドはCtrl+jに変えました。主に下のキーを使っています。まだペインを分けるところまでは使いこなせてません。

Ctrl+j c : 新しいウィンドウを作成
Ctrl+j n : 次のウィンドウに移動
Ctrl+j p : 前のウィンドウに移動
Ctrl+j w : ウィンドウ一覧を表示
Ctrl+j & : ウインドウを閉じる

ちなみにVimにタブ機能があるんですが、後述するVimFilerが自分が思ったような挙動になりませんでした。あるタブでVimFilerのファイルツリーの表示を操作すると、他のタブで表示されてたVimFilerの表示も連動して変わってたので、ウィンドウごとに分けたかった私はtmuxを使ってます。

tmuxの設定ファイル

ホームディレクトリに.tmux.confというファイルを作っておくと、これがtmuxの設定ファイルになります。ベースのキーバインドもこのファイルで変えたりできます。

Vim

あのVimを使う時がくるとは。VimEmacsも使ったことなかったですが、自然にVimを使うようになりました。社内でもほとんどの方がVimを使っているみたいです。以下のエントリが非常に参考になったので真似してます。チートシートも印刷して、何回か使ったやつにマークをいれていってます。

blog.jnito.com

プラグインのツールは以下を参考にNeoBundleを入れてます。

qiita.com

Vimの設定ファイル

zshと似ていますが、ホームディレクトリに.vimrcというファイルを作っておくと、これがVimの設定ファイルになります。

VimプラグインでVimFilerをいれた

Vim上で使えるファイラです。以下を参考にしました。

www.karakaram.com

matome.naver.jp

インストールして設定を変えるとこんな感じの画面になりました。左のファイラでファイル追加や削除等の操作ができ、右側でファイルの編集ができます。

f:id:kimromi:20150710002347p:plain

設定ファイルはDropboxで管理

.zshrc、.tmux.conf、.vimrcはDropboxのフォルダに入れて、家にあるMacと同じ環境にしてます。ただ、これらの設定ファイルはホームディレクトリにないといけないため、Dropboxの設定ファイルからホームディレクトリの.zshrc、.tmux.conf、.vimrcへシンボリックリンクを貼ってます。以下の様な感じです。

ln -s ~/Dropbox/dotfiles/zshrc ~/.zshrc          # .zshrcのシンボリックリンク
ln -s ~/Dropbox/dotfiles/tmux.conf ~/.tmux.conf  # .tmux.confのシンボリックリンク
ln -s ~/Dropbox/dotfiles/vimrc ~/.vimrc          # .zshrcのシンボリックリンク

一応、設定ファイルたちは公開用にGithubにもおいてますので、もしも覗きたい方がいらっしゃいましたらどうぞ。

github.com

ターミナル、vimの色を変更した

調べてみるとsolarizedというテーマがいいみたいなので入れてみました。ターミナル、Vim、lsコマンドの表示は別設定だったのでそれぞれ設定しました。

qiita.com

qiita.com

なかなか気に入っています。

f:id:kimromi:20150710011227p:plain

f:id:kimromi:20150710011357p:plain

まとめ

GUIに向けて今のところでやっていることをまとめてみました。できるだけブラウザとターミナルだけで操作するようにしてます。

まとめると意外と長くなって、ざっくりとした説明しかできてないところもあるので、気が向いたらそれぞれの項目でエントリにして分けるかもしれないです。1ヶ月後、半年後、1年後ぐらいにどうなっているか楽しみです!Vim病になっているんだろうか。