如何在Xcode 8中创build删除线键盘快捷键? Xcode 3解决scheme不再工作

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

Xcode:删除线路热键

Xcode复制/删除线

Configure Home/End Key Bidings on Mac OS X

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

所有解决scheme包括修改这些文件之一:

〜/ Library / Application Support / Xcode / Key Bindings / *。pbxkeys
〜/资源库/键绑定/ DefaultKeyBinding.dict
〜/资源库/键绑定/ PBKeyBinding.dict

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

但是,从Xcode 4 ,这些解决scheme无法工作。

更新 :问题仍然是Xcode 5.1.1相同

更新 :问题仍然是相同的Xcode 6.1 GM Seed 2

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

更新 :六年后Xcode 8.3有一个内置的解决scheme。 见下面的答案。

看起来像Xcode 8.3最后添加删除线命令:)

默认情况下,没有键盘快捷键分配给它,所以你需要自己添加一个:

  1. 打开Xcode > 首选项 > 键绑定
  2. searchDelete Line
  3. 在“ 密钥”列中添加一个键盘快捷

Xcode键绑定

在这里和那里进行了大量的search后,我来到了以下解决scheme:

按住控制键,然后按A K K。

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

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

编辑:

要删除多于一个连续的行,首先按住控制键,然后按A (只是转到段落/行的开始处),然后按住K直到删除所有行(这将作为游标保持在开始处)。

只是为了让任务变得简单(对于我来说),我已经将命令 D设置为Delete to End of Paragraph并且将家庭 / 结束设置Delete to End of Paragraph开始/结束。

得到它了! 这在XCode 4.3到4.5中工作,不需要额外的应用程序,并且是XCode特定的。

该解决scheme与此处所述的重复命令行命令基本相同:

编辑plist文件

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

注意:

  • 链接的答案build议使用XCode这个,但我发现这崩溃了XCode
  • 这个path是为狮子 – 它可能会有所不同其他操作系统版本
  • 您可能不得不sudo或更改权限来编辑此文件
  • 在编辑之前closuresXCode

添加一个新的<dict>元素

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

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

注意:

  • 这是现有的<dict> 里面 ,所以在这之后有一个</dict></plist>
  • 这将指定的操作“将当前行中的一行删除”与string中的三个关键操作相关联。 我在这里玩了不同的select,以得到正确的组合。 例如,如果您尝试moveToBeginningOfLine,deleteToEndOfLine而不是相反,那么在空行上使用它将删除该行整个下一行。 这是不愉快的

保存并打开XCode

在XCode中添加新的密钥绑定

在链接的答案中查看截图,或者执行以下操作:

  1. 打开XCode首选项
  2. select密钥绑定
  3. 点击全部
  4. 在查找框中input“删除”并search“删除当前行”
  5. 添加你的新绑定。

这应该做,但一个警告。 我永远不能让XCode 保存新的绑定。 虽然我的解决方法有一些细微的变化,但这里描述了同样的问题:

  1. 创build一个Default绑定的副本(点击Bindings窗口左下angular的+button并创build一个副本)
  2. 在重复中设置新的绑定
  3. closures首选项对话框(这是变化!)
  4. 再次打开首选项,并重新创build旧副本,并删除旧副本。

真是一团糟,呃? 但它的作品。 现在我有Ctrl + D映射来删除Lion上的XCode 4.3中的整个当前行。

我发现了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> 

我使用BetterTouchTool ,这非常酷:

在这里输入图像说明

大黄的答案是正确的,但是有一点,在plist文件中有更简单的命令。 按照大黄的所有指示,但

代替

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

在下面使用

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

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

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

尝试这个:

  1. 首先打开Xcode->首选项

  2. select关键Bindigs

  3. search删除段落

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

在这里输入图像说明

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

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

我将它分配给Command-D,并且只在Xcode中可用。

看起来好像XCode现在使用plist文件而不是dict文件,而新格式不支持将多个命令添加到键绑定。 也似乎没有一种方法来添加自定义命令绑定到任一。 我发现获得某些工作的唯一方法是为单独的动作设置一个键绑定,例如^DdeleteToEndOfLine: ,然后^LmoveToBeginningOfLine:给你^L+^D给你组合效果。

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

似乎现在不能做…如果我错了,随时纠正我…但这是我的新解决scheme…

去xcode首选项,然后键绑定选项卡。 重复默认设置,这样你不会生我的气,当我做的build议打破你将使用的东西。

find两个相邻的键,而不是用于你使用的任何命令…“;”,“'”也许。(我不使用命令n的新文件,所以我select了n,m)

将第一个键设置为“移至行结束”,将第二个键设置为“Delete to end of line”

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

备用将设置一些select行,然后只使用删除。

XCode 5和6的简单解决scheme:

安装alcatraz: http : //alcatraz.io/然后用它来安装“ XCodePlus删除线 ”插件:

Window > Package manager

还有很多其他很棒的插件 。

首先打开Xcode->首选项

select关键Bindigs

然后search删除

更改删除行结束您的快捷方式(我喜欢CMD + D

就这样 这是截图