Ghost Cut – or why Cut and Paste is broken everywhere
Ghost Cut: Why the "Cut and Paste" Paradigm is Fundamentally Broken
Originally published on the Ishmael Blog — July 15, 2026
Is "Cut 'n' Paste" just a colloquialism, like Fish 'n' Chips? Perhaps. But regardless of the name, the actual mechanism is broken across every single browser, code editor, and word processor in existence.
To ensure we are aligned: Cut and Paste is the sequence of removing text from a document to store it in a clipboard, then inserting that stored text elsewhere.
The Three Fatal Flaws
The traditional approach suffers from three primary systemic failures:
1. The Undo Paradox
The first issue is that a "cut" operation is not fully reversible. While hitting Ctrl+Z (or Cmd+Z) restores the text to the page, it does not restore the previous contents of your clipboard.
If you accidentally overwrite something important in your clipboard by cutting a snippet of text, that data is gone—vanished into the digital void.
Even if you employ a clipboard manager, the "Undo" command fails to cleanly revert the entire state of the operation.
2. The Reflow Problem
Cutting text causes the document to reflow immediately. Since we usually cut text specifically to move it, the instant the text disappears, the layout shifts. This forces the user to re-scan the document to find the intended destination.
While this is a minor cognitive load, it is entirely unnecessary.
3. Lack of Atomicity
Conceptually, moving text is one action. Technically, it is two. This means it cannot be undone as a single unit.
| Action | Result of Undo |
|---|---|
| Paste | The newly inserted text is removed. |
| Cut | The original text is restored (but only after the paste is undone). |
If you performed any intermediate edits (like adding a new line) between the cut and the paste, you must undo all those steps before you can finally revert the original cut.
Introducing: Ghost Cut
I have implemented a solution within Ishmael that resolves these issues without requiring users to relearn their muscle memory. I call it Ghost Cut.
How it Works
Instead of removing text, Ctrl+X triggers a "ghost" state:
- Selected text fades out.
- Text becomes inert (non-clickable).
- The cursor leaps over the ghosted area.
- Crucially: The text remains in the document and nothing is sent to the clipboard.
If you change your mind, simply hitting Esc restores the text to its active, editable state. When you finally press Ctrl+V (or Cmd+V), the ghosted span is deleted from its origin and placed at the cursor.
Mathematically, the operation transforms from: To a single atomic move:
The Benefits
This method is completely reversible in one stroke and prevents clipboard pollution.
Figure 1: Ghost cut in action.
Precedents and Comparisons
This isn't entirely unheard of. For example, Microsoft Excel uses a similar visual cue by fading cells that have been cut. However, this is virtually non-existent in text editors.
To achieve a similar result in a standard editor, you have to perform a two-step dance:
Ctrl+C (Copy) Backspace (Delete).
Since I rarely cut text without the intention of pasting it, Ghost Cut is a massive efficiency gain.
// Conceptual logic for Ghost Cut
if (action === 'CUT') {
text.setOpacity(0.5);
text.setInteractive(false);
state.pendingMove = text;
} else if (action === 'PASTE') {
document.insert(state.pendingMove, cursorPosition);
state.pendingMove.remove();
}
Final Thoughts
I believe this is a superior UX pattern. I would love to see this adopted across the industry. Even in environments like VSCode, where reflow isn't an issue, the atomicity and clipboard preservation of Ghost Cut would be a welcome improvement.