답변:
나는 보통을 사용 M-x term
합니다.
체크 아웃 할 수도 있습니다.
M-x terminal
M-x shell
M-x term
elisp로 작성된 터미널 에뮬레이터를 효과적으로 시작합니다. 도움에서 :
용어
M-x ... RET 새로운 버퍼에서 터미널 에뮬레이터를 시작합니다. (기간 프로그램)term은`term.el '의 대화식 컴파일 된 Lisp 함수입니다.
새 버퍼에서 터미널 에뮬레이터를 시작하십시오. 버퍼는 용어 모드입니다. 해당 버퍼에서 사용할 명령에 대해서는 `term-mode ' 를 참조하십시오 .
다른 버퍼로 전환하려면 Cc b를 입력하십시오.
multi-term
emacs 명령 M-x shell
은 새 버퍼에서 쉘을 시작합니다 (또는 기존 쉘 버퍼가있는 경우 기존 쉘 버퍼로 전환). 새로운 쉘 버퍼 인 경우 현재 버퍼에서 방문중인 파일의 디렉토리에서 시작됩니다. 기존 쉘 버퍼 인 경우, 마지막 사용 후 남은 디렉토리에 계속 남아 있습니다. 항상 원하는 동작을 얻으려면 셸 버퍼 사용을 끝내야합니다 ( C-x k
)
경우 M-x shell
너무 많은 입력이, 당신은 당신을 위해 쉘을 시작하는 글로벌 키를 설정할 수 있습니다. (global-set-key (kbd "C-x S") 'shell)
시작 파일 과 같은 것이 그렇게해야합니다 (그러나 바로 가기로 다른 유용한 명령을 가리지 않도록주의하십시오!)
또한 이것은 "덤 터미널"이므로 git commit
필요와 같은 옵션 -m
및 암호와 같은 일부 명령은 화면에 일반 텍스트로 표시됩니다.
전용 터미널 응용 프로그램을 실행하고 싶었습니다 konsole
. Konsole에서 새 탭이 실행 중이면 새 탭을 열거 나 그렇지 않으면 실행 중입니다.
내가 어렸을 때부터 구현을 emacs와 bash로 나누었습니다. 나는 이맥스에서 다음 defun을 부른다.
(defun bk-konsoles ()
"Calls: bk_konsoles.bash -- which starts new tab in a running konsole,"
(interactive)
(let ((curDir default-directory))
(shell-command (concat "bk_konsoles.bash \"" curDir "\" 2>&1 > /dev/null & disown") nil nil)
(kill-buffer "*Shell Command Output*")))
defun은 bash 스크립트를 호출합니다 bk_konsoles.bash
.
#!/bin/bash
myPath=`echo $@ | sed 's/.$//'`
runningKonsole=`ps -e | grep konsole`
if [ "$runningKonsole"!="" ]; then
if [ "$@"!="" ]; then
konsole --new-tab --workdir "$myPath" 2>&1 > /dev/null
else
konsole --new-tab 2>&1 > /dev/null
fi
wmctrl -a " – Konsole"
else
konsole
fi
내가 사용하는 대부분의 시간 shell-mode
. 그래서 나는 shell-here을 많이 사용 합니다 . 그러나 외부 터미널이 필요할 때. 나는 이것을 사용하여 tmux와 함께 urxvt-client를 사용합니다 :
urxvtc -e bash -c "tmux -q has-session && exec tmux attach-session -d || exec tmux new-session -n$USER -s$USER@$HOSTNAME"
(defun term-here ()
(interactive)
(start-process "" nil "term-here"))
현재 디렉토리에 urxvt-client (tmux 포함)가 열립니다. dired-mode-map에 바인딩합니다.
(use-package dired
:ensure nil
:ensure-system-package urxvt
:bind ((:map dired-mode-map
("," . term-here))))
빠르고 간단하기 때문에 urxvt-client를 선택합니다. 시작할 때 urxvt-daemon을 실행하는 것을 잊지 마십시오.
M-x term
, 그것은 멋져 보이지만 정확히 내가 원하는 것이 아니다. 난 안 예를 들어 쉘 (시작하려는bash
또는zsh
버퍼하지만 터미널 에뮬레이터 (이맥스에서xterm
또는를urxvt
.) ...