제임스딘딘의
Tech & Life

개발자의 기록 노트/Linux

[리눅스/Vi]Vim, Vi, GVim 에서 '작업 취소(Undo)' / '다시 하기(Redo)' 방법

제임스-딘딘 2012. 4. 18. 14:39

Vi (Visual Display Editor)


리눅스나 유닉스를 처음 접하는 사람에게 vi는 매우 골치아픈 존재일지도 모릅니다.

윈도우환경에서 문서 편집기를 써 본 사람이라면, vi는 매우 불편한 편집기로 생각 될지도 모르죠.

그러나 vi 편집기에 익숙해지면 이보다 좋은 문서 편집기는 없다는것을 느끼게 될 것입니다. 문제는 익숙해지는데 오래걸려서 그렇죠(...먼산...)


만약 당신이 윈도우에 익숙한 사용자라면, 텍스트 에디터에서 무언가 잘못된 입력을 한 경우, Ctrl+Z 로 간단하게 그 잘못된 입력을 되돌릴 수 (Undo) 있다는걸 알고 있을것입니다.


리눅스에서 기본적으로 사용하는 Vi에디터 에서도 동일한 기능을 제공합니다만, 단축키가 다릅니다.

방법을 알아봅시다.


이하 존칭은 생략합니다.


작업 취소

만약 현재 뭔가 글을 입력하는 '편집모드'라면 키보드의 Esc키를 눌러 명령 모드로 들어간 후,
소문자 u 를 누르면 방금 했던 작업이 취소된다.


이후 다시 편집을 계속하기 위해서는 i 키를 누르면 된다.


현재 줄에서 수정한 내용만 취소

현재 편집모드라면 키보드의 Esc키를 눌러 '명령모드'로 들어간 후,
대문자 U (Shift + u) 를 누르면, 현재 커서가 위치하고 있는 줄에서 했던 모든 작업이 취소다.

현재 줄에서 아무리 복잡한 작업을 해도 원상태로 쉽게 돌아갈 수 있는 유용한 기능이.


취소를 취소하기(!)

이 기능은 Vim에서만 동작한다.


위의 u 키로 취소했지만 마음이 바뀌어서, 취소하기 전으로 돌아가고 싶을 때는 Ctrl+R 키를 통해 취소를 취소할 수 있다.

이를 Redo 라고 한다.


참고로, 무엇인가를 취소(Undo)했을 때에만 Redo가 작동한다

취소한 적이 한번도 없다면, 취소에 대한 취소도 작동하지 않는다.


vi/vim 작업취소(undo) 방법


vi editor 관련 글