OSX Terminal.app中的tmux的替代/重新映射fn键

时间:2019-07-17 09:09:54

标签: macos vim terminal tmux terminal.app

我在macOS Sierra tmux中使用Terminal.app。当我要禁用“允许临时报告鼠标复制/粘贴并单击”时,我需要按一下fn键,该键在我的长苹果键盘中很远。有没有办法将此fn键更改为更接近的键,例如ctrl, alt, option?谷歌搜索了一段时间后,我似乎找不到方法。

谢谢!

1 个答案:

答案 0 :(得分:0)

要切换鼠标报告,请在Terminal.app中按- R


我想分享我的Terminal.app + tmux + vim工作流程,因为它与复制粘贴有关,以提出替代方法。

访问系统

借助来自自制软件的vim或+clipboard的支持,我利用"*寄存器来获取扬子和看跌期权。这样可以与系统的其余部分很好地连接。

您也总是:r !pbpaste:w !pbcopy(如下所述)。

Shell到系统

macOS提供了pbcopy(1)pbpaste(1)。默认情况下,它们使用系统剪贴板。 pbcopy是从stdin读取的接收器,而pbpaste是写入stdout的源。

我经常使用这些命令进行命令行剪贴板交互。

Tmux复制并粘贴

使用tmux copy-mode命令进入复制模式(默认为前缀- [)。

导航一系列按键。

取决于包含{{1}的EDITORVISUAL,tmux将vi与emacs样式的绑定一起使用,或者将copy-mode与vi的类似的绑定一起使用-您可以更改copy-mode-vi中带有.tmux.confstatus-keys选项的默认值。有关更多详细信息,请参见mode-keys

我认为默认的类似于vi的绑定有点缺乏,所以我选择在man tmux中添加以下内容:

.tmux.conf

选择后,可以使用前缀-] 将其放置在tmux中的任何位置。还有缓冲区可供选择。

Tmux和vim

我可以通过bind-key -T copy-mode-vi v send-keys -X begin-selection bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel :set paste和我的tmux粘贴键粘贴到vim中。我使用的是无障碍的,因此粘贴切换变为o。使用github上Tim Pope的tbone,我也可以在vim中使用]op:Tput

Tmux和系统

这是最难的部分:我通常在shell上执行以下操作:

:Tyank

这不是完美的:如果我用单引号粘贴任何内容,则通常必须经过一些编辑工作。在vi模式下具有readline的bash中,这很简单,# pbcopy <<<'{TMUX PASTE}' 然后我可以在vim中进行编辑直到满意为止。