- El comportamiento habitual de cortar y pegar divide el movimiento de texto en dos operaciones, por lo que es imposible deshacerlo por completo y además altera innecesariamente el flujo del documento
- Aunque se deshaga el corte, el contenido del portapapeles que fue sobrescrito no se recupera, y ni siquiera con un gestor de portapapeles se revierte todo el cambio provocado por una sola pulsación
- Como el texto desaparece de inmediato, el documento hace reflow, así que hay que volver a encontrar el lugar donde se va a pegar, y para deshacer todo el movimiento se necesitan al menos dos deshacer
- Ghost Cut de Ishmael, un editor de novelas, al usar
Ctrl+Xatenúa y desactiva la selección, y al pegar elimina el texto de su posición original y lo mueve a la nueva ubicación en una sola operación atómica - Ghost Cut no sobrescribe el portapapeles y permite revertir todo el movimiento de una sola vez, pero si se quiere hacer solo un corte al estilo tradicional, hay que copiar y luego pulsar
Backspace
Cómo funciona cortar/pegar tradicionalmente
- Cortar y pegar es la combinación de cortar, que quita el texto seleccionado del documento y lo pone en el portapapeles, y pegar, que lo inserta en otra ubicación
- Se percibe como una sola acción de mover texto de un lugar a otro, pero en los editores en realidad se procesa como dos operaciones separadas
Tres fallas del corte tradicional
-
No se puede recuperar el portapapeles con Deshacer
- Después de cortar, si se pulsa
Ctrl+ZoCommand+Z, el texto del documento se restaura, pero el contenido del portapapeles que fue sobrescrito no vuelve - Incluso usando un gestor de portapapeles, no se revierte limpiamente todo el conjunto de cambios producido por una sola pulsación
- Después de cortar, si se pulsa
-
Al borrar el texto original, el documento se reacomoda de inmediato
- En el momento en que se corta el texto, el contenido restante se recorre y las líneas y posiciones del documento se redistribuyen
- En la mayoría de los casos, cortar/pegar busca mover texto, pero antes incluso de encontrar el punto donde pegar, la pantalla ya cambió y hay que ubicar de nuevo la posición
- La carga puede ser pequeña, pero genera un costo cognitivo innecesario
-
El movimiento no se trata como una operación atómica
- Si se deshace el pegado, solo se elimina el texto insertado en la nueva ubicación; para restaurarlo en la ubicación original hay que deshacer una vez más
- Si entre cortar y pegar hubo otra edición, como crear un nuevo párrafo, hay que ir deshaciendo esas acciones en orden hasta llegar al corte original
- Conceptualmente es un solo movimiento de texto, pero en el historial de edición queda dividido en varios pasos
Cómo funciona Ghost Cut
- En Ishmael, al pulsar
Ctrl+X, el texto seleccionado se atenúa y queda desactivado, pero sigue visible en el documento- No se puede hacer clic en esa zona y el cursor también la omite
- En este punto no se guarda nada en el portapapeles ni se genera ninguna acción para deshacer
- Si se pulsa
Escape, el texto vuelve a quedar editable
- Al pulsar
Ctrl+VoCommand+V, el área atenuada se elimina de su ubicación original y se mueve a la posición actual del cursor- Todo el movimiento es una sola operación atómica, así que puede deshacerse con una sola acción
- Es parecido a cómo Excel muestra atenuadas las celdas cortadas, pero es difícil encontrar el mismo enfoque en editores de texto
- Si se necesita el comportamiento tradicional de cortar, hay que copiar con
Ctrl+CoCommand+Cy luego borrar el texto original conBackspace - En los editores de código, el problema del reflow del documento es menor, así que la necesidad es relativamente más baja, pero si estuviera disponible en VSCode, valdría la pena activarlo y usarlo
1 comentarios
Comentarios en Hacker News
Ojalá no estorbaran la selección/pegado de X11. Ahora cada vez hay que dejarlo a la suerte para saber si hay que presionar Shift para usarlo como antes
Hacer que copiar y pegar use tanto el mouse como el teclado con el método
seleccionar → Ctrl+C → clic → Ctrl+Ves una barbaridad, y las apps modernas están arruinando algo que X11 implementó bienCortar y pegar son tres acciones; cortar se compone de copiar y borrar. Así como deshacer no revierte una copia, tampoco debería revertir el contenido del portapapeles de un corte, y a diario uso el flujo de cortar, deshacer y luego pegar varias veces
Me pregunto qué debería salir al pegar varias veces con Ghost Cut, si el editor tendría que leer el portapapeles aunque ni siquiera haya pegado para poder hacer rollback, y si, en caso de contener una clave secreta, quedaría expuesta a extensiones como Copilot
En el explorador de archivos, cortar es en realidad un mover donde se indican origen y destino por separado; tampoco existe un portapapeles del sistema de archivos y rara vez se pega en varios lugares. No es que la semántica propuesta sea mala, pero sería más limpio como una función independiente con otro atajo que atenúe visualmente el texto y luego lo mueva de forma atómica
Deshacer un corte sin revertir sus efectos secundarios es un defecto fundamental, y deshacer no debería retroceder solo algunos pasos según el caso, sino restaurar el sistema a su estado anterior
⌘+Cen Finder de macOS y luego moverlo con⌘+⌥+Vo copiarlo con⌘+Ven el destino. Decidir la acción en el destino es lo más intuitivoWindows también atenúa los archivos cortados y los mueve al pegar para evitar pérdidas, pero esa buena experiencia de usuario no recibe suficiente reconocimiento
Ghost Cut es casi igual al cortar/pegar de Excel, e incluso puede que ni use el portapapeles. El software común lo ve como copiar y pegar con un borrado añadido, pero el autor y Excel lo ven como mover contenido dentro del documento
Ghost Cut tiene la restricción de que el destino debe ser exactamente uno y estar dentro del mismo programa o documento. Aun así, si al final el corte existente no es más que una variante de copiar y pegar, parece que no se pierde mucho al cambiar a Ghost Cut, porque el mismo efecto puede lograrse con
copiar y luego BackspaceLa experiencia de usuario del corte predeterminado simplemente no coincide con el modelo mental personal del autor; no es un defecto. Si cortaste por error, normalmente querías copiar, así que tiene sentido que el texto permanezca en el portapapeles
La mayoría entiende deshacer como deshacer cambios en el archivo, no como revertir al mismo tiempo el estado del archivo y del sistema operativo. Vale la pena considerar un corte configurable, pero sería más bien una alternativa pensada para una minoría y no para la mayoría
Cortar es una acción donde la app mueve texto al portapapeles, que es una aplicación separada. Así como no esperas que al deshacer en la app B también cambie la app A después de haberla editado, tampoco esperas que deshacer afecte el portapapeles
Ghost Cut se parece a Excel, y por eso me desconcierta seguido. En Excel, si copias una celda, la editas y luego intentas pegarla, a veces resulta que la copia no era el valor real sino una referencia al rango seleccionado, y si ese rango cambió o se deshizo, terminas sin poder pegar nada
Si se diseñara desde cero, la crítica al cortar/pegar actual es razonable. Aun así, como cortar y pegar son dos acciones, suena raro afirmar que una sola operación de deshacer debería revertir ambas
Se parece a una elección tipo RISC/CISC sobre si el comando es uno solo,
CUTANDPASTE, o dos,CUTyPASTENo deberían cambiar un comportamiento esperado. Excel funciona de forma parecida, pero es muy incómodo precisamente porque no hace lo que uno espera
Cortar debería poner de inmediato el contenido en el portapapeles para poder pegarlo también en otros programas, y no vale la pena romper las expectativas y el flujo normal de la mayoría por mejorar algo solo para unos pocos
Si
Ctrl+Xno toca el portapapeles, tampoco podrías pegar en otro programa. El beneficio es demasiado pequeño comparado con los dolores de cabeza que aparecen al salirse del flujo idealEs una perspectiva válida, pero me cuesta estar de acuerdo. Preferiría que primero resolvieran el secuestro de copia, cuando un sitio o app dice ayudarte a copiar el elemento seleccionado pero mete algo completamente distinto
Tampoco quiero que el navegador agregue por su cuenta
https://cuando copio una URLWindows Explorer también funciona de forma parecida al cortar archivos, pero también lo registra en el portapapeles
Ghost Cut igual estaría roto de una manera distinta al comportamiento existente, solo que más acorde con el gusto del autor. Aun así, es una idea interesante para pensar cómo habrían evolucionado otras apps si cortar/pegar no se hubiera concebido como una función de todo el sistema y entre aplicaciones
No creo que me gustara este enfoque. De forma parecida, Excel es la app que más odio para cortar, copiar y pegar
Como cortar suele ser un movimiento atómico que termina con un solo pegado, todas las referencias relacionadas se actualizan sin importar si están dentro o fuera del rango movido, ni si son relativas o absolutas. Por eso, después de pegar desaparece el indicador y no se puede pegar dos veces
En cambio, al copiar solo se actualizan las referencias relativas entre las celdas copiadas; las referencias absolutas o las referencias desde celdas no copiadas no cambian, y se puede pegar varias veces. Si además se consideran las referencias a rangos, ya sorprende que esto funcione de forma tan predecible, y también se entiende la restricción de que si modificas el rango original la operación se cancela. Por eso, en Excel copiar y luego borrar no equivale a cortar
Deberían haber mantenido el corte predeterminado y asignado ese movimiento especial a
Ctrl+Shift++