如何使用键盘快捷键在 macOS 终端中选择一行?

Tre*_*ent 5 keyboard-shortcuts command-line terminal.app macos

我最近刚从 Windows 切换到 macOS,我以前使用过 PowerShell。在 PowerShell 中,我可以输入一个命令并点击ctrl/command a它,它会选择我写的任何内容,以便我可以复制/删除它。

当我按下command amacOS 终端时,它会选择整个窗口并且不允许我复制/删除我正在编写的行。

有人知道如何只选择所写的内容并复制/删除它吗?

slh*_*hck 5

Emacs 风格的快捷键

要删除您所写的所有内容,您可以按Ctrlu

如果您在行首,请按Ctrlk

要复制文本,您可以使用 kill ring:

  • 在你的终端输入一些东西
  • Ctrlu删除所有内容(或Ctrlk
  • 按下Ctrly以粘贴(“猛拉”)您刚刚删除的内容

这些是macOS 为(大多数)文本字段实现的一些Emacs 键绑定。有很多,学习它们非常有用,因为使用附加Ctrl键,您可以访问更多导航快捷方式。

请注意,上述复制粘贴操作使用系统剪贴板。要选择整条线,您可以双击它。但这也将包括$您可能已配置的任何提示前缀(例如,)。

替代方案:iTerm2

我会放弃Terminal.app 并改用iTerm2。除了 Terminal.app 没有的许多其他功能外,它还提供复制模式( ?CmdC),允许您使用键盘进行选择。

例如,您可以:

  • ?CmdC
  • v选择和整行
  • Ctrlky复制选择
  • 按下Esc退出复印模式

现在,您的原生 macOS 剪贴板将包含您刚刚复制的内容。