開発環境をいじってみて、タイトル通りの環境に落ち着きました。
その経緯を書いていきます。
もともとの開発環境
- MacVim
- tmux
- Terminal
言語は主にPHPを使っていて、場合によってPython, Ruby, Goなど。
Neovimの導入
以前からちょいちょい試していたのですが、GUI環境で良いのがなかったのがネックになり完全導入はできていませんでした。
Vimを使っていて特に困っていなかったのですが
今回はどうしてもDeniteでfloting windowを使いたかったので、思い切ってTerminalでNeovimを使うことにしました。
homebrewを使ってインストール
$ brew install neovim --HEAD
$ nvim -v
# -> NVIM v0.5.0-cb8b942
tmux
もともと使用していたので、特に変わりなく使っています。
alias tmux-new='tmux new -c ~/develop -s develop -n _vim nvim \;\
neww -c ~/develop -n src \;\
neww -c ~/develop -n docker docker exec -it hogehoge \;\
neww -c ~/develop -n fugafuga \;\
'
こんな感じで、aliasを作って環境を一気に立ち上げるようにしています。
0とやるとNeovimが立ち上がるので便利です。
iTerm2
もともとTerminalを使ってNeovim+tmuxで開発をしていたのですが、
なんだかカーソルの動きがカクつくというかスムーズに動かないのが気になってきました。
悩んだ結果、iTerm2を試してみることに。
そうしたら、カーソルもスムーズに動くようになりました!
Terminalを置き換えただけで特に設定はなし。カラーテーマを「Solarized dark」に変えただけ。
ちょっと困ったところ
ファイルの変更通知がでない
MacVimでは別アプリなどでファイルが更新されたときに警告が出ます(:help W11
)。
Terminalで使っているとこれが出ないようでした。下記の設定を入れることで表示されるようになりました。
set -g focus-events on
set noautoread
autocmd FocusGained * checktime
:terminalの設定が動かない
vimでは下記のような設定をしていました
command! T lcd %:p:h | bo terminal ++close bash --login
しかし、下記の問題が発生しました。
- ++closeがないという警告がでる
- インサートモードでスタートしない
下記のように設定を変えることで解決しました。
command! T lcd %:p:h | bo split term://bash --login | normal i
ただ、いままではexit
でウインドウが閉じていたのですが、nvimでは閉じてくれないようでした。
これはまだ解決できていません。
まとめ
今のところ快適に使えています。
現状、iTerm2の利点は感じていないので、どうにかしてTerminalに戻れないかなと頑張ってます。