编辑:2020年7月12日
再次更新到Xcode 11.5后,我duplicate line
从plist
文件中输入的密钥消失了。我不得不再次添加它。密钥绑定仍然在那里。
编辑:2019年9月17日
在再次更新到Xcode 10.3之后,我duplicate line
从plist
文件中输入的密钥不见了。我不得不再次添加它。密钥绑定仍然在那里。
编辑:2019年5月28日
再次更新到Xcode 10.2之后,我duplicate line
从plist
文件中输入的密钥就消失了。我不得不再次添加它。密钥绑定仍然在那里。
编辑:2018年12月23日
更新到Xcode 10.1后,我所有的快捷方式再次中断。但是不同的是,在更新了plist文件以进行行复制之后,我不必定义键绑定,它们已经存在。奇怪。
编辑:2018年
10 月14日 Xcode 10:苹果公司的高手真的很喜欢复制/粘贴,并确保在每个版本的Xcode更新中,行复制都从每个人的安装中删除。自从永久以来,这是唯一没有行复制选项的IDE,我们的开发人员对Xcode中的这种废话感到极为沮丧。我刚刚更新到Xcode 10,并且您猜到了-我的所有快捷键以及行复制功能都被删除了。但是,它可以像原始答案一样固定。这次稍有不同,您将需要以下行:
<key>Duplicate Current Line</key>
<string>selectLine:, copy:, moveToBeginningOfLine:, paste:, moveToEndOfLine:</string>
编辑: Xcode 9:我不得不重做我的快捷方式以及行的复制和删除,但是好事情是,现在您可以再次编辑IDETextKeyBindingSet.plist。这个高个子的苹果家伙在发布此版本时必须在度假。
编辑: Xcode 8:Buggy,您根本不能修改IDETextKeyBindingSet.plist文件。Xcode在启动时将其重置。苹果公司这个高尚的人真的决心让我们使用复制/粘贴,而不是像其他所有IDE中那样使用简单的行复制。
编辑: Xcode 7.1仍然没有用于行复制和删除的快捷方式。这是我使用过的唯一没有此类快捷方式的IDE。没有这两个关键的快捷方式,我无法想象开发人员的生活。
这是可以做到的:
首先,我们需要修改Xcode.app捆绑包中的plist文件(需要sudo进行编辑)
/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist
然后寻找<key>Insertions and Indentations</key>
并在<dict>
标记下添加以下内容:
<key>Insert New Line Below</key>
<string>moveToEndOfLine:, insertNewline:</string>
<key>Insert New Line Above</key>
<string>moveUp:, moveToEndOfLine:, insertNewline:</string>
<key>Duplicate Current Line</key>
<string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:</string>
然后<key>Deletions</key>
在<dict>
标记下的部分中找到和这些:
<key>Delete Current Line</key>
<string>selectLine:, delete:</string>
<string>selectLine:, delete:</string>
现在打开/重新启动Xcode,转到“首选项”,然后转到“键绑定”选项卡。使用搜索栏进行过滤并查找新的快捷方式。然后,单击快捷方式描述前面的,为其分配您喜欢的快捷方式。确保您的快捷方式与现有的快捷方式没有冲突。