Linux – Efficient key bindings using both Mac and Linux

linuxmacosUbuntu

I'm still switching back and forth all the time from linux to mac, and I can't figure out how to stop getting confused in my keystrokes, especially with browsers, and unix apps.

Here's the situation:
* Emacs, vim, shell, and other unix apps use the ctrl key the same on both mac and linux
* Some VERY common keystrokes of copy, paste, cut, all are swapped cmd on the mac, and ctrl on linux.

Some things I tried:
* Using cmd as ctrl in emacs — kind of works, but then it confuses other unix type apps
* Swapping the position of cmd and ctrl on the keyboard — good for copy, paste, all, and not much else.

I can't possibly be the only one that goes back and forth between mac and linux having this issue.

Would it possibly be better to approach this from the Linux side and change the mappings there so that I can have the same ones on the Mac?

The main problem is browser apps (Chrome/Firefox) and then unix type apps (Emacs, IntelliJ, Rubymine, Vim, tmux).

Best Answer

After a number of months, I did come to a solution that I like.

  • On the Mac, I got used to the fact that there are 3 main modifiers: Cmd, Ctrl, Opt.
  • On the Linux box, I use the same kinesis keyboard and have the same layout for the modifiers, such that I map:
Mac => Linux
CMD == Ctrl
Opt == Alt
Ctrl == Ctrl

The key was to have ctrl twice. And then I got used to the differences between cmd and ctrl on the mac, and on the PC, it worked out that ctrl is the key. For example:

In Chrome:

Ctrl-tab on the Mac ==> Ctrl-tab on Linux
Cmd-C on the Mac ==> Ctrl-c on Linux.

So I can hit two different keys on Linux and get the same result as the Mac.

If you have a windows type keyboard, you can remap something like the special windows key to be the mac command key.

I've since switched to just using a Mac, and, without a doubt, that's way more efficient for touch typing!

Related Question