読者です 読者をやめる 読者になる 読者になる

Debuginfo

思考とアウトプット

モダンな環境に挑戦してみる

naoyaさんの近頃の開発環境 : Mosh、z、tmux、Emacs、Perl についてに超絶インスパイアされました。

現状

  • ssh - 普通
  • vim - 適当に同僚シンタックスハイライトをコピーして使う。PBPのやつも使ってる。
  • screen - 2006年に作り込んで以来放置。すでに7年!信じられない-_-;;
  • bash - もうとにかく情報が膨大。特に仕事関係はやばい

で開発しています。vimに限ってはvimrcに設定を書いているもののプラグインを使用していません。。Eclipseいいなぁって心のどこかで思ってます。(そんなメモリありませんが^^;;

基本方針は下記です。

  • dotfiles をgithubで管理
  • screen to tmux
  • vim – Vundle! PluginでPerl/javascript開発環境を良くする.
  • zの導入
  • ssh to mosh

1. dotfiles をgithubで管理する

$ mkdir $HOME/dotfiles
$ cp  .vimrc dotfiles/
$ git init
$ git add .
$ git commit -m ‘first commit’
$ git remote add origin https://github.com/shoheik/dotfiles.git
$ git push -u origin master

ここでエラー...

error: The requested URL returned error: 403 while accessing https://github.com/shoheik/dotfiles.git/info/refs

nandaroを参考に.git/configの変更して、再度pushして完了。

 ## .git/config
 #url = https://github.com/shoheik/dotfiles.git
 url = git@github.com:shoheik/dotfiles.git 

2. tmuxを導入

最近の人はscreenを使わずにtmuxを利用しているようです。全く知りませんでした^^;; 会社にtmuxバイナリがあることを確認したので思い切ってscreenからtmuxに移行することにしました。

詳しい情報はGoogleさんに聞いていただくとして、私がやったのでActiveなウィンドウタブにPWDを書きたかったのでPROMPT_COMMANDをbashに設定したぐらいだと思います。

# For tmux
case "$TERM" in
    screen*)
        PROMPT_COMMAND='echo -ne "\033k$(hostname):$(pwd | sed "s#^$HOME#\~#;s#^\(\~*/[^/]*/\).*\(/[^/]*\)#\1-\2#")\033\\"'
        ;;
esac

こんな感じにパスが省略されて表示されます。screenで利用していたものを流用。

f:id:shoheik:20130111235402p:plain

感想はputtyの中でマウスが使えるのが気持ち悪い;) (In a good sense)

3. z (Nissanの車じゃないよ。でも、z欲しいよ)

私はこれまで自前のto()という関数を使って長いディレクトリへの移動をおこなっていました。この記事を参照. zが便利だということで導入してみました。

# on CentOS
$ mkdir $HOME/git
$ cd git
$ git clone https://github.com/rupa/z.git
$ vi $HOME/.bashrc
# Add this line
. $HOME/git/z/z.sh

# on mac
$ brew install z
$ vi $HOME/.bashrc
# Add this
. `brew --prefix`/etc/profile.d/z.sh

$HOME/.zに履歴が残ってこれを利用して移動する。んー、快適! しばらくto()と平行で利用してみよっと。

4. Vundle(Vim plugin)

vimはシンタックスハイライトと簡単な設定(Perl Best Practiceに載ってるようなやつ)でPerlのコードとか書いてました。世の中は便利になってるんですね^^;;

そして、日本を代表するハッカーのみなさんはgithubにdotfilesをのっけてくれてます。とても参考になります! Thank you very much for sharing with us! 昔先輩の設定ファイルをコピーしたのを思い出します。Unix最高です。まぁ、ときどき全て700なファイルな人もいましたが^^;;

Vundleのインストールはsasata299さんのページを参考にして

そしてvimrcはsasata299さんとcsideさんのdotfilesを参考にしました。

一応私のも置いてあります。。 https://github.com/shoheik/dotfiles/blob/master/.vimrc

ちなみに別ホストでSubmoduleのインストールは下のようにやる

$ git submodule init .vim/vundle.git/
$ git submodule update .vim/vundle.git/

5. mosh

さすがMIT!http://mosh.mit.edu/

サーバとクライアント側ともにインストールが必要。macはbrew moshは違うものが入ってしまうので注意。

$ brew install mobile-shell  # on client – mac osx
# yum install mosh # on CentOS

b-mobileの192bps 1年間のやつ持っているので試しました。 ADSL/光みたいねサクサク!ってほどサクサクではありませんが、タイプしても止まることがなくなりストレスはかなり軽減できて開発できそうです。 iphone5のテザリング欲しさに買うところをがまんできそうです。

まとめ

設定超楽しい。やっぱIT好きだってのを認識しました。 今度はPerlのCartonも触ってみたいし、bashrcの整理もしないと。。