84
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Organization

macOS カーソル強制バインディングのすすめ

昨日の記事(macOSでディスプレイ1枚で作業する技術)が思いの外バズってびっくりしてるさぼです。せっかくなのでもう一つ連投しようかなと。

普段、macOSのデフォルトのショートカットキーでctrl-n, ctrl-p, ctrl-f, ctrl-bを使っている人向けのtipsです。

デフォルトの移動系emacsキーバインド

ctrln, p, f, bで↓↑→←に移動できるのは使っている人ならわかると思います。これはターミナル上やemacsではうまく動きます。しかしそれ以外のアプリではショートカットキーの設定はバラバラで全然効かないものがあったり挙動が期待するものじゃなかったりします。どうにかならないかなーと思ってて解決策思いつきました。実験的にやってみて良さそうなので共有します。

⌘英かな、またはKarabiner-elementsのどちらかで設定します。

追記(2020/11/16)

macOS 11.0 Big Sur でも Karabiner-elements が動くことを確認できました。

Karabiner-elements

https://gist.github.com/saboyutaka/459c258579729da9046bc4697c23ea81
設定のJSONおいてます

cfef24ce-9993-a1ed-b780-6e63891155af.png

⌘英かな

⌘英かな 2.png

何をやっているか

ctrl-pなどを強制的にやじるしのカーソルに置き換えています。キーボードにある物理カーソルキーです。これを行うことで、ショートカットキーを完全にカーソルキーと同じ挙動にします。

この設定をして数年使ってますが、他のアプリでショートカットが衝突してません。メジャーなショートカットキーなのであえて避けられているんだと思います。

キーバインドを変更するアプリは他にもあると思うので好みのやつでどうぞ。

どこで便利なの?

絵文字パレット

Characters.png

みなさんMac使っていたら command + ctrl + space で出てくる絵文字パレット無いと生きていけないと思うのですが、これショートカットキーで出してもカーソル移動するショートカットキーなくて困りません?カーソルバインディングしてると操作できるようになります!

JetBrains系エディタ(RubyMine, PhpStorm, PyCharm, GoLandなど)

59f802c93165ce5385e5e78f4e9f6174-2.gif

Safari, Crome

  • スクロールをctrl+n, ctrl+opt+n, ctrl+command+nで行える。 safari
  • ぐぐった後に1つ目の記事を見るときはctrl+nするとカーソルが行くのですぐ開ける

Finder

Finder内の遷移も可能
finder

他にもいろいろ

  • macの環境設定でもメニューバーでもどこでも使える
  • JetBrains系のエディタでソースツリーをカーソル移動できる
  • Slackでctrl+opt+nで下のチャネルにいける
  • Web上のアプリで
    • Trelloでカードのカーソル移動できる
    • Google検索でカーソル移動できる

などなど。使える場所は数えらえられないほどたくさんあります。あまり普段意識しなくても一度使ってしまうとこれなしでは生きていけない体になります...

まとめ

実験的に初めて見ましたがいまとのころ不便に感じたところはないのでたぶん問題あまりないのかなと思います。アプリ側でもだいたいデフォルトのemacsのキーバインドを意識してここにショーカットを設定してるものは少ないと思います。
使うときはすごいシンプルでやじるしカーソルだと思って使えば良い。それだけです。ぜひおためしくださいー。

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
84
Help us understand the problem. What are the problem?