82

在以前的版本中Xcode,可以创建一个键绑定来删除当前行。有不同的解决方案,例如在这里描述它们:

Xcode:删除行热键

Xcode 重复/删除行

http://bigdiver.wordpress.com/2009/09/11/configure-homeend-key-bidings-on-mac-os-x/

http://www.betadesigns.co.uk/Blog/2010/02/03/custom-xcode-shortcuts/

所有解决方案都包括修改以下文件之一:

~/Library/Application Support/Xcode/Key Bindings/*.pbxkeys
~/Library/KeyBindings/DefaultKeyBinding.dict
~/Library/KeyBindings/PBKeyBinding.dict

现有快捷方式的一个很好的资源Xcode 4http://cocoasamurai.blogspot.com/2011/03/xcode-4-keyboard-shortcuts-now.html。有很多关于删除的列表,但没有列出“删除行”。

但是,这些解决方案Xcode 4.

更新:问题仍然与Xcode 5.1.1

更新:问题仍然与Xcode 6.1 GM Seed 2

更新:截至 2016 年 4 月 26 日,仍适用于 Xcode 版本 7.3 (7D175)

更新:六年后 Xcode 8.3 有一个内置的解决方案。请参阅下面的答案。

4

13 回答 13

100

经过大量搜索,我得出了以下解决方案:

按住control键,然后按AKK

(注意:第二个K删除空行)。

实际上它是两个命令的组合:Move to Beginning of Paragraph& Delete to End of Paragraph。您还可以使用/设置其他键,也可以使用/设置/更改其他命令的键绑定,例如Move to Beginning of Line& Delete to End of Line。我使用了上述(默认)键绑定,因为它们适合我。

编辑:

要删除多个连续行,首先按住control键,然后按A(只是转到段落/行的开头),然后按住K直到删除所有行(这将起作用,因为光标停留在开始)。

只是为了让任务变得容易(对我来说),我已经设置commandDDelete to End of Paragraph/home转到end段落的开头/结尾。

于 2012-05-24T13:40:43.037 回答
82

看起来Xcode 8.3终于添加了Delete Line命令

默认情况下,没有为其分配键盘快捷键,因此您需要自己添加一个:

  1. 打开Xcode >首选项>键绑定
  2. 搜索Delete Line
  3. 在Key列中添加键盘快捷键(例如,controloptionD

Xcode 键绑定

于 2017-05-10T15:10:00.520 回答
59

知道了!这适用于 XCode 4.3 到 4.5,不需要额外的应用程序,并且是 XCode 特定的。

此解决方案与此处描述的 Duplicate Line 命令基本相同:

编辑 plist 文件

它位于 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist

注意:

  • 链接的答案建议为此使用 XCode,但我发现这会使 XCode 崩溃
  • 此路径适用于 Lion - 它可能因其他操作系统版本而异
  • 您可能需要 sudo 或更改权限才能编辑此文件
  • 编辑前关闭 XCode

添加一个新<dict>元素

<dict>在此文件底部的结尾处添加此文本

    <key>Custom</key>
    <dict>
      <key>Delete Current Line In One Hit</key>
      <string>moveToEndOfLine:, deleteToBeginningOfLine:, deleteToEndOfParagraph:</string> 
    </dict>

注意:

  • 这是在现有的里面<dict>,所以</dict></plist>在这之后有一个
  • 这将命名操作“一键删除当前行”与字符串中的三个关键操作相关联。我在这里尝试了不同的选项以获得正确的组合。例如,如果您尝试 moveToBeginningOfLine、deleteToEndOfLine 而不是反之亦然,那么在空行上使用它会删除该行整个下一行。这是不愉快的

保存并打开 XCode

在 XCode 中添加新的键绑定

请参阅链接答案中的屏幕截图或执行以下操作:

  1. 打开 XCode 首选项
  2. 选择键绑定
  3. 点击全部
  4. 在搜索框中键入“删除”并搜索“一键删除当前行”
  5. 添加您的新绑定。

这应该这样做,但有一个警告。我永远无法让 XCode保存新的绑定。尽管我的解决方法略有不同,但此处描述了相同的问题:

  1. 创建默认绑定的副本(点击绑定窗口左下角的 + 按钮并创建一个副本)
  2. 在副本中设置新绑定
  3. 关闭首选项对话框(这就是变体!)
  4. 再次打开首选项并制作旧副本的新副本并删除旧副本。

多啰嗦,嗯?但它有效。现在我已映射 Ctrl+D 以删除 Lion 上 XCode 4.3 中的整个当前行。

于 2012-10-01T18:36:11.840 回答
16

我找到了Xcode 9的临时解决方法。

打开Xcode/Content/Frameworks/IDEKit.framework/Resources/IDETextK‌​eyBindingSet.plist并添加以下行。

它模仿了 Xcode 8 中发生的动作,但支持有限。它只能删除一行,但我很满意。我希望这将很快得到解决。

<key>Customized</key>
<dict>
    <key>Delete Line</key>
    <string>moveToBeginningOfLine:, deleteToEndOfLine:, moveDown:, deleteBackward:</string>
</dict>

重新启动 Xcode 后,您可以看到Key Bindings如下所示的自定义项。

在此处输入图像描述

绑定使用!

编辑)我认为下面的一个比原来的更好。

<string>moveToEndOfLine:, deleteToBeginningOfLine:, deleteToEndOfParagraph:</string>
于 2017-08-24T18:21:49.997 回答
13

我使用BetterTouchTool,它非常酷:

在此处输入图像描述

于 2014-11-11T20:55:36.023 回答
9

Rhubarb的答案是正确的并且有效,但有一件事,plist 文件中有更简单的命令。遵循Rhubarb的所有指示,但

代替

<string>moveToEndOfLine:, deleteToBeginningOfLine:, deleteToEndOfParagraph:</string>

在下面使用

<string>selectLine:, delete:</string>

这更清楚,并消除了任何故障的可能性。

我想把它写成评论,但我的“声誉”不允许我这样做。

于 2014-11-27T13:20:26.847 回答
8

试试这个:

  1. 首先打开Xcode->Preferences

  2. 选择键绑定

  3. 搜索删除段落

  4. 将删除段落更改为您的快捷方式

在此处输入图像描述

于 2017-03-20T07:12:42.233 回答
2

如果您是 Keyboard Maestro 用户,只需创建一个执行以下操作的宏:

  • 命令左箭头
  • 向下移动箭头
  • 删除

我将它分配给 Command-D,并使其仅在 Xcode 中可用。

于 2012-09-21T15:43:49.373 回答
1

看起来 XCode 现在使用 plist 文件而不是 dict 文件,并且新格式不支持向键绑定添加多个命令。似乎也没有办法添加自定义命令以绑定到任何一个。我发现使某些东西起作用的唯一方法是为单独的操作设置键绑定,例如^Dfor deleteToEndOfLine:,然后^Lfor moveToBeginningOfLine:,给你^L+^D组合效果。

于 2011-05-10T18:11:01.657 回答
1

如果您不介意在其他应用程序中使用该键绑定,您可以尝试在通用 Cocoa 键绑定中进行设置。有一个解释。

于 2011-05-10T18:41:10.957 回答
1

似乎现在无法完成......如果我错了,请随时纠正我......但这是我的新解决方案......

转到 xcode 首选项,然后是键绑定选项卡。复制默认设置,这样当我提出的建议破坏了你将使用的东西时,你就不会生我的气。

找到 2 个相邻且未用于您使用的任何命令的键...“;”,“'”也许。(我不将命令 n 用于新文件,所以我选择了 n,m)

将第一个键设置为“移动到行首”,第二个键设置为“删除到行尾”

然后使用该序列删除一行...

替代将设置一些东西来选择行,然后只需使用删除。

于 2011-06-06T07:55:51.960 回答
1

XCode 5 和 6 的简单解决方案:

安装 alcatraz:http ://alcatraz.io/然后用它来安装“ XCodePlus delete line ”插件:

Window > Package manager

还有很多其他很棒的插件

于 2015-05-28T19:29:49.700 回答
-1

首先打开Xcode->Preferences

选择键绑定

然后搜索删除

将Delete The End Of Line更改为您的快捷方式(我更喜欢CMD + D

就这样这是屏幕截图

于 2015-08-28T07:48:09.883 回答