emacs, 용어 모드를 사용하는 사용자 정의 명령 작성

emacs, 용어 모드를 사용하는 사용자 정의 명령 작성

저는 Emacs와 M-xterm터미널을 사용하고 있습니다. 내 일반적인 작업 흐름은 다음과 같습니다.

  • 일부 코드 편집
  • C-x o터미널 버퍼(또는 C-x bterm[Enter]다른 것) 로
  • Up마지막 명령을 사용하려면 키를 누르세요
  • 눌러서 Enter실행하세요
  • C-x o돌아가다

나는 이 모든 것(첫 번째 단계를 제외하고...아마도)을 하나의 명령에 묶고 싶습니다. 나는 Emacs가 그렇게 할 만큼 훌륭하다고 믿습니다 :-)

따라서 명령은 다음과 같아야 합니다.

  • 터미널을 사용하여 버퍼로 이동합니다(창을 전혀 변경해서는 안 될 수도 있고, 창을 수직으로 분할해야 할 수도 있고(아직 분할되지 않은 경우) 올바른 SID를 사용해야 할 수도 있음)
  • 거기에서 실행된 마지막 명령을 실행하십시오.
  • 화면의 마지막 버퍼/부분으로 돌아가기

감사합니다! 저는 Emacs 스크립팅 시스템에 익숙하지 않습니다. 누군가가 저를 도와주고 다른 누군가가 답변을 사용하여 그의 작업 흐름을 개선할 수 있기를 바랍니다. 왜냐하면 이것이 매우 일반적인 시스템이라고 믿기 때문입니다.


명령의 예:

python manage.py test
python manage.py test stats
python solve.py # for project-euler puzzles :-)

첫 번째와 두 번째는 때때로 SSH(터미널에서)를 통해 실행됩니다(나는 로 개발하는 것을 좋아합니다 vagrant).

첫 번째와 세 번째를 바인딩하는 것은 쉽지만 두 번째는 너무 자주 변경된다는 것을 이해합니다. "마지막 명령 실행"을 원합니다.

답변1

빠르고 복잡함 - 매크로 정의:

F3
C-x b term RET
UP RET
C-x b RET
F4

이제 다시 누르면 마지막 / 쌍 F4사이에 수행한 작업이 반복됩니다 . 두 개 이상의 매크로 보유, 매크로 편집, 에 매크로 저장 등을 포함하여 매크로를 사용하여 훨씬 더 많은 작업을 수행할 수 있습니다. 자세한 내용은 다음을 참조하세요.F3F4.emacsEmacs위키그리고이맥스 매뉴얼.

답변2

M-x compile비슷한 일을 하는 것을 허용 하지 않나요 ? 이를 통해 사용자 정의 명령을 입력하고 실행한 후 다음에 이 작업을 반복할 수 있습니다.

글쎄요, 아마도 대화형 명령에 문제가 있을 것입니다(그래서 용어를 사용하고 싶은 것입니다). 그리고 아마도 영구적으로 재사용 가능한 ssh 연결에도 문제가 있을 것입니다(그러나 여기에서는 TRAMP가 도움이 될 수 있습니다. cd REMOTELOCATION; your_cmd작동할 수 있습니다).

따라서 최소한 의 소스 코드를 보면 compile그러한 시나리오에서 버퍼가 어떻게 관리되고 명령이 실행되는지 배울 수 있습니다.

관련 정보