Gab*_*ira 3 macos vim terminal tmux terminal.app
tmux我在 macOS Sierra 中使用Terminal.app。当我想禁用“允许鼠标报告暂时复制/粘贴并单击”时,我需要按fn长苹果键盘中很远的键。有没有办法将此 fn 键更改为更接近的键,例如ctrl, alt, option?谷歌搜索了一段时间后我似乎找不到方法。
谢谢!
要切换鼠标报告,请在 Terminal.app 中按\xe2\x8c\x98- R。
\n我想分享我的 Terminal.app + tmux + vim 工作流程,因为它与复制粘贴有关,以提出替代方案。
\n通过自制或+clipboard支持的 vim,我使用"*寄存器进行猛拉和放置。这与系统的其余部分很好地接口。
您总是可以:r !pbpaste或:w !pbcopy也可以(如下所述)。
macOS 提供pbcopy(1)和pbpaste(1). 默认情况下,他们使用系统剪贴板。pbcopy是从 stdin 读取的接收器,而pbpaste是写入 stdout 的源。
我经常使用它们来进行命令行剪贴板交互。
\n使用 tmux 命令进入复制模式copy-mode(默认为Prefix- )。[
使用一系列按键绑定进行导航。
\n根据EDITOR或VISUAL包含vi,tmuxcopy-mode与 emacs 样式的绑定或copy-mode-vi类似 vi 的绑定一起使用\xe2\x80\x94,您可以使用.tmux.conf和status-keys选项更改默认值mode-keys。请参阅man tmux了解更多详情。
在我看来,默认的类似 vi 的绑定有点缺乏,所以我选择将以下内容放入我的.tmux.conf:
bind-key -T copy-mode-vi v send-keys -X begin-selection\nbind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel\nRun Code Online (Sandbox Code Playgroud)\n一旦我做出选择,我可以使用Prefix-将其放在 tmux 中的任何位置]。还有缓冲区可供选择。
\n:set paste我可以通过、和我的 tmux 粘贴键粘贴到 vim 中o。我使用的是unimpaired,所以粘贴切换变成了]op。通过来自 github 的 Tim Pope 的 tbone,我还可以使用:Tput和:Tyank。
更新:我最近了解到以下内容可以解决问题!
\ntmux show-buffer | pbcopy\nRun Code Online (Sandbox Code Playgroud)\n这是最难的部分:我通常在 shell 中执行以下操作:
\n# pbcopy <<<'{TMUX PASTE}'\nRun Code Online (Sandbox Code Playgroud)\n它并不完美:如果我粘贴带有单引号的任何内容,我通常必须进行一些编辑工作。在 vi 模式下使用 readline 的 bash 中,这很简单<Esc>kv然后我可以在 vim 中编辑直到我满意为止。
更简单且不易出错的替代方案通常是
\n# pbcopy\n{TMUX PASTE}\n<C-d> # send End-of-file\nRun Code Online (Sandbox Code Playgroud)\n