在以前的 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 4
中现有快捷方式的一个很好的资源是 http://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 有一个内置的解决方案。请参阅下面的答案。
经过大量搜索,我得出了以下解决方案:
按住控制键,然后按 AKK。
(注意:第二个 K 删除空行)。
实际上它是两个命令的组合:Move to Beginning of Paragraph
& Delete to End of Paragraph
。您还可以使用/设置其他键,也可以使用/设置/更改其他命令的键绑定,例如 Move to Beginning of Line
& Delete to End of Line
。我使用了上述(默认)键绑定,因为它们适合我。
编辑:
要删除多个连续的行,首先按住控制键,然后按A(只是转到段落/行的开头),然后按住K直到所有行都被删除(这将作为光标保持在开头)。
只是为了简化任务(对我而言),我为 Delete to End of Paragraph
和 home/endcommandD > 转到段落的开头/结尾。
看起来 Xcode 8.3 终于添加了 Delete Line 命令🎉
默认情况下,没有为其分配键盘快捷键,因此您需要自己添加一个:
打开 Xcode > Preferences > Key Bindings Search for Delete Line 在 Key 列中添加键盘快捷键(例如 controloptionD)
https://i.stack.imgur.com/4gFYB.png
IDETextKeyBindingSet.plist
文件之间运行了一个差异,检测到的唯一变化是上面的这个 Delete Line 命令:(
知道了!这适用于 XCode 4.3 到 4.5,不需要额外的应用程序,并且是 XCode 特定的。
此解决方案与 here 中描述的 Duplicate Line 命令基本相同:
编辑 plist 文件
它位于 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist
注意:
链接的答案建议为此使用 XCode,但我发现这会使 XCode 崩溃
此路径适用于 Lion - 它可能因其他操作系统版本而异
您可能需要 sudo 或更改权限才能编辑此文件
编辑前关闭 XCode
添加一个新的
在此文件底部 <dict>
的结尾处添加此文本
<key>Custom</key>
<dict>
<key>Delete Current Line In One Hit</key>
<string>moveToEndOfLine:, deleteToBeginningOfLine:, deleteToEndOfParagraph:</string>
</dict>
注意:
这是在现有的
这将命名操作“一键删除当前行”与字符串中的三个关键操作相关联。我在这里尝试了不同的选项以获得正确的组合。例如,如果您尝试 moveToBeginningOfLine、deleteToEndOfLine 而不是反之亦然,那么在空行上使用它会删除该行和整个下一行。这是不愉快的
保存并打开 XCode
在 XCode 中添加新的键绑定
请参阅 linked answer 中的屏幕截图或执行以下操作:
打开 XCode Preferences Select Key Bindings 单击 All 在搜索框中键入“Delete”并搜索“Delete Current Line in One Hit” 添加新的绑定。
这应该这样做,但有一个警告。我永远无法让 XCode 保存 新绑定。 here 中描述了相同的问题,但我的解决方法略有不同:
创建默认绑定的副本(点击绑定窗口左下角的 + 按钮并创建副本)在副本中设置新绑定关闭首选项对话框(这就是变体!)再次打开首选项并制作新的副本旧副本并删除旧副本。
多啰嗦,嗯?但它有效。现在我已映射 Ctrl+D 以删除 Lion 上 XCode 4.3 中的整个当前行。
delete:
:delete:, moveToEndOfLine:, deleteToBeginningOfLine:, deleteToEndOfParagraph:
。如果您将其编辑到您的答案中,那就太好了。
我找到了 Xcode 9 的临时解决方法。
打开 Xcode/Content/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist 并添加以下行。
它模仿了 Xcode 8 中发生的动作,但支持有限。它只能删除一行,但我很满意。我希望这将很快得到解决。
<key>Customized</key>
<dict>
<key>Delete Line</key>
<string>moveToBeginningOfLine:, deleteToEndOfLine:, moveDown:, deleteBackward:</string>
</dict>
重新启动 Xcode 后,您可以在 Key Bindings
中看到自定义项,如下所示。
https://i.stack.imgur.com/Agjla.png
绑定使用!
编辑)我认为下面的一个比原来的更好。
<string>moveToEndOfLine:, deleteToBeginningOfLine:, deleteToEndOfParagraph:</string>
我使用 BetterTouchTool,它很酷:
https://i.stack.imgur.com/1AoVZ.png
Rhubarb 的答案是正确的并且有效,但有一件事,plist 文件中有更简单的命令。遵循 Rhubarb 的所有指示,但
代替
<string>moveToEndOfLine:, deleteToBeginningOfLine:, deleteToEndOfParagraph:</string>
在下面使用
<string>selectLine:, delete:</string>
这更清楚,并消除了任何故障的可能性。
我想把它写成评论,但我的“声誉”不允许我这样做。
尝试这个:
首先打开 Xcode->Preferences Select Key Bindigs search Delete Paragraph Change Delete Paragraph to your shortcut
https://i.stack.imgur.com/mJmSO.png
Delete Paragraph
没有任何反应。你在 Xcode 9 中测试过吗?
如果您是 Keyboard Maestro 用户,只需创建一个执行以下操作的宏:
命令左箭头
向下移动箭头
删除
我将它分配给 Command-D,并使其仅在 Xcode 中可用。
看起来 XCode 现在使用 plist 文件而不是 dict 文件,并且新格式不支持向键绑定添加多个命令。似乎也没有办法添加自定义命令以绑定到任何一个。我发现让某些东西正常工作的唯一方法是为单独的操作设置键绑定,例如 ^D
用于 deleteToEndOfLine:
,然后 ^L
用于 moveToBeginningOfLine:
,给你 ^L+^D
给你综合作用。
如果您不介意在其他应用程序中使用该键绑定,您可以尝试在通用 Cocoa 键绑定中进行设置。 This 有解释。
似乎现在无法完成......如果我错了,请随时纠正我......但这是我的新解决方案......
转到 xcode 首选项,然后是键绑定选项卡。复制默认设置,这样当我提出的建议破坏了你将使用的东西时,你就不会生我的气。
找到 2 个相邻且未用于您使用的任何命令的键...“;”,“'”也许。(我不将命令 n 用于新文件,所以我选择了 n,m)
将第一个键设置为“移动到行首”,第二个键设置为“删除到行尾”
然后使用该序列删除一行...
替代将设置一些东西来选择行,然后只需使用删除。
XCode 5 和 6 的简单解决方案:
安装 alcatraz: http://alcatraz.io/ 然后用它来安装“XCodePlus delete line”插件:
Window > Package manager
还有lots of other awesome plugins。
首先打开 Xcode->Preferences
选择键绑定
然后搜索删除
将删除行尾更改为您的快捷方式(我更喜欢 CMD + D)
https://i.stack.imgur.com/QAW82.png