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`