Mik*_*maa 23 keyboard-shortcuts zsh key-binding iterm2
我登录了其中一个托管提供商服务器,并注意到 ALT + left 和 ALT + right 在 GNU Screen 的 shell 提示中的单词之间移动。
我需要配置什么样的键绑定,以及在 iTerm2 中运行的本地 OS X zsh 在哪里获得这种行为?
小智 32
我在这里找到了解决方案:https : //coderwall.com/p/h6yfda。将复制其中最重要的部分,以防链接断开。
小智 7
您正在寻找关键字backward-word和forward-word。因此,如果您使用的是键绑定不起作用的外壳,请尝试bindkey -L | grep backward-word检查它们是否已配置。在zshzle(1) 中有更多关于此的信息。
您可以通过键入以下内容来手动设置键绑定:
bindkey ' Ctrl+ v Alt+ Right' 前向词
bindkey ' Ctrl+ v Alt+ Left' 反向词
我在键绑定方面也遇到了一些麻烦,问题几乎总是 Option/Alt 键发送的东西与预期的 Meta/Escape 不同。
小智 7
在使 iTerm2 的命令行导航对我来说更直观方面对我最有效(我是一个没有在命令行上长大的年轻人,但我在文本编辑器和 IDE 上花了很多时间)是到:
Natural Text Editing在预设下拉列表中选择选项。这会将编辑器的键默认设置为更标准的排列,而我不必单独修改每个选项。
小智 6
我不能代表 iTerm,但这些是我在 Fedora 19 上的 GNOME 终端下使用 Oh-my-zsh 运行 ZSH 5.0.7 来解决此问题的键绑定:
bindkey "\e[1;3C" forward-word
bindkey "\e[1;3D" backward-word
Run Code Online (Sandbox Code Playgroud)
其中\e== 转义键序列(如第 4.1.1 节所述)
在某些情况下,以及[== (大写 O;如第4.2.1O节所述)。例如,在这种替换对我来说是必要的,但是如果没有则要求不进行替换并且==tmuxtmux[[
可以使用cat并按下所需的序列来获取序列的键码。例如,按下的结果<Alt+Right>应如下解释:
$ cat
^[[1;3C
Run Code Online (Sandbox Code Playgroud)
^[== \e== 转义键序列
[==[不带tmuxOR
[== O(大写 o)带tmux
1;3== 我不确定这个,但逻辑上应该是这样的<Alt>
C== 右方向键
然后,将此序列作为第一个参数bindkey在~/.zshrc文件中提供持久性,并绑定,这意味着参数一中的击键将执行特定的编辑器命令(或 zsh 术语中的小部件),该小部件在第一个中上例中的行是forward-word.
~/.zshrc在将这两个命令附加到它之后,应该重新获取源:
$ source ~/.zshrc
现在,我的系统上的一个烦恼是,这种特定的组合导致终端仿真器在每次发出命令时发出蜂鸣声,我通过禁用
'Edit'->'Profile Preferences'->'Terminal Bell'复选框。
| 归档时间: |
|
| 查看次数: |
13909 次 |
| 最近记录: |