如何在 OSX 上选择一条线路?

如何在 OSX 上选择一条线路?

我正在编辑文本。选择一行的繁琐方法是转到行首 (​​cmd <-),然后选择整行到行末 (Shift cmd ->)。我能做得更好吗?

此外,也欢迎使用剪切行并将其存储在缓冲区中的快捷方式。 (cmd D)不将该行存储在缓冲区中。

答案1

我总是使用以下内容:

  • cmd - Left arrow到达行首
  • shift + cmd + right arrow划线
  • cmd - C(或cmd - X)将标记的行复制(或剪切)到剪贴板

然后我可以去任何我喜欢的地方并用 粘贴该行cmd - v

但是由于 MacOS 与图形用户界面紧密相关,因此可以在不使用鼠标的情况下使用它,但有时 - 就像您的情况一样 - 需要按下一个以上的按键。

答案2

大多数接受文本输入的应用程序(终端、TextEdit、Safari 的 URL/搜索栏等)都遵守标准键绑定(不确定是什么标准……ANSI、ASCII?),其中包括

control+ a行首

control+ e行结束

因此,++control根据您的位置选择一行。shifta or e

还:

control+ shift+ k终止至行尾

control+ shift+ y拉出(从缓冲区)

可以使用终端中的命令生成完整列表bindkey,但并非所有列表都适用于所有应用程序。

答案3

您可以创建~/Library/KeyBindings/并保存如下属性列表DefaultKeyBinding.dict

{
    "~l" = selectParagraph:;
    "~z" = (selectParagraph:, delete:);
    "~x" = (selectParagraph:, cut:);
    "~c" = (selectParagraph:, copy:);
}

重新打开应用程序后,例如 ⌥L 应该可以在大多数原生文本视图中选择一行。但它在 Eclipse、Terminal 或 Xcode 中不起作用。有关更多信息,请参阅Cocoa 文本系统文章或我的网站

另一个选择是使用 KeyRemap4MacBook 并保存如下内容私有文件

<?xml version="1.0"?>
<root>
<item>
<name>test</name>
<identifier>test</identifier>
<not>TERMINAL</not>
<not>EMACS</not>
<not>VIRTUALMACHINE</not>
<not>ECLIPSE</not>
<autogen>__KeyToKey__ KeyCode::L, VK_OPTION | ModifierFlag::NONE, KeyCode::A, ModifierFlag::CONTROL_L, KeyCode::E, ModifierFlag::CONTROL_L | ModifierFlag::SHIFT_L, KeyCode::CURSOR_RIGHT, ModifierFlag::SHIFT_L</autogen>
</item>
<item>
<name>test2</name>
<identifier>test2</identifier>
<only>ECLIPSE</only>
<autogen>__KeyToKey__ KeyCode::L, VK_OPTION | ModifierFlag::NONE, KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L, KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L | ModifierFlag::SHIFT_L, KeyCode::CURSOR_RIGHT, ModifierFlag::SHIFT_L</autogen>
</item>
</root>

在大多数应用程序中,⌃A 移动到未换行的行首,⌘← 移动到换行的行首,但 ⌃A 在 Eclipse 中似乎不起作用。

请参阅来源键代码值预定义设置

答案4

我很惊讶没有人提到这个

Shift + CMD + 左箭头(如果您在开始时,则为右箭头)

相关内容