10 votos

XCode : Cómo usar cmd + x para cortar la línea actual (si no hay texto seleccionado) o cortar el texto seleccionado

Presionando cmd + x sin seleccionar texto en otros IDEs, corta la línea completa. Lo mismo ocurre con cmd + c que copia, en lugar de cortar. De lo contrario, si se selecciona algún texto, sólo se corta esa región.

¿Cómo hago esto en XCode?

He añadido lo siguiente en el IDETextKeyBindingSet.plist para añadir la funcionalidad de la línea de corte y la línea de copia :

<key>My Custom Commands</key>
<dict>
    <key>Cut Current Line</key>
    <string>selectLine:, cut:</string>
    <key>Copy Current Line</key>
    <string>selectLine:, copy:</string>
</dict>

Pero, obviamente, la vinculación de estos a cmd + x (o c) no permite cortar/copiar la región seleccionada. Entiendo que puedo ponerlo en algún otro keybinding. Pero, como una fuerza de la costumbre, cmd + x (o c) se adapta mejor.

¿Hay alguna forma de hacerlo? ¿Tal vez una extensión?

[PS: Hice la misma pregunta en StackOverflow, pero me di cuenta de que este es un lugar más adecuado].

9voto

Francois Puntos 131

Eso es correcto. (Xcode 10)

  1. Añade la entrada para la línea de corte y la línea de copia en el IDETextKeyBindingSet.plist archivo
  2. Salvar el IDETextKeyBindingSet.plist
  3. Reiniciar Xcode
  4. Establezca una clave para el nuevo comando a través de xcode > preferencias > combinaciones de teclas > Mis comandos personalizados
  5. Resolver los conflictos

Ejemplo: /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/IDETextKeyBindingSet.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Cut and Copy</key>
    <dict>
        <key>Cut Current Line</key>
        <string>selectLine:, cut:</string>
        <key>Copy Current Line</key>
        <string>selectLine:, copy:</string>
    </dict>
    <key>Duplication</key>
    <dict>
        <key>Duplicate Current Line</key>
        <string>moveToBeginningOfLine:, deleteToEndOfLine:, yank:, insertNewline:, moveToBeginningOfLine:, yank:</string>
        <key>Duplicate Lines</key>
        <string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:</string>
        <key>Delete Line</key>
        <string>selectLine:, deleteBackward:</string>
    </dict>
</dict>
</plist>

Vinculación de teclas de Xcode (cortar y copiar): enter image description here

Resolución de conflictos en Xcode (cortar y copiar): enter image description here

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X