有没有办法在 MacOS 上通过终端使用普通键盘文本选择?
Posted
技术标签:
【中文标题】有没有办法在 MacOS 上通过终端使用普通键盘文本选择?【英文标题】:Is there any way of using normal keyboard text selection with a terminal on MacOS? 【发布时间】:2021-08-27 19:03:01 【问题描述】:在过去的大约 10 年里,我习惯于使用 alt/⇧/⌘ 键来操作文本。例如,alt+← 代替跳回一个单词,alt+⇧+← 选择该单词,⌘+→ 跳转到行尾,等等。
我知道终端有不同的约定并且历来是第一位的,但我已经习惯了这些快捷方式,它们工作得很好,而且在其他任何地方都可以使用。有没有办法在终端中获得相同的控件来选择和操作文本?
我看到了以下问题:
How to move the cursor word by word in the OS X Terminal How do I clear/delete the current line in terminal?但它们只涉及移动光标,而不是选择。
【问题讨论】:
你的意思是像vi这样的编辑器吗?或者你的意思是在命令行上?我还可以建议您使用 iTerm2 并查看superuser.com/questions/1051668/…吗? 在理想情况下,我希望它直接与命令行集成,因此它也适用于集成终端,例如 VSCode 中的终端。 ITerm2 看起来很有趣,我会研究一下,谢谢。 【参考方案1】:移动光标:
Ctrl+A 转到行首(Home) Ctrl+E 转到行尾(End) 按住 Option 键选项并单击当前行 = 向后跳转 Ctrl+P 上一个命令(向上箭头) Ctrl+N 下一个命令(向下箭头) 按住 Option 键选项并单击上一行 = 向上跳转 Ctrl+F 前进一个字符 Ctrl+B 后退一个字符 Alt+B 后退(左)一个字或使用Option+→ Alt+F 前进(右)一个单词或使用Option+← Ctrl+xx 在行首和当前光标位置之间切换 更多信息:https://ss64.com/osx/syntax-bashkeyboard.html
【讨论】:
【参考方案2】:取决于 macOS 版本 - 您的默认 shell 可能是 zsh。
快捷键选项是 ctrl + a/e 移动到行首/行尾和 esc + W/B 向后/向前移动一个单词
其他流行的替代品是 -
一个。 bash - 使用@Hossein Amiri 的答案中列出的快捷方式
b. iterm2 - 来自 - https://coderwall.com/p/a8uxma/zsh-iterm2-osx-shortcuts
Put this in your .zshrc
bindkey "[D" backward-word
bindkey "[C" forward-word
bindkey "^[a" beginning-of-line
bindkey "^[e" end-of-line
And set iterm preferences.
【讨论】:
【参考方案3】:你不能,我找了很久。这就是人们使用 iTerm 的原因,他们仅使用键盘即可获得更大的灵活性。
https://iterm2.com/features.html
复制模式
使用键盘进行和修改选择。
【讨论】:
以上是关于有没有办法在 MacOS 上通过终端使用普通键盘文本选择?的主要内容,如果未能解决你的问题,请参考以下文章
MacOS:在NSMenuItem快捷键入或鼠标按下之间进行标识