2009-10-28 7 views
0

저는 researching how to get Cygwin to work under emacs입니다. 나는 그것이 작동,하지만 지금은 다음을 수행하는 매크로를 작성하려면 : Cygwin 이맥스 매크로 만들기

  • 스크립트가 어떤 명백한 장소에 저장 한 MX의 Cygwin에서 (아마 내 이맥스 파일)를 입력하여

    • 시작을
    • MX 쉘
    • 시그윈 위해 버퍼 바꾸기 (또는 cygwin1, cygwin2, cygwin3을 ... 시그윈가 존재하는 경우) 아마 MX 이름 변경 버퍼 사용
    • MX ANSI 컬러를 위해 COMINT 모드 기능
    • Mx set-buffer-process-coding-system '미정의 유닉스'
    • 오픈 유닉스 ecided와 Cygwin에서

    을 실행 그것은 위의 모든 단계를 수행 기본적으로합니다. 나는이 작은 프로젝트를위한 조직의 대부분이 완료되었다고 생각한다. 어떻게 모든 것을 묶어서 M-x cygwin을 타이핑하고 행복한 새 cygwin 버퍼를 볼 수 있을까요? .emacs에 정확하게 추가되어야하는 것은 무엇입니까? 또한 Windows의 .emacs는 정확히 어디에 있습니까?

    는 여전히 창문 지금은 쉘에 대한 M-X 쉘을 실행하는 기능을합니다. 나는 또한 MSYS를위한 비슷한 매크로를 만들고 리눅스 박스에 ssh를 할 수도있다. 시작하려면 어떻게해야합니까?

    귀하의 이맥스, 그것은 따라, 많은 장소를 존재할 수 here을 읽어

  • 답변

    2

    많은 질문은 여기에 몇 가지 답변입니다. 간단히 C-x C-f .emacs을 시도하거나 변수 'user-init-file (C-h v 사용자 초기화 파일)의 값을 확인하십시오.

    내가 원하는 명령이의 라인을 따라 뭔가 생각 :

    (require 'comint) ; this does require comint 
    (defun cygwin() 
        "do what i want for cygwin" 
        (interactive) 
        (let ((buffer (get-buffer-create (generate-new-buffer-name "cygwin")))) 
        (pop-to-buffer buffer) 
        (unless (comint-check-proc buffer) 
         (apply 'make-comint-in-buffer (buffer-name buffer) buffer "c:/cygwin/Cygwin.bat" 
          nil 
          nil) 
         (ansi-color-for-comint-mode-on) 
         (set-buffer-process-coding-system 'undecided-unix 'undecided-unix)))) 
    

    참고 : 내가 직접 처리 Cygwin.bat 대신의 배치 프로그램을 시작 후 쉘을 실행을 달렸다. 나는 그 효과가 동일하고보다 직설적이라고 믿습니다. 나는 버퍼를 명명하는 쉬운 방법을 선택했다. ('generate-new-buffer-name 사용) - 원하는대로 사용자 정의하고 싶을 것이다.

    C-x C-f .emacs을 실행하여 .emacs에서 위의 명령을 가장 쉽게 덤프 할 수 있으며 열린 버퍼에 붙여 넣을 수 있습니다. 명령을 저장하고 다시 시작하거나 M-x eval-defun 커서가 해당 명령 본문에있을 때 M-x cygwin이 명령을 실행합니다 ..