문제

나는 그랬다 Cygwin이 EMAC에서 일하는 방법을 연구합니다. 나는 그것을 작동하지만 이제 다음을 수행 할 매크로를 쓰고 싶습니다.

  • MX Cygwin을 입력하여 시작합니다
  • 스크립트를 명백한 장소에 저장하십시오 (아마도 내 .emacs 파일)
  • MX 쉘
  • 버퍼의 이름을 Cygwin (또는 Cygwin1, Cygwin2, Cygwin3, ... Cygwin이 존재하는 경우)으로 MX Rename-Buffer를 사용합니다.
  • MX ansi-color-for-comint-mode-on
  • MX Set-Buffer-Process-Coding-System 'Undecided-Unix'결정되지 않은-유닉스
  • Cygwin을 열고 실행하십시오

기본적으로 위의 모든 단계를 수행합니다. 이 작은 프로젝트를위한 대부분의 조직이 완료되었다고 생각합니다. MX Cygwin을 입력하고 새롭게 새로운 Cygwin 버퍼를 볼 수 있도록 어떻게 모두 묶으려면 어떻게해야합니까? .Emacs에 정확히 무엇을 추가해야합니까? 또한 Windows의 .Emacs는 정확히 어디에 있습니까?

나는 여전히 Windows Shell의 MX 쉘을 실행할 수있는 기능을 원합니다. 또한 MSYS와 SSH'ing에 대해 Linux 상자에 비슷한 매크로를 만들 수도 있습니다. 시작하려면 어떻게해야합니까?

도움이 되었습니까?

해결책

많은 질문, 여기에 몇 가지 답이 있습니다.

당신의 .emacs는 많은 장소가 존재할 수 있으며, 의존하고, 읽습니다. 여기. 간단히 시도해보십시오 cx cf .emacs, 또는 변수의 값을 확인하십시오 'user-init-file (ch v user-init-file).

나는 당신이 원하는 명령이 이것의 선을 따라 무언가라고 생각합니다.

(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) - 당신은 당신이 원하는 것을 사용자 정의하고 싶을 것입니다.

당신은 당신의 .emacs에서 가장 쉬운 일을 할 수 있습니다. cx cf .emacs 그리고 열린 버퍼에 붙여 넣습니다. 저장하고 다시 시작하십시오 (또는 수행하십시오 MX Eval-Defun 커서가 그 명령의 본문에있을 때. 그 다음에 MX Cygwin 명령을 실행합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top