macos - `tmux` 的 OSX Terminal.app 中的替代/重新映射`fn` 键
问题描述
我tmux
在 macOS Sierra中使用Terminal.app
。当我想暂时禁用允许鼠标报告以复制/粘贴并单击时,我需要按下fn
长苹果键盘中远处的键。有没有办法将此 fn 键更改为更接近的键ctrl, alt, option
?在谷歌搜索了一段时间后,我似乎无法找到如何。
谢谢!
解决方案
要切换鼠标报告,请按⌘</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- )进入复制模式。[
使用一系列键绑定进行导航。
取决于EDITOR
或VISUAL
包含vi
,tmuxcopy-mode
与 emacs 样式的绑定或copy-mode-vi
类似 vi 的绑定一起使用——您可以.tmux.conf
使用status-keys
andmode-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
推荐阅读
- java - Circular Array Rotation Hackerrank
- vba - 无法使用 vba 上传文本文件
- javascript - 如何在 Node.js/Javascript 中停止无限循环
- .htaccess - PHP - 语义 URL 查询字符串的问题
- assembly - How to get the machine code from Mars simulator
- javascript - 是否可以使用 eval 退出函数?
- flutter - GlobalKey 和 GlobalKeyObject 有什么区别?
- reactjs - How to get queryset in django rest framework for foreignkey?
- javascript - Facebook Login 不断重复询问权限 React Native?
- oracle - Not able to make new oracle db connection in sqldeveloper