3. 실행 취소하기
| 3장. 윌버와 함께하는 첫 단계 |

## 3. 실행 취소하기

김프에서 이미지에 작업한 대부분의 일은 취소할 수 있습니다. 가장 최근에 한 작업을 취소하려면 이미지 메뉴에서 편집 → 실행 취소 를 선택하거나 단축키 Ctrl+Z 를 사용합니다.

실행 취소 또한 취소할 수 있는데, 이것은 실행 취소를 한 다음에 이미지 메뉴에서 편집 → 재실행 를 선택하거나 단축키 Ctrl+Y 를 누르면 됩니다. 실행 취소와 재실행은 종종 특정 작업의 효과를 확인하기 위해 사용됩니다. 이는 대체로 빠르고, 추가적인 리소스도 필요하지 않고, 실행취소 이력에 어떠한 영향도 주지 않기 때문에 여러번 반복해도 무방합니다.

| 경고
하나 혹은 여러 개의 작업을 실행취소한 다음에, 실행취소나 재실행 이외의 다른 작업을 하면 더이상 실행취소했던 작업들을 재실행할 수 없습니다. 이러한 문제를 피하려면 이미지를 복사한 뒤, 복사한 이미지에 먼저 테스트를 해보면 됩니다(실행 취소 이력은 복사되지 않기 때문에 원본에 직접 테스트를 하지는 마십시오.).

한번에 많은 과정을 실행 취소하거나 재실행하는 일을 자주한다면, 실행 취소 이력 대화 상자를 이용하면 편리합니다. 이 대화 상자에는 실행 취소 이력의 각 포인트마다 개략적 미리보기가 있어 단지 클릭만 함으로써 해당 과정으로 실행 취소하거나 재실행할 수 있습니다.

실행취소는 이미지 기본 요소로 이루어지며, "실행 취소 이력" 은 이미지의 구성 요소 중 하나입니다. 김프는 각 이미지의 실행 취소 이력을 위해 일정량의 메모리를 할당하고 있습니다. 기본 설정 대화 상자의 환경 페이지를 통해 이 메모량을 변경할 수 있습니다. 해당 페이지를 보면 중요한 두 가지 변수가 있습니다. 하나는 김프에서 지정한 메모량과 관계없이 사용할 수 있는 최소 실행 취소 횟수이고, 나머지는 실행 취소에 할당되는 최대 실행 취소 메모리입니다. 이 메모리량을 초과하면 오래된 실행 취소 이력부터 삭제됩니다.

| 참고
실행 취소 이력이 이미지의 한 구성요소이긴 하지만, 거의 대부분의 이미지 정보를 보존하는 김프 고유 포맷인 XCF 포맷으로 저장하더라도 실행 취소 이력은 저장되지 않습니다. 따라서 저장한 이미지를 다시 열면 실행 취소 이력은 비어있게 됩니다.

김프의 실행 취소 기능은 꽤 근사하게 구현되어 있습니다. 대부분의 작업들은 아주 작은 실행 취소 메모리만으로 많은 과정들을 저장해둘 수 있습니다. 예를 들어 레이어의 보기전환과 같은 몇몇 작업들은 압축되어, 단지 하나의 포인트만을 기억해둠으로써 여러번 해당 과정을 반복할 수 있습니다. 그에 반면 필터와 같이 꽤 많은 실행 취소 메모리를 소모하는 작업들도 있습니다. 대부분의 필터들은 플러그인 형식으로 구현되므로 김프 코어는 필터 적용 전후의 자세한 변화 내용을 확인할 수 없습니다. 따라서 아예 필터 적용 전후의 모든 내용을 기록하므로 많은 메모리를 사용하게 됩니다. 이러한 작업들은 실행 취소 이력에 겨우 몇번만 기록할 수 있습니다.

### 3.1. 실행 취소를 할 수 없는 것들

이미지를 수정하는 대부분의 작업들은 취소를 할 수 있습니다. 반면, 이미지를 파일로 저장하거나 복사하거나, 이미지의 일부를 클립보드로 복사하는 작업처럼, 이미지 수정과 관련이 없는 작업들은 취소를 할 수가 없습니다. 그리고 확대해서 보기 등 이미지에 어떠한 변형이 없는 작업도 취소할 수 없습니다. 예외적으로 퀵마스크 전환은 이미지에 변형을 가하진 않지만 실행 취소가 가능합니다.

이미지에 변형을 가하지만 취소할 수 없는 작업 목록 :

이미지 닫기

  실행 취소 이력은 이미지의 구성 요소 중 하나이므로, 이미지가 닫히면 그 기록은 모두 사라집니다. 따라서 이미지를 변경한 후 저장하지 않고 닫을 경우 김프는 항상 확인 창을 띄웁니다.(기본 설정 대화 상자의 환경 페이지에서 이 기능을 중지시킬 수도 있습니다. 하지만 그로 인해 발생되는 문제는 스스로 책임을 져야 합니다.)

이미지 원래대로 만들기

  “원래대로” 라는 것은 이미지를 파일로부터 다시 읽어들이는 것을 말합니다. 김프에서 이 메뉴를 실행시키면, 현재 이미지를 닫고 새로 이미지를 다시 열엽니다. 따라서 실행 취소 이력은 모두 사라지게 됩니다. 그리고 이미지가 변형되었다면 원래대로 만들기 전에 항상 실행 여부를 확인합니다.

동작의 “일부분”

  어떤 도구들은 해당 도구를 사용하기 위해 복잡한 편집과정들을 요구하기도 합니다. 이런 경우 그 각각의 과정들에 대해서는 실행 취소를 할 수 없고, 오직 전체 과정에 대한 실행 취소만 할 수 있습니다. 예를 들어 "똑똑한 가위" 도구는 이미지 위에 여러 지점을 찍어 폐쇄된 경로를 만들고, 그 내부를 클릭해서 선택을 만듭니다. 이 상태에서 실행 취소를 하면 바로 직전에 한 클릭이 아닌 "똑똑한 가위" 를 시작한 처음 지점으로 돌아갑니다. 다른 예를 들자면, 텍스트 도구를 사용할 경우, 각각의 문자나 글씨체 변환 등의 작업은 취소할 수 없고, 실행 취소를 하면 텍스트 레이어가 사라지며 새로운 텍스트 레이어가 나타납니다.

플러그인이나 스크립트에 의해 실행된 필터나 다른 작업들 역시 김프에 의해 직접 실행된 작업들처럼 실행 취소를 할 수 있습니다. 단, 해당 플러그인이나 필터에서 김프의 실행 취소 기능을 정확히 사용했을 때만 가능합니다. 그렇지 않으면 김프의 실행 취소 기능과 충돌을 일으켜 해당 작업뿐만 아니라 그 전의 작업들마저도 취소할 수 없는 일이 발생될 수 있습니다. 김프에 포함되어 배포되는 플러그인이나 스크립트를 제외한 다른 경로로 설치한 플러그인이나 스크립트의 경우에 이런 문제가 발생할 수 있습니다. 또한 코드가 정확하더라도 해당 플러그인이 동작하는 중간에 취소를 하는 경우, 실행 취소 이력에 문제가 생길 수도 있습니다. 따라서 순차적으로 진행되는 과정 중간에 종료하지 않는 것이 이러한 문제를 피하는 최선의 방법입니다.

2.3. 대화 상자와 도킹 |  | 4. 자주 하는 편집 작업

Report an error in Bugzilla