LaTeX

Emacs 길들이기 - 5. 한 줄 삭제, 한 줄 복사.

ForceCore 2007. 10. 22. 10:07
vim을 쓰던 사람으로써 -_-
emacs와 vim이 비슷하게 동작하면 좋겠다;;
C-a C-k를 누르면 C-a = Home 키와 같은 효과, C-k -> 현재부터 끝까지 삭제.
이렇게 되어있는데...
삭제되면서 복사되기는 vim과 마찬가지라 C-y로 붙여넣어진다.
BUT
vim처럼 최종 엔터까지 잡아먹진 않는다.

http://emacs.wordpress.com/2007/01/22/killing-yanking-and-copying-lines/
여기를 컨닝. emacs copy line으로 검색해서 나온 것 중 있었다.
.emacs파일에
(setq kill-whole-line t)
옵션을 걸면 됨.
그러면 vim처럼 삭제된다.

하지만...
이제 yy에 해당하는 것을 해보고 싶은데...

; Copy Line Command
(defun copy-line (n)
    "Copy N lines at point to the kill-ring."
    (interactive "p")
    (kill-ring-save (line-beginning-position) (line-beginning-position (1+ n))))

(global-set-key "\C-c\C-y" 'copy-line)
이걸 쓰면 된다?

C-c C-y를 하면 한 줄 복사를 한다.
여러줄 복사도 되는 모양인데, 그런 거는:
C-숫자 C-c C-y
이다.

윈도우의 gvim과 다른 점은, gvim은 edit mode에서 쉬프트를 누른 상태로 이동을 하면 메모장처럼 복사, 붙여넣기를 사용할 수 있다는 것인데, emacs는 그렇지 않다는 것이다.
하지만 왜 없겠는가.
컨트롤 스페이스를 누르면 mark set이라고 할 것이다. (쉬프트 처럼 계속 누르고 있을 필요는 없다.)
블록지정이 눈에 보이지 않지만, 마음의 눈으로 잘 보면서,
원하는 영역의 끝으로 가서 C-w를 누른다. 그러면 cut된다 (!)
그저 복사만 하고 싶으면 M-w를 누르면 된다.

vim의 cw를 써보고 싶은데.
물론 없지 않아 있다.
알트D이다. 한 word 삭제.
emacs에서는 editor모드나 command mode 구분이 없기에 한 word삭제 = cw다. -_-
...
vim에서 dw는 삭제만 하고 editor모드가 안 되는데, cw는 에디터모드로 전환까지 된다.
emacs에선 그런 모드가 없으니 그게 그거.