Mat*_*ias 673
在iTerm2中添加以下配置文件快捷键
FOR ACTION SEND
?? "SEND HEX CODE" 0x01
?? "SEND HEX CODE" 0x05
?? "SEND ESC SEQ" b
?? "SEND ESC SEQ" f
Run Code Online (Sandbox Code Playgroud)
这是一个需要它的人的视觉
sqr*_*ren 367
要在iTerm2中的单词和行的开始/结束之间跳转,请按照下列步骤操作:
向左移动光标一个字
0x1b 0x62将光标向右移动一个字
0x1b 0x66将光标移动到行首
0x01将光标移动到行尾
0x05删除单词
0x1b 0x08删除行
0x15解开
0x1f不要忘记删除以前的绑定:
Tra*_*vis 235
我已经看到了很多很好的答案,但是这应该提供最接近本机OSX功能的功能,而不仅仅是你的shell.我确认这适用于ZSH,Bash,node,python -i,iex和irb/pry会话(使用rb-readline gem作为readline,但应该适用于所有).
打开iTerm首选项⌘+ ,并导航到Profiles选项卡(Keys可以使用该选项卡,但添加键盘绑定到您的配置文件允许您保存配置文件并将其同步到多台计算机)和keys子选项卡并输入以下内容:
删除光标左侧的所有字符
⌘+ ←Delete发送十六进制代码:
0x15更兼容,但功能有时是删除整行而不仅仅是光标左侧的字符.我个人使用它,然后覆盖我的zsh bindkey,^U只删除光标左侧的内容(见下文).要么
0x18 0x7f兼容性较低,在节点中不起作用,默认情况下不能在zsh中工作,请参见下面的修复zsh(bash/irb/pry应该没问题),在它工作时执行所需的功能.
删除光标右侧的所有字符
⌘+ fn+ ←Delete或⌘+ Delete→发送十六进制代码:
0x0b
删除光标左侧的一个单词
⌥+ ←Delete发送十六进制代码:
0x1b 0x08Elixir的IEX中断,似乎在其他任何地方都可以正常工作要么
0x17可以在任何地方使用,但不会停留在IRB中的正常单词中断,而是删除直到它看到文字空间.
删除光标右侧的一个单词
⌥+ fn←Delete或⌥+ Delete→发送十六进制代码:
0x1b 0x64
将光标移动到行的前面
⌘+ ←发送十六进制代码:
0x01
将光标移动到行尾
⌘+ →发送十六进制代码:
0x05
向左移动光标一个字
⌥+ ←发送十六进制代码:
0x1b 0x62
将光标向右移动一个字
⌥+ →发送十六进制代码:
0x1b 0x66
解开
⌘+ z发送十六进制代码:
0x1f
重做通常不会绑定在bash,zsh或readline中,因此我们可以将其设置为未使用的十六进制代码,然后我们可以在zsh中修复它
⇧+ ⌘+ Z或⌘+ y发送十六进制代码:
0x18 0x1f
现在如何解决任何不起作用的问题
对于zsh,您可以通过运行以下命令为尚未起作用的⌘+ ←Delete和⇧+ ⌘+ Z/ ⌘+ 设置绑定 y:
# changes hex 0x15 to delete everything to the left of the cursor,
# rather than the whole line
$ echo 'bindkey "^U" backward-kill-line' >> ~/.zshrc
# binds hex 0x18 0x7f with deleting everything to the left of the cursor
$ echo 'bindkey "^X\\x7f" backward-kill-line' >> ~/.zshrc
# adds redo
$ echo 'bindkey "^X^_" redo' >> ~/.zshrc
# reload your .zshrc for changes to take effect
$ source ~/.zshrc
Run Code Online (Sandbox Code Playgroud)
我无法找到在bash或readline中添加重做的解决方案,所以如果有人知道其中任何一个的解决方案,请在下面评论,我会尝试添加它们.
对于任何寻找关于如何将键序列转换为十六进制的查找表的人,我发现这个表非常有用.
Jai*_*yer 47
按照上面列出的教程在iterm2中设置密钥首选项.
Nik*_*Kov 37
在iTerm 3.0.12中,您可以切换到Natural Text Editing预设:
iTerm→首选项→配置文件→按键
警告由于它是预设,它可以覆盖之前绑定的键.因此,最好在应用预设之前保存当前的键绑定.
Ioa*_*dis 18
如需快速参考任何想要在iTerm2中走到行尾或行首的人,可以上面链接 http://hackaddict.blogspot.com/2007/07/skip-to-next-or-previous-word- in-iterm.html在iTerm2中 注意到:
我使用了Travis答案,并创建了可根据其说明导入的动态配置文件。
GabLeRoux / iterm2-macos-dynamic-profile
说明在自述文件中,与手动添加它们相比,导入它要快得多。我已按照@gooli的要求将此答案设为了答案,因为这已隐藏在评论中。希望你喜欢
只是为了帮助任何有相同问题的人,但特别是在iTerm 2中使用Zsh shell.事实证明,Zsh 无法/etc/inputrc正确读取,因此无法理解您通过首选项设置的任何键绑定!
要解决此问题,您需要为.zshrc文件添加一些键绑定,例如:
# key bindings
bindkey "\e[1~" beginning-of-line
bindkey "\e[4~" end-of-line
Run Code Online (Sandbox Code Playgroud)
请注意上面示例中"s"之前的反斜杠,链接的文章没有显示它们,因此.zshrc在添加绑定时将它们添加到文件中.
| 归档时间: |
|
| 查看次数: |
106733 次 |
| 最近记录: |