- 일반적인 잘라내기와 붙여넣기는 텍스트 이동을 두 작업으로 나눠 처리해 완전한 실행 취소가 불가능하고 문서 흐름까지 불필요하게 바꿈
- 잘라내기를 취소해도 덮어쓴 클립보드 내용은 복구되지 않으며, 클립보드 관리자를 사용해도 한 번의 키 입력이 만든 변경 전체를 되돌리지는 못함
- 텍스트가 즉시 사라지면서 문서가 리플로우되므로 붙여넣을 위치를 다시 찾아야 하고, 이동 전체를 취소하려면 최소 두 번의 실행 취소가 필요함
- 소설 편집기인 Ishmael의 Ghost Cut은
Ctrl+X로 선택 영역을 흐리게 비활성화한 뒤, 붙여넣을 때 원래 위치에서 제거해 새 위치로 옮기는 단일 원자적 작업을 수행함 - Ghost Cut은 클립보드를 덮어쓰지 않고 이동 전체를 한 번에 되돌릴 수 있지만, 기존 방식으로 잘라내기만 하려면 복사 후
Backspace를 눌러야 함
기존 잘라내기/붙여넣기의 동작
- 잘라내기/붙여넣기는 선택한 텍스트를 문서에서 제거해 클립보드에 넣는 잘라내기, 다른 위치에 삽입하는 붙여넣기의 조합임
- 텍스트를 한 위치에서 다른 위치로 옮기는 하나의 작업처럼 인식되지만, 실제 편집기에서는 서로 분리된 두 작업으로 처리됨
기존 잘라내기의 세 가지 결함
-
실행 취소로 클립보드를 복구할 수 없음
- 잘라내기 후
Ctrl+Z또는Command+Z를 누르면 문서의 텍스트는 복원되지만, 덮어쓴 클립보드 내용은 돌아오지 않음 - 클립보드 관리자를 사용하더라도 하나의 키 입력이 만든 모든 변경을 깨끗하게 되돌린 것은 아님
- 잘라내기 후
-
원문 삭제로 문서가 즉시 재배치 됨
- 텍스트를 잘라내는 순간 남은 내용이 당겨지며 문서의 줄과 위치가 다시 배치됨
- 대부분의 잘라내기/붙여넣기는 텍스트 이동이 목적이지만, 붙여넣을 지점을 찾기도 전에 화면이 변해 위치를 다시 찾아야 함
- 부담은 작을 수 있지만 불필요한 인지 비용이 발생함
-
이동이 원자적 작업으로 처리되지 않음
- 붙여넣기를 실행 취소하면 새 위치에 삽입된 텍스트만 제거되고, 원래 위치로 복원하려면 실행 취소를 한 번 더 해야 함
- 잘라내기와 붙여넣기 사이에 새 문단 생성 같은 편집이 있었다면 해당 작업부터 차례로 되돌려야 원래 잘라내기까지 복원할 수 있음
- 개념적으로는 하나의 텍스트 이동이지만 편집 기록에서는 여러 단계로 분리됨
Ghost Cut의 동작 방식
- Ishmael에서
Ctrl+X를 누르면 선택한 텍스트가 흐려지고 비활성 상태가 되지만 문서에는 그대로 남음- 해당 영역은 클릭할 수 없고 커서도 건너뜀
- 이 시점에는 클립보드에 아무것도 저장되지 않으며, 취소할 작업도 생성되지 않음
Escape를 누르면 텍스트가 다시 편집 가능한 상태로 복원됨
Ctrl+V또는Command+V를 누르면 흐려진 영역을 원래 위치에서 제거하고 현재 커서 위치로 이동함- 이동 전체가 단일 원자적 작업이어서 한 번의 실행 취소로 되돌릴 수 있음
- Excel에서 잘라낸 셀을 흐리게 표시하는 방식과 비슷하지만, 텍스트 편집기에서는 같은 방식을 찾아보기 어려움
- 기존 잘라내기 동작이 필요하면
Ctrl+C또는Command+C로 복사한 뒤Backspace로 원문을 삭제해야 함 - 코드 편집기는 문서 리플로우 문제가 적어 필요성이 상대적으로 낮지만, VSCode에 제공된다면 활성화해 사용할 만함