post:: 2019/02/16 :tags: 2019, tech, Vim, Mac :category: Vim ============================================ 開発マシンをWindowsからMacに移行する考察メモ ============================================ 前置き ====== Windows95、98辺りからずっとWindowsを使っていた人が仕事でMacを使うようになった時の記録。 使っていて引っかかった部分、開発で使う場合にどうすれば楽に移行できるかについてのメモ。 GUI === デスクトップ画面があって、タスクバーがあって、アプリケーションはウィンドウで開く…という点については同じ。 ウィンドウの「閉じる」「最小」等のアイコンが左右逆なので、使い辛さはあるがマウスでポチポチやる分には困る事はない。 ウィンドウの切り替え -------------------- Windowsだと同じアプリケーションでもそれぞれが独立していて `Alt+Tab` でアクセスできる。 Macだと `Command+Space` で似たような事ができる。 ただし、同じアプリケーションは一つにまとまってしまう。同じアプリケーションを複数ある場合に一発でアクセスできない。 .. note:: アプリケーションを全画面にして左右にスライドさせるやり方もあるらしい。 操作はキーボードで完結させたいので何だかんだ使っていない。 キー配置 ======== 基本的には変わらないが、開発者なら多用する左手にあるCtrl辺りのキーが異なる。 外付けのキーボードを使えば悩まなくて良いのかは調べてないので不明。 Karabiner --------- Macのキー配置に慣れた方が良いが、あまりにも使いにくい場合は `Karabiner `_ でキー配置変更するのが無難。 現状は左下のCaps LockキーをCtrlキーに変更している。 Vimだと大文字小文字でコマンドが変わるので、これを変更したら誤操作がなくなった。 参考 ^^^^ - https://qiita.com/kenmaz/items/0ff152af776a3e6e5f6e Windowsキー ----------- 当然ながら存在しない。 代わりにCommandキーなるものがあるが、これはCtrlやAlt等の機能を総括した便利キー。 といっても、CommandキーはCtrl代わりには使えない。 `Ctrl+u` の代わりに `Command+u` とはできないので要注意(引っかかった奴)。 Altキー ------- 便利で好きなんだけどな、ないんだな。 Ctrlキー -------- 位置が違うので辛い。 大文字入力にするキーが配置されている。辛い。 WindowsだとCaps Lockなんかがある位置にある。辛い。 PageUp PageDown --------------- ない。 全角半角キー ------------ ない。 スペースキーの左右に `かな` 、 `全角` 専用キーが存在する。 トグルに慣れているので、Karabinerで左側のキーを全角半角キーに変更した。 .. note:: キー操作を極力同じにする為に、Windowsでもスペースキーの左側のキーを全角半角にしたら結構便利だった。 Windowsのレジストリ変更でキー配置を変えるソフトは色々あるので探されたし。 .. role:: strike ターミナル ========== :strike:`CygMacがほしい。` デフォルトのTerminal.appは今一なので、現状iTerm2に落ち着いている。 エディタで色設定をするのにTerminal.appだと色数が少ないのが原因。 (設定で変えられるのか調べていない)。 以下のコマンドで色表示を確認できる。Terminal.appだと色がガクガクでiTerm2だとなめらかな虹色が表示されるはず。 .. code-block:: none 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を使うようにしていれば案外すぐ慣れる。 .. note:: Macのデフォルトだとバージョンが違うのか:termコマンドがなかった。 バージョンとか機能を気にする場合、別途インストールする必要はあるかもしれない。 キーマップ ---------- とにかくCtrlの位置が違うので、Ctrlを使わないようなキーマップにすると楽。 配置が同じなのは数字キーとアルファベット、Shift、Space、Enterくらいだと思っておく。 Altキー ------- Windowsの時にはPyCharmのファイルリストをAlt+1で呼び出していたので、NERDTreeの表示も揃えていた。 WindowsだとをAltに設定出来たが、Macだとそれにあたるキーがなかった(?)ので、 メタキーは極力使わずに別のキーを使うのが良いだろう。 キー ------------ 具体的にはキーをに設定し、 CtrlやAltを使うようなコマンドを+にしてしまう。 プラグイン ---------- :ref:`vim-favorite-plugin` IDE === 言語毎に異なるIDEを使うと設定が辛いので、とりあえず汎用のVSCodeに落ち着いている。 デフォルトだとsyntaxの色設定がないので、使用する言語のExtensionは一通り導入しておくのがいいだろう。 基本はLintを導入したVimでコードを書くが、 大雑把にファイルを把握したい場合、Vimの操作が不安な場合に使う。 また、他の人とソースを見る場合はVimではなくIDEを使った方が良い。 IDEではVimバインドにはしない。 キーマップは個人差があるし。 .. attention:: 全てのエンジニアがVimmerとは限らない…! Git === WindowsでGit Bashを使うとコマンドの補完できる。 Macにはないので、自前で補完用のプラグインを持ってくる必要がある。 .. note:: :ref:`bash-profile-git-bash` を参照されたし。 Vimを使う場合、vim-fugitiveを入れ、Git操作はVimで完結するのも案外いける。 gitk ---- ブランチや差分を確認できる簡易のGUIツール。 Git for Windowsだとデフォルトで入っているはず。 軽いので重宝していたがMacでは別途インストールが必要。 `brew install` で入るはず。 .gitconfigで以下のエイリアスを作成してターミナルで確認するのもあり。 .. code-block:: none :caption: .gitconfig `graph = log --graph --oneline --decorate=full`