BLOG main image

분류 전체보기 (321)
free (36)
영화 (85)
드라마 (21)
게임 (28)
만화/책 (34)
개발 (46)
IT (68)
연예 (3)
Visitors up to today!
Today hit, Yesterday hit
TETRIS
rss
2010. 5. 29. 20:43
리눅스와 윈도우를 오가면서 개발을 하다보면, 윈도우 콘솔 환경에서도 리눅스 명령어가 자꾸만 튀어나올 때가 있습니다. 대표적으로 ls, ll, clear 등등...
그리고, IDE 를 사용하지 않고 콘솔에서 디렉토리를 오가면서 파일을 편집해야 할 때, 탐색기에서 일일이 클릭을 하면서 작업하는 경우도 있지만, 콘솔 창에서 작업하다가 바로 에디터로 연결하면 편할것 같다는 생각이 들 때가 많았습니다. 리눅스스에서 [keidw ~]$ vim test.cpp 이렇게 파일을 편집하는게 꽤 익숙해졌거든요.

그래서, 정말 단순하게(...) 비슷한 기능을 할 수 있도록 꾸며봤습니다.
일단, ls, ll, clear 는 VANY 님이 알려주신 alias (doskey) 를 사용해서 새로 등록했습니다.
doskey ls = dir/w
doskey ll = dir
doskey clear = cls

이것만으로도 습관적으로 윈도우 콘솔에서 ll, ls, clear 를 입력했을 때, 에러 메시지 대신 원하는 목적을 이룰 수 있습니다.

그런데, "c:\Program Files\Notepad++\notepad++.exe" %1 라고 vim.cmd 를 만들어서 사용하면 문제가 있습니다.

c:\temp>vim test.cpp 라고 입력을 했을 때, test.cpp 를 인자로 Notepad++ 가 실행은 됩니다만, 콘솔 창 자체를 사용할 수 없게 됩니다. Notepad++ 의 사용을 종료할 때까지 대기 상태가 되는 것이죠. 리눅스라면 & 를 사용해서 백그라운드 실행을 시킬 수 있겠지만, WindowsXP 에서는 어떻게 해야할지 모르겠더군요. alias 같은 것도 없는 것 같고~ (네, 제가 컴맹이라 윈도우 콘솔 명령어를 잘 몰라서요;;;)

아니면, c:\Program Files\Notepad++ 를 PATH 에 추가하고, notepad++.exe 를 vim.exe 라고 복사해줘도 되긴 하겠죠. 그렇지만 notepad++ 가 버전업 되면 다시 복사해줘야 하고, 뭔가 관리하기가 귀찮은 느낌이에요. 필요한 것 마다 PATH 를 추가하는 것도 좀 피곤한 것 같구요.

그래서, 그냥 VC++ 로 만들었습니다. -_-;;;

ExecuteCmd.exe 라는 파일인데, 용량은 40k 정도 됩니다. 크게 부담되는 크기는 아니죠? 냐하하;

ExecuteCmd 사용법은 다음과 같습니다.

ExecuteCmd.exe 파일을 원하는 이름으로 바꿔줍니다. 예를 들어, vim.exe
그 vim.exe 를 PATH 가 지정된 폴더 (c:\Windows 라던가)에 복사해 넣습니다.

c:\temp>vim test.cpp 하면!!!

... 당연히 안되겠죠.
어떤 프로그램이 실행되어야 할지 아직 모르는 상태잖아요.

c:\temp>vim SET "C:\Program Files\Notepad++\notepad++.exe" 이렇게 해주면 됩니다.

그러면, 지금 실행을 시킨 바이너리 이름 (여기서는 vim) 으로 SET 이하의 파일이 등록됩니다.
그 때 부터는 vim.exe 를 실행시키면, notepad++.exe 를 실행하게 됩니다.

만약 여러게 등록하고 싶을 때에는, 바이너리 이름을 지정해 줄 수도 있습니다.

c:\temp>ExecuteCmd SET vim "C:\Program Files\Notepad++\notepad++.exe"
c:\temp>ExecuteCmd SET n "C:\Program Files\Notepad++\notepad++.exe"
c:\temp>ExecuteCmd SET n2 "C:\utility\notepad2\notepad2.exe"

이런식으로, 바이너리의 이름을 지정해주면 그 이름이 등록이 됩니다.
물론, ExecuteCmd 를 PATH 가 지정된 폴더에 vim.exe, n.exe, n2.exe 로 복사해서 넣어줘야겠죠.
약간... 머저리 같은 구조라는 생각이 들기도 하지만...
전 진짜 편하게 쓰고 있어요...-_-;

도스 콘솔 창에서 파일 컨트롤 하다가, n config.xml 이렇게만 딱 치면 에디터가 연결되는게 너무 편하더라구요. 아마 리눅스 콘솔에서 vim 으로 코딩하시던 분들이라면 나름 유용하게 쓸 수 있지 않을까 생각합니다.

물론, 도스 컴맨드 상에서 alias 비슷한 기능이 있어서 제가 만든게 삽질이었으면 슬프겠지만...
만약 그렇더라도 전 이걸 쓸거에요. 후-_-;

alias 기능 있네요. doskey ... - _ -;;;;
그렇지만 인자를 줘서 프로그램을 실행하는 것은 안되는 것 같습니다.
그러니,
혹시 필요하신 분 있으면 가져다 쓰에요^__^;