[완료] emacs 에서 단축키로 shell 을 띄운 후 특정 명령어를 자동으로 치게 하려면...

ainvyu의 이미지

컴파일 후 M-x shell 후 파일명을 치는게 귀찮아서 (?).. elisp 로 shell 후 ./[filename] 을 자동으로 치게 하고싶습니다.
그래서 elisp 매뉴얼을 뒤져가며 대충 짜본게..

(defun fooo ()
  "Run ./filename"
  (interactive)
  (let (fileName))
  (setq fileName (file-name-nondirectory buffer-file-name))
  (setq fileName (format "./%s" (file-name-sans-extension fileName)))
  (split-window-vertically)
  (other-window 2)
  (shell fileName)
)

이런 형태인데... shell 만 실행되고 명령어는 입력이 안되더군요 T.T

위 코드가 어디서부터 잘못된건지 알고싶습니다 T.T

primewizard의 이미지

(defun fooo ()
  "Run ./filename"
  (interactive)
  (let ((fileName (file-name-nondirectory buffer-file-name)))
    (setq fileName (format "./%s" (file-name-sans-extension fileName)))
    (split-window-vertically)
    (other-window 1)
    (shell)
    (sit-for 0.5)
    (insert fileName)
    (comint-send-input) )  )

그리고 M-! (shell-command)도 고려해 보세요.

그리고 질문을 수정하셔서...
수정 전 질문에서 아래 것이 필요할 것 같다라는 느낌이 팍(?) 들어서.....

http://www.emacswiki.org/emacs/SmartCompile

http://j2k.naver.com/j2k_frame.php/korean/homepage.mac.com/zenitani/elisp-j.html

ainvyu의 이미지

T.T 질문을 수정해서 죄송합니다.. 질문 내용을 잘못쓰는 바람에..

답변 정말 감사드립니다 :)
덕분에 한층 편하게 emacs를 사용할 수 있겠네요. ^^

치즈~ ;)