Mencari konsistensi keybinding cross-platform yang tidak bertentangan

11

Saya menggunakan Mac OS X dan Arch Linux dan kadang-kadang masuk ke server FreeBSD dan Debian oleh ssh. Alat favorit saya adalah zsh, ssh, tmux, git, vim dan irssi. Saya menggunakan iTerm2 di Mac OS X dan unicode-rxvt di Arch Linux, di mana saya juga menggunakan Xmonad sebagai window manager.

Saat ini Ctrl + a + n bergeser ke jendela berikutnya di tmux, Alt + kanan bergeser ke yang berikutnya di irssi, Cmd + kanan bergeser ke tab berikutnya di iTerm2, Ctrl + w + w bergeser ke buffer berikutnya di vim dan seterusnya . Pada dasarnya itu hanya berantakan dan meskipun beberapa dari ini duduk di memori otot yang paling tidak. Saya mencari apa yang bisa menjadi skema pengikat kunci yang konsisten.

Dalam pikiran saya, saya pikir Cmd / Super / Win harus digunakan oleh lingkungan desktop OS dan / atau window manager, Alt akan tmux dan Ctrl akan vim dan irssi. Itu bergerak dari kanan ke kiri pada keyboard; Cmd, Alt, Ctrl, dan dengan cara yang agak hierarkis, OS / DE / WM, multiplexer, editor / irc client.

Karenanya, sesuatu seperti ini:

Cmd + Kiri / + Kanan - Ganti ruang kerja (Xmonad)
Alt + Kiri + / Kanan - Ganti jendela tmux
Ctrl + Kiri / + Kanan - Ganti jendela irssi / buffer vim

Cmd + 1 - Beralih ke ruang kerja 1 (Xmonad)
Alt + 1 - Beralih ke jendela tmux 1
Ctrl + 1 - Beralih ke jendela irssi 1 / vim buffer 1

Apakah ini layak? Jika tidak, gantungan kunci seragam apa yang bisa digunakan?


DIPERBARUI

Saya membuat gambar (warnanya mengerikan, saya tahu) untuk menggambarkan apa yang ada dalam pikiran saya. Saya menggunakan Dvorak dan mengganti gerakan hjkl vim dengan dhtn - Saya akan menulis kiri / bawah / atas / kanan agar masuk akal bagi mereka yang tidak menggunakan vim. Mari kita simpan ke iTerm2 daripada seluruh lingkungan desktop OS X (serta Gnome dan KDE). Pada dasarnya turun ke ini:

cmd + kiri / kanan / angka untuk ruang kerja di Xmonad (atau manajer jendela apa pun yang Anda suka)
alt + kiri / kanan / angka untuk windows di tmux
ctrl + alt + kiri / bawah / atas / kanan / angka untuk buffer di vim
ctrl + alt + kiri / kanan / nomor untuk windows di irssi
ctrl + kiri / bawah / atas / kanan untuk rumah / pg bawah / pg atas / akhir dalam vim, irssi dan zsh

masukkan deskripsi gambar di sini Di OS X ctrl + kiri / bawah / atas / kanan sudah berfungsi seperti di atas, dan alt + kiri / kanan memindahkan kursor dengan kata yang berlawanan dengan hanya kiri / kanan yang memindahkannya berdasarkan karakter.

Bukankah ini cukup logis dan intuitif? Apakah saya melewatkan sesuatu (ikatan kunci yang bertentangan) atau apakah ini bisa dilakukan?

Totte
sumber
Ugh, semoga beruntung di sana ... itulah jalan menuju surga, yaitu ...
Benteng

Jawaban:

5

Saya mencoba menyusun lembar contekan atau kartu referensi. Setelah menjelajahi berbagai kemungkinan saya akhirnya melakukan yang berikut:

  1. Beralih dari keyboard Swedia ke bahasa Inggris (internasional) karena yang terakhir (menurut saya) unggul ketika menulis kode dan juga masih dapat mengetik åäö dengan alt + a / + w / + u / a + + o.
  2. Beralih dari QWERTY ke Dvorak karena saya suka bagaimana kunci diposisikan (tidak ada klaim ilmiah di sini) untuk keperluan pemrograman (lihat "Programmer Dvorak" tapi itu terlalu banyak).
  3. Ganti gerakan hmkl vim dengan dhtn, dD dengan jJ (mnemonic: "junk"), K dengan H dan awalan ctrl + w dengan ctrl + o .
  4. Beberapa tambahan kecil (dan fitur canggih yang tidak mengikat untuk memulai dengan mudah) ...

TL; DR - tetap menggunakan awalan yang tersedia, misalnya ctrl + a di tmux, ctrl + o (Dvorak) / ctrl + s (QWERTY) dalam vim dan irssi. Ini tampaknya memiliki konsekuensi paling sedikit dan agak ramah antar platform.

kartu referensi vim dvorak

Totte
sumber