如何在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最后添加删除线命令:)
默认情况下,没有键盘快捷键分配给它,所以你需要自己添加一个:
- 打开Xcode > 首选项 > 键绑定
- search
Delete Line
- 在“ 密钥”列中添加一个键盘快捷键
在这里和那里进行了大量的search后,我来到了以下解决scheme:
按住控制键,然后按A K K。
(注意:第二个K删除空行)。
实际上它是两个命令的组合: Move to Beginning of Paragraph
Delete to End of Paragraph
。 您也可以使用/设置其他键,也可以使用/设置/更改其他命令的键绑定,例如Move to Beginning of Line
和Delete 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中添加新的密钥绑定
在链接的答案中查看截图,或者执行以下操作:
- 打开XCode首选项
- select密钥绑定
- 点击全部
- 在查找框中input“删除”并search“删除当前行”
- 添加你的新绑定。
这应该做,但一个警告。 我永远不能让XCode 保存新的绑定。 虽然我的解决方法有一些细微的变化,但这里描述了同样的问题:
- 创build一个Default绑定的副本(点击Bindings窗口左下angular的+button并创build一个副本)
- 在重复中设置新的绑定
- closures首选项对话框(这是变化!)
- 再次打开首选项,并重新创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>
这更清楚,并排除任何故障的可能性。
我想写这个评论,但我的“声誉”不允许我这样做。
尝试这个:
-
首先打开Xcode->首选项
-
select关键Bindigs
-
search删除段落
-
将删除段落更改为您的快捷方式
如果您是Keyboard Maestro用户,只需创build一个执行以下操作的macros:
- 命令向左箭头
- 向下移动箭头
- 删除
我将它分配给Command-D,并且只在Xcode中可用。
看起来好像XCode现在使用plist文件而不是dict文件,而新格式不支持将多个命令添加到键绑定。 也似乎没有一种方法来添加自定义命令绑定到任一。 我发现获得某些工作的唯一方法是为单独的动作设置一个键绑定,例如^D
为deleteToEndOfLine:
,然后^L
为moveToBeginningOfLine:
给你^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 )
就这样