Xcode 9.x行复制和删除

zee*_*han 12 xcode8

直到Xcode 8.0,才有可能自定义IDETextKeyBindingSet.plist文件.但是,现在看来修改此文件会导致Xcode停止正常运行(例如箭头键停止工作),并且似乎不再可能创建自己的快捷键.

Xcode从未有过行复制和插入快捷方式.以前可以通过在正确的位置添加以下内容将它们添加到IDETextKeyBindingSet.plist中:

<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>Delete Current Line</key>
<string>selectLine:, delete:</string>
<string>selectLine:, delete:</string>
Run Code Online (Sandbox Code Playgroud)

有人知道如何在Xcode 8.0或更高版本中实现相同的目标吗?

我想知道Apple的开发人员是否使用Xcode?如果他们检查StackOverflow?或者他们是否被雇佣合同禁止?

编辑:在Xcode 9.x它似乎再次工作.

编辑:在Xcode 10.0中它再次被打破.

编辑:在Xcode 10.1中,它仍然被破坏,复制/粘贴部分被破坏,这意味着它并不总是有效.(我还在High Sierra)

duo*_*gel 30

确认,仍然在macOS Mojave 10.14.2上的Xcode 10.1中工作

更新了Xcode 9.2及更新版本,感谢max

添加以下行

    <key>Sublime Commands</key>
    <dict>
        <key>Cut Current Line</key>
        <string>selectLine:, cut:</string>
        <key>Copy Current Line</key>
        <string>selectLine:, copy:</string>
        <key>Duplicate Current Line</key>
        <string>selectLine:, copy:, moveToBeginningOfLine:, paste:, moveToEndOfLine:</string>
    </dict>
Run Code Online (Sandbox Code Playgroud)

进入根词典

    <key>Sublime Commands</key>
    <dict>
        <key>Cut Current Line</key>
        <string>selectLine:, cut:</string>
        <key>Copy Current Line</key>
        <string>selectLine:, copy:</string>
        <key>Duplicate Current Line</key>
        <string>selectLine:, copy:, moveToBeginningOfLine:, paste:, moveToEndOfLine:</string>
    </dict>
Run Code Online (Sandbox Code Playgroud)

重新启动Xcode后,您可以进入/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/IDETextKeyBindingSet.plist设置并将所需的任何快捷方式分配给新的三个命令.只是搜索他们Key Bindings的.

令人遗憾的是,在21世纪,您仍然需要手动添加这些基本快捷方式.

  • 不幸的是,这对我不起作用.我有xCode 8.2.1和Sierra 10.12.3 (2认同)

Sir*_*Nod 8

上面的答案似乎在Xcode 9中被打破了.

这是我已经验证的另一个解决方案在Xcode 9 GM中有效:

<key>Custom Commands</key>
<dict>
    <key>Duplicate Current Line</key>
    <string>moveToBeginningOfLine:, deleteToEndOfLine:, yank:, insertNewline:, moveToBeginningOfLine:, yank:</string>
</dict>
Run Code Online (Sandbox Code Playgroud)