一人になって、困ったらすぐに聞ける人もいなくなった。

前職ではインフラ周りについてレシピがあったので、それに従っていれば及第点のことはできた。


だけど今はレシピがない。

むしろ一緒にプロジェクトを行っている人向けにレシピを作る側になってしまった。


このままではまずいなと、自身のパソコンをWindowsからLinuxにした。


Linuxはオープンソースのオペレーティングシステムだ。

Linux - Wikipedia

オペレーティングシステム - Wikipedia


Linuxには様々な種類(デストリビューション)があり、デスクトップ環境が充実しているUbuntuにした。

Ubuntu - Wikipedia


Ubuntuといえば、2016年の夏頃にWindows10に入るらしいけど、実はそれを密かに楽しみにしている。


でだ、

Ubuntuを使い始めたら、必ずといって良い程やりたいことらしいけど、カスタマイズしまくって最高の開発環境(特にエディタ)に仕立てあげたくなった。

ということで、慣例に従って、自分もやってみている。(現在進行形)




まずはエディタ。


emacs_logo

GNU Emacs - GNU Project


今回は良い機会なので、Emacsにする。

コードが書ける上に、シェルも使えて便利!

エディタの設定をLispという言語で書くため、自由度も高い。

Emacs - Wikipedia


まぁ、Lispは書けないから、カスタマイズは全然捗ってないけどね…

とりあえず、Goが快適に書ける様に設定はした。

※設定内容は今は省略


で、開いてみる。


emacs_screen


画面の左側でコードを書き、右側をシェルモードにして、実際にプログラムを実行してみる。

Emacs側で、Goのコードを保存した時、自動で整形してくれたり、必要なライブラリを指定してくれたりと半端無く便利で、同じウィンドウ内でコードも実行できるので便利だ…


と思いきや、シェルモードがなんか使いにくい。


shellでシェルモードを開くと、前に実行したコマンドの履歴は出てこないし、eshellでシェルモードを開いても、docker startの後にIDを入れるけど、途中まで書いてtabを押しても補完されないのがきつい。


で、

世のEmacs使いはここらへんはどうしているのだろう?

シェルモードのカスタマイズをしているのだろうか?

と調べてみたところ、


EmacsのシェルモードはEmacsのファイルを開くときしか利用せず、Z Shell(zsh)を使って、Emacsを開いているよとのことだった。

※最近はEmacsのeshellにzshを取り込んでいると書いてあった。

Z Shell - Wikipedia


ということで、zshのインストール

※zshのインストールも今は省略


で、開いてみた。


zsh_screen


見た目は何も変哲もない端末の画面だ。

とりあえず、Emacsは開けるのでコードは書ける。


だけどだ、zshの方で、


emacs_screen


こんな感じに、左がエディタで、右がシェルで実行環境を開くということができない。

というわけで、皆さんはどうしているのか?を調べてみると、ターミナルマルチプレクサ tmuxを使っているということがわかったので、早速インストールしてみる。

※tmuxのインストールは今は省略

tmux


インストール後、開いてごにょごにょ操作してみると、


tmux_screen


あら、素敵!

左側ではEmacsでコードを書くことができ、右側ではzshを開いて、コードを実行することができる。


開発環境はZ Shell + tmux + Emacsでいこうかな。


とりあえず、使える様になるまでいくつか設定したので、ブログ記事のネタがないときにでもインストールとか設定を書いていこうかな。