post:: 2019/02/16
tags

2019, tech, Vim, Mac

category

Vim

開発マシンをWindowsからMacに移行する考察メモ

前置き

Windows95、98辺りからずっとWindowsを使っていた人が仕事でMacを使うようになった時の記録。

使っていて引っかかった部分、開発で使う場合にどうすれば楽に移行できるかについてのメモ。

GUI

デスクトップ画面があって、タスクバーがあって、アプリケーションはウィンドウで開く…という点については同じ。

ウィンドウの「閉じる」「最小」等のアイコンが左右逆なので、使い辛さはあるがマウスでポチポチやる分には困る事はない。

ウィンドウの切り替え

Windowsだと同じアプリケーションでもそれぞれが独立していて Alt+Tab でアクセスできる。

Macだと Command+Space で似たような事ができる。 ただし、同じアプリケーションは一つにまとまってしまう。同じアプリケーションを複数ある場合に一発でアクセスできない。

注釈

アプリケーションを全画面にして左右にスライドさせるやり方もあるらしい。 操作はキーボードで完結させたいので何だかんだ使っていない。

キー配置

基本的には変わらないが、開発者なら多用する左手にあるCtrl辺りのキーが異なる。

外付けのキーボードを使えば悩まなくて良いのかは調べてないので不明。

Karabiner

Macのキー配置に慣れた方が良いが、あまりにも使いにくい場合は Karabiner でキー配置変更するのが無難。

現状は左下のCaps LockキーをCtrlキーに変更している。 Vimだと大文字小文字でコマンドが変わるので、これを変更したら誤操作がなくなった。

参考

Windowsキー

当然ながら存在しない。

代わりにCommandキーなるものがあるが、これはCtrlやAlt等の機能を総括した便利キー。

といっても、CommandキーはCtrl代わりには使えない。 Ctrl+u の代わりに Command+u とはできないので要注意(引っかかった奴)。

Altキー

便利で好きなんだけどな、ないんだな。

Ctrlキー

位置が違うので辛い。 大文字入力にするキーが配置されている。辛い。

WindowsだとCaps Lockなんかがある位置にある。辛い。

PageUp PageDown

ない。

全角半角キー

ない。

スペースキーの左右に かな全角 専用キーが存在する。 トグルに慣れているので、Karabinerで左側のキーを全角半角キーに変更した。

注釈

キー操作を極力同じにする為に、Windowsでもスペースキーの左側のキーを全角半角にしたら結構便利だった。 Windowsのレジストリ変更でキー配置を変えるソフトは色々あるので探されたし。

ターミナル

CygMacがほしい。

デフォルトのTerminal.appは今一なので、現状iTerm2に落ち着いている。

エディタで色設定をするのにTerminal.appだと色数が少ないのが原因。 (設定で変えられるのか調べていない)。

以下のコマンドで色表示を確認できる。Terminal.appだと色がガクガクでiTerm2だとなめらかな虹色が表示されるはず。

awk 'BEGIN{
   s="yaesan!";s= s s s s s s s s s s s;
   for(col=0; col<77; col++) {
   r=255-(col*255/76);g=(col*510/76);b=(col*255/76);
   if (g > 255) g=510-g;
        printf "\033[48;2;%d;%d;%dm", r,g,b;
        printf "\033[38;2;%d;%d;%dm", 255-r,255-g,255-b;
        printf "%s\033[0m", substr(s,col+1,1);
   }
}'

あとはタブ表示できるのは便利。

エディタ

Vimを使うのが一番ではないだろうか。 設定ファイルは.vimrc一つにまとめられるし、大体デフォルトでインストールされている。 上でも書いたがキー配置が違うので、細かくキーマップを設定できるのは心強い。

他のエディタでも似たような事は出来るのかもしれないが、 Git for Windowsにも入っていて開発者なら慣れているはずなのでVimを使うのが良いだろう。 ちょっとしたメモでもVimを使うようにしていれば案外すぐ慣れる。

注釈

Macのデフォルトだとバージョンが違うのか:termコマンドがなかった。 バージョンとか機能を気にする場合、別途インストールする必要はあるかもしれない。

キーマップ

とにかくCtrlの位置が違うので、Ctrlを使わないようなキーマップにすると楽。 配置が同じなのは数字キーとアルファベット、Shift、Space、Enterくらいだと思っておく。

Altキー

Windowsの時にはPyCharmのファイルリストをAlt+1で呼び出していたので、NERDTreeの表示も揃えていた。

Windowsだと<M>をAltに設定出来たが、Macだとそれにあたるキーがなかった(?)ので、 メタキーは極力使わずに別のキーを使うのが良いだろう。

<Leader>キー

具体的には<Leader>キーを<Space>に設定し、 CtrlやAltを使うようなコマンドを<Space>+<key>にしてしまう。

プラグイン

vim-favorite-plugin

IDE

言語毎に異なるIDEを使うと設定が辛いので、とりあえず汎用のVSCodeに落ち着いている。 デフォルトだとsyntaxの色設定がないので、使用する言語のExtensionは一通り導入しておくのがいいだろう。

基本はLintを導入したVimでコードを書くが、 大雑把にファイルを把握したい場合、Vimの操作が不安な場合に使う。

また、他の人とソースを見る場合はVimではなくIDEを使った方が良い。

IDEではVimバインドにはしない。 キーマップは個人差があるし。

注意

全てのエンジニアがVimmerとは限らない…!

Git

WindowsでGit Bashを使うとコマンドの補完できる。

Macにはないので、自前で補完用のプラグインを持ってくる必要がある。

注釈

bash-profile-git-bash を参照されたし。

Vimを使う場合、vim-fugitiveを入れ、Git操作はVimで完結するのも案外いける。

gitk

ブランチや差分を確認できる簡易のGUIツール。

Git for Windowsだとデフォルトで入っているはず。

軽いので重宝していたがMacでは別途インストールが必要。 brew install で入るはず。

.gitconfigで以下のエイリアスを作成してターミナルで確認するのもあり。

.gitconfig
`graph = log --graph --oneline --decorate=full`