我正在编辑文本。选择一行的繁琐方法是转到行首 (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 + 左箭头(如果您在开始时,则为右箭头)