2

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

谢谢!

4

1 回答 1

4

要切换鼠标报告,请按⌘</kbd>-R in Terminal.app.


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

Vim 到系统

借助自制软件或支持的 vim +clipboard,我使用了"*yanks 和 puts 的寄存器。这与系统的其余部分很好地连接。

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

外壳到系统

macOS 提供pbcopy(1)pbpaste(1). 默认情况下,他们使用系统剪贴板。pbcopy是从标准输入读取的接收器,pbpaste而是写入标准输出的源。

我经常将这些用于命令行剪贴板交互。

Tmux 复制粘贴

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

使用一系列键绑定进行导航。

取决于EDITORVISUAL包含vi,tmuxcopy-mode与 emacs 样式的绑定或copy-mode-vi类似 vi 的绑定一起使用——您可以.tmux.conf使用status-keysandmode-keys选项更改默认值。有关man tmux更多详细信息,请参阅。

在我看来,默认的类似 vi 的绑定有点缺乏,所以我选择将以下内容放在我的.tmux.conf:

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

做出选择后,我可以将其放在 tmux 中的任何位置Prefix- ]。也有缓冲区可供选择。

Tmux 和 vim

:set paste我可以通过,o和我的 tmux 粘贴键粘贴到 vim 中。我使用 unimpaired,所以粘贴切换变为]op. 使用来自 github 的 Tim Pope 的 tbone,我也可以在 vim 中使用:Tput和。:Tyank

Tmux 和系统

更新:我最近了解到以下内容可以解决问题!

tmux show-buffer | pbcopy

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

# pbcopy <<<'{TMUX PASTE}'

这并不完美:如果我用单引号粘贴任何内容,我通常必须通过并做一些编辑工作。在 vi 模式下带有 readline 的 bash 中,这很简单<Esc>kv,然后我可以在 vim 中进行编辑,直到我满意为止。

更简单且不易出错的替代方案通常是

# pbcopy
{TMUX PASTE}
<C-d> # send End-of-file
于 2019-07-28T21:36:52.580 回答