tot*_*tte 11 keyboard-shortcuts irssi vim key-binding tmux
我使用 Mac OS X 和 Arch Linux,偶尔通过 ssh 登录到 FreeBSD 和 Debian 服务器。我最喜欢的工具是 zsh、ssh、tmux、git、vim 和 irssi。我在 Mac OS X 上使用 iTerm2,在 Arch Linux 上使用 unicode-rxvt,我也使用 Xmonad 作为窗口管理器。
当前Ctrl+a+n移至 tmux 中的下一个窗口,Alt+right移至 irssi 中的下一个,Cmd+right移至 iTerm2 中的下一个选项卡,Ctrl+w+w移至 vim 中的下一个缓冲区,依此类推. 基本上它只是一团糟,尽管其中一些位于肌肉记忆中,但大多数都没有。我正在寻找什么可能是一致的键绑定方案。
在我看来,我认为操作系统桌面环境和/或窗口管理器应该使用 Cmd/Super/Win,Alt 是 tmux,Ctrl 是 vim 和 irssi。那是在键盘上从右到左;Cmd、Alt、Ctrl 以及以某种层次的方式,OS/DE/WM、多路复用器、编辑器/irc 客户端。
因此,像这样的事情:
Cmd+Left/+Right - 切换工作区 (Xmonad)
Alt+Left+/Right - 切换 tmux 窗口
Ctrl+Left/+Right - 切换 irssi 窗口/vim 缓冲区
Cmd+1 - 切换到工作区 1 (Xmonad)
Alt+1 - 切换到 tmux 窗口 1
Ctrl+1 - 切换到 irssi 窗口 1/vim 缓冲区 1
这可行吗?如果没有,可以使用哪些统一的键绑定?
在 OS X 中 ctrl+left/down/up/right 已经像上面一样工作,alt+left/right 按单词移动光标,而不是按字符移动光标的 left/right。
这不是相当合乎逻辑和直观吗?我是不是遗漏了什么(键绑定冲突)或者这可行吗?
我试着把备忘单或参考卡放在一起。在探索了各种可能性之后,我最终做了以下事情:
TL;DR - 坚持使用可用的前缀,例如在 tmux 中使用 ctrl+a,在 vim 和 irssi 中使用 ctrl+o (Dvorak)/ctrl+s (QWERTY)。这似乎影响最小,并且有点跨平台友好。
