https://qiita.com/fasahina/items/2767891134028648f288
viは、モードのあるエディターです。一般人のみなさんがお使いになっている、WindowsやMacのデスクトップアプリケーションのエディターは、モードレス(モードのない)エディターです。
注:Twitterなどのクソレスホイホイを使っていると、viやemacsを愛用するご老人からクソレスがたくさん張り付くのですが、事前にお伝えしておくと、私は毎日viを利用しています。gitなどで。
viがなぜモード(標準モード・挿入モード)を持つかというと、アローキー(矢印キー)を使わずにカーソル移動・ページ移動をできるようにするためです。これの何が便利かというと、指をキーボードのホームポジションから離さずに、カーソル移動ができるのです。逆にいうと、ここにメリットを感じないなら、モードのあるエディターはうざいだけです。
エンジニアの多くは、短気で癇癪持ちで高効率にこだわります。キー入力の0.1秒にこだわるのです。
以前、私はtwitterでviをdisったら、viを愛する方からウンコ💩を投げられました。だから容赦なく💩を投げ返しました。
ブラウザのURLの入力欄でviのキーバインドが使えますか?
レスは返ってきませんでした。
ちなみに、MacならデフォルトでEmacsのキーバインドが利用できます。Control
キーを押しながらb
とf
を押してみて下さい。カーソルが移動します。Control
キーとh
で削除です。他にもたくさんありますが、覚えにくいのが難点です。操作性も良いとは言い難いでしょう。
そこで登場したのが、私が考案したダイヤモンドカーソルです。
Control
キーとi
k
j
l
を利用します。i
→ 上k
→ 下j
→ 左l
→ 右
です。
これをtwitterで投稿したら、
ダイヤモンドの意味を知らねーんじゃねーの?w
っていう💩を投げられました。
Krabiner-Element
macOS標準では、私の考案したダイヤモンドカーソルは実現できません。私の考案したダイヤモンドカーソルを使いたい方は、Krabiner-Elementをインストールして下さい。
~/.config/karabiner/assets/complex_modifications
ディレクトリに以下のjsonファイルを保存して、環境設定から有効にして下さい。
{"title":"Diamond Cursor","rules":[{"description":"LControl + i, k, j, l is change to arrow cursor","manipulators":[{"type":"basic","from":{"key_code":"i","modifiers":{"mandatory":["left_control"],"optional":["any"]}},"to":[{"key_code":"up_arrow"}]},{"type":"basic","from":{"key_code":"k","modifiers":{"mandatory":["left_control"],"optional":["any"]}},"to":[{"key_code":"down_arrow"}]},{"type":"basic","from":{"key_code":"j","modifiers":{"mandatory":["left_control"],"optional":["any"]}},"to":[{"key_code":"left_arrow"}]},{"type":"basic","from":{"key_code":"l","modifiers":{"mandatory":["left_control"],"optional":["any"]}},"to":[{"key_code":"right_arrow"}]}]},{"description":"LControl + < or > is word jump!","manipulators":[{"type":"basic","from":{"key_code":"comma","modifiers":{"mandatory":["left_control"],"optional":["any"]}},"to":[{"key_code":"left_arrow","modifiers":["left_option"]}]},{"type":"basic","from":{"key_code":"period","modifiers":{"mandatory":["left_control"],"optional":["any"]}},"to":[{"key_code":"right_arrow","modifiers":["left_option"]}]}]},{"description":"LControl + : or ; is line jump!","manipulators":[{"type":"basic","from":{"key_code":"semicolon","modifiers":{"mandatory":["left_control"],"optional":["any"]}},"to":[{"key_code":"left_arrow","modifiers":["left_command"]}]},{"type":"basic","from":{"key_code":"quote","modifiers":{"mandatory":["left_control"],"optional":["any"]}},"to":[{"key_code":"right_arrow","modifiers":["left_command"]}]}]},{"description":"LControl + [ or ] is page up/down!","manipulators":[{"type":"basic","from":{"key_code":"close_bracket","modifiers":{"mandatory":["left_control"],"optional":["any"]}},"to":[{"key_code":"page_up"}]},{"type":"basic","from":{"key_code":"backslash","modifiers":{"mandatory":["left_control"],"optional":["any"]}},"to":[{"key_code":"page_down"}]}]}]}
え?Windows???
XPの時は、猫まねき
とか 窓使いの憂鬱
を使っていましたが、Windows10では動かないんじゃないかなぁ?