.py 파일 (emacs test.py)을 열 때 주 모드가 자동으로 python-mode로 설정되지 않는 이유는 무엇입니까? 파이썬을 다루는 내 .emacs의 일부는 다음과 같습니다.
(setq
python-shell-interpreter "ipython"
python-shell-interpreter-args "--gui=wx --matplotlib=wx --colors=Linux"
)
(defun my-eval-after-load-python()
(setq initial-frame-alist '((top . 48) (left . 45) (width . 142) (height . 57)))
(split-window-horizontally (floor (* 0.49 (window-width))))
(other-window 1)
(run-python (python-shell-parse-command))
(python-shell-switch-to-shell)
(other-window 1)
)
(eval-after-load "python" '(my-eval-after-load-python))
왼쪽 창에는 ipython 셸이 표시되고 오른쪽 창에는 열린 파일 test.py가 표시되어야합니다. 모든 것이 작동하지만 test.py는 기본 모드이고 실제로 스크래치 버퍼는 python 모드로 설정됩니다.
편집하다
음, 문제는 내 eval 함수가 창과 버퍼를 처리하는 방식 일 뿐이므로이 코드는 주 모드를 올바르게 처리합니다.
(defun my-eval-after-load-python()
(setq initial-frame-alist '((top . 48) (left . 45) (width . 142) (height . 57)))
(split-window-horizontally (floor (* 0.49 (window-width))))
(run-python (python-shell-parse-command))
)
(eval-after-load "python" '(my-eval-after-load-python))
왼쪽 창에는 foo.py (python-mode)가 표시되고 오른쪽 창에는 스크래치 버퍼 (텍스트 모드)가 표시됩니다. 메시지 버퍼와 파이썬 쉘 버퍼 (열등한 파이썬 모드)도 있습니다. 이제 왼쪽 창에서 열등한 파이썬 모드를 열고 오른쪽 창에서 foo.py를 여는 문제입니다.
시작시 창이 분할 될 때에 제공된 수락 된 답변을 기반으로 오른쪽에서 파일을 여는 방법은 무엇입니까? 원하는 동작을 구현할 수있었습니다.
(defun my-eval-after-load-python (buffer alist direction &optional size pixelwise)
(setq initial-frame-alist '((top . 44) (left . 18) (width . 135) (height . 49)))
(let ((window
(cond
((get-buffer-window buffer (selected-frame)))
((window-in-direction direction))
(t (split-window (selected-window) size direction pixelwise))
)
))
(window--display-buffer buffer window 'window alist display-buffer-mark-dedicated)
(run-python (python-shell-parse-command))
(other-window 1)
(python-shell-switch-to-shell)
(select-window window)
)
)
(eval-after-load "python" '(my-eval-after-load-python (current-buffer) nil 'right (floor (* 0.49 (window-width)))))
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다