이맥스에서 dired 모드를 사용할 때! xxx 형식의 쉘 명령을 실행할 수 있지만이 명령을 실행하기 위해 키를 바인딩하는 방법은 무엇입니까? 예를 들어 파일의 O를 누르면 dired는 'cygstart'를 실행하여이 파일을 엽니 다. 감사합니다. .dired 이맥스에서 쉘 명령을 실행하기 위해 키를 바인딩하는 방법
7
A
답변
10
shell-command
기능을 사용할 수 있습니다. 예를 들어 :
(defun ls()
"Lists the contents of the current directory."
(interactive)
(shell-command "ls"))
(global-set-key (kbd "C-x :") 'ls); Or whatever key you want...
는 단일 버퍼에있는 명령을 정의하려면 local-set-key
를 사용할 수 있습니다. dired에서 dired-file-name-at-point
을 사용하여 포인트에서 파일 이름을 가져올 수 있습니다. 그래서, 당신은 질문을 정확히 수행하는 :
(defun cygstart-in-dired()
"Uses the cygstart command to open the file at point."
(interactive)
(shell-command (concat "cygstart " (dired-file-name-at-point))))
(add-hook 'dired-mode-hook '(lambda()
(local-set-key (kbd "O") 'cygstart-in-dired)))
3
;; this will output ls
(global-set-key (kbd "C-x :") (lambda() (interactive) (shell-command "ls")))
;; this is bonus and not directly related to the question
;; will insert the current date into active buffer
(global-set-key (kbd "C-x :") (lambda() (interactive) (insert (shell-command-to-string "date"))))
lambda
대신 익명 함수를 정의합니다. 그렇게하면 다른 단계에서 키에 바인딩되는 도우미 함수를 정의 할 필요가 없습니다.
lambda
이 키워드이고, 다음 괄호 쌍이 필요한 경우 인수를 포함합니다. 나머지는 정규 함수 정의와 유사합니다.
관련 문제
- 1. 이맥스 dired 점프 키를
- 2. WPF에서 명령을 바인딩하는 방법
- 3. 쉘 스크립트에서 여러 sqlite3를 호출을 내가 쉘 스크립트 내에서 다음 명령을 실행하기 위해 찾고
- 4. lynx에서 키를 매핑하여 쉘 명령을 실행
- 5. Emacs 몇 키를 제외하고 모든 키에 명령을 바인딩하는 방법?
- 6. 아파치 사용자는 내가 명령을 실행하기 위해 노력하고있어
- 7. 배쉬는 명령을 실행하기 위해 루프를 작성
- 8. ListViewItem에 대한 명령을 실행하기 위해 연결된 동작
- 9. dired 버퍼에서 파일 속성을 제거/생략하는 방법은 무엇입니까? 버퍼를 dired 이맥스에서
- 10. Windows 용 이맥스에서 현재 파이썬 스크립트 실행하기
- 11. 쉘 스크립트에서 SQL 실행하기
- 12. 백그라운드에서 CakePHP 쉘 실행하기
- 13. 자바 코드에서 쉘 스크립트 실행하기
- 14. 파이썬 스크립트에서 쉘 명령어 실행하기
- 15. PHP 스크립트에서 쉘 명령을 실행하기 위해 Solaris 서버에 연결하는 방법은 무엇입니까?
- 16. 단추 명령을 주 창 명령에 바인딩하는 방법
- 17. Dired : 수퍼 유저로 chown을하는 방법?
- 18. Emacs에서 디렉토리를 변경하는 방법 dired
- 19. 쉘 명령을 웹 서비스로 안전하게 실행하는 방법
- 20. TreeView의 SelectedItemChanged 이벤트에 명령을 바인딩하는 방법
- 21. 우리가 쉘 스크립트를 실행하기 위해 ./을 사용해야하는 이유는 무엇입니까?
- 22. 우분투 셧다운에서 쉘 스크립트 실행하기
- 23. Caliburn Micro - 명령을 실행하기 위해 호출을 가로채는 것이 가능합니까?
- 24. 프록시를 통해 외부 명령을 실행하기 위해 Bash 가져 오기
- 25. 장고 collectstatic 출력없이 모듈 오류 I이 명령을 실행하기 위해 노력하고있어
- 26. 펄 스크립트 : 내 펄 스크립트의 일부로이 명령을 실행하기 위해 노력하고있어
- 27. 마지막 커팅 명령을 실행하기 위해 사용자를 통한 입력 받기
- 28. - ERROR 1064 (42000) : 당신은 내가이 간단한 명령을 실행하기 위해 노력하고있어
- 29. graphicsmagick 명령을 실행하기 위해 배치 파일의 쉼표를 이스케이프 처리합니다.
- 30. Windows에서 명령을 실행하기 위해 rakefile을 작성하는 가장 좋은 방법은 무엇입니까?
참고 : 질문에 답하기 전에 이러한 기능에 대해 알지 못했습니다. 'M-! '에'C-h k'를 사용하여'shell-command'라는 이름을 얻었습니다. 먼저'dired-'함수라는 것을 추측하고 'C-h f'와 탭을 사용하여 이름을 자동 완성하는'dired-file-name-at-point'를 얻었습니다. Emacs의 함수 이름과 효과를 쉽게 알아낼 수 있습니다. ** 결국 ** 자체 문서화 ** 에디터입니다! 그것은 그것이 굉장한 많은 방법 중 하나 일뿐입니다. –