2010. 4. 2. 10:24

지켜주지 못해 미안해 Emacs


Visual Studio 2010 에는 Emacs emulation 제공되지 않을수도 있다는 을 봤다.
이유인즉 WPF 로 재작성되면서 해당 기능에 대한 구현되지 않았다는건데...
평소 emacs key binding을 애용해오던 나에겐 거짓말이라고 믿고싶은 상황이다. (다른 곳엔 emacs key emulation을 살려달라는(?) 투표도 진행되고 있다. (투표가 맞긴하나?))

아무튼 사람들의 불평에 대한 MS의 답변을 보면 3rd party에게 구현을 맡길 수 있도록 할수도 있덴다. 왜 지들이 구현 안하고...
뭐.. 한편으론 이 상황이 좀 반갑기도한데 왜냐면 기존 emacs emulation은 매우 드럽기때문이다. -_-;;
기존 기능은 이건 emacs 같기도하고 visual studio 같기도한 애매한 emulation이라 상당수의 기능이 원래 동작과는 다르게 동작한다.
그래서 viemu(vi emulation) 처럼 3rd party 쪽에서 구현하면 좀더 완성도가 높게 나오지 않을까 싶기도하고..

어쨌거나 저 소식을 듣고 emacs key binding을 버리고 기본 키보드 세팅으로 돌아가려고 시도를 해봤는데.. 이미 늦은거 같다. emacs는 마약이다 orz (사실 vim은 viemu 같은 것도 있고 VS2010 도 지원해준다고하니 vim에 적응해서 넘어가보려고 시도중에 있긴한데 -_-; 아무래도 글렀다.) ※1

MS가 구현할 생각이 없다면 재빨리 다른 3rd party에서 add-on을 만들어줬으면 좋겠다... 아니.. 제발, 반드시, 빨리 만들어줘-_- 비싸도 사줄테니까말야. 화이팅.



※1. 기본 키보드 세팅을 사용하지 않는 이유로는 키보드에서 손을 많이 움직이는걸 싫어한다. emacs 키배치에 맛들리니 코딩할때 화살표키나 PageUp, PageDown 누르러 손을 이동하는 것도 귀찮..
Posted by envi
2008. 12. 15. 01:14

요즘 다시 Topcoder 나 UVa 문제들을 하루에 한문제씩 풀고있습니다.
기존엔 Visual C++ 로 풀었는데 emacs에 익숙해질겸해서 에디터를 갈아치웠죠..

그런데 Visual C++ 처럼 단축키만으로 컴파일을 하고 실행이 안되니 너무 불편합니다 T.T

문제를 풀고 컴파일 여부와 실행해서 Test Case 를 입력 후 답이 제대로 나오는지 확인해야되는데.. 이게 금방금방 안되니.. ;(

하지만!! emacs 는 extensible! customizable! 한 에디터 아니겠습니까? ^^

그래서 그 단축키만으로 컴파일!을 하고 실행! 을 할수있게 기능을 추가했습니다.

; 현재 소스파일명으로 컴파일을 합니다. (ex. source.cpp -> source)
(defun compile-filename()
  "Compile buffer filename"
  (interactive)
  (let (compileString fileName))
  (setq fileName (file-name-nondirectory buffer-file-name))
  (setq fileName (file-name-sans-extension fileName))
  (setq compileString (format "g++ %s -o %s" buffer-file-name fileName))
  (compile compileString)
)
; 창을 두개로 나눠 쉘을 띄운 후 컴파일된 파일을 실행합니다.
(defun execute-filename ()
  "Run ./filename"
  (interactive)
  (let ((fileName (file-name-nondirectory buffer-file-name)))
    (setq fileName (format "./%s" (file-name-sans-extension fileName)))
    (setq windowHeight (- (window-height) 10))
    (split-window-vertically windowHeight)
    (other-window 1)
    (shell)
    (sit-for 0.1)
    (insert fileName)
    (comint-send-input)
    ) 
  )
;; M-x compile-filename 로 입력하니 불편하니 Ctrl+c c 로 컴파일 할수있게합니다.
(global-set-key [(control c) ?c] 'compile-filename)

;; 역시 실행시도 Ctrl+c x 로 실행할 수 있게 합니다.
(global-set-key [(control c) ?x] 'execute-filename)


elisp 를 하나도 모르던 상태라 http://www.gnu.org/software/emacs/manual/html_mono/elisp.html 와 KLDP, 구글링도 해가며 열심히 만들었습니다. 하루종일 삽질좀 하니 이제 elisp 를 좀 알겠네요.

결국 삽질 끝에 좀 편하게 emacs를 쓸수 있겠군요... 열심히 문제만 풀 일만 남았습니다. ^^

내공이 좀 더 쌓이면 푸는 문제들도 문제와 풀이를 올려봐야겠네요.
Posted by envi
2008. 9. 7. 23:05
오늘 하루종일 vim 과 emacs 사이에서 무엇을 써야하나 계속 고민을 했습니다.

perl 을 제대로 공부하기 전에 에디터를 하나 골라서 사용법을 제대로 익혀두고 쓰는게 좋을거 같아서요 ;)

사실 그동안 emacs 를 써왔는데 수박 겉핥기식으로 쓰는 기능만 썼던터라.. 각 에디터의 장단점이 뭔지 모르네요.

그래서 우선 인터넷을 뒤져가며 사람들이 특정 에디터를 왜 쓰는지를 찾아봤는데..

어째.. 그 에디터를 왜 쓰는지 장단점을 다룬 글을 별로 없습니다. (내가 못찾는건가?)

뭐 대략.. 게시물에 써져있는 '그 에디터를 쓰는 이유'라고는 '처음 쓰던거니까 익숙해서'.. 정도?

...아무래도 일단 둘다 써보고 판단해야될거 같네요..

하아 머리 아픕니다.. OTL
Posted by envi