Я использую emacs некоторое время, но не так хорошо знаком с программированием lisp. Это было всего пару дней, когда я начал кодировать Python на emacs. Я нашел python-mode весьма полезным, и я хочу изучить его дальше. Я нашел несколько функций губкой emacs в Интернете, немного поработал им, чтобы сделать интерфейс удобным для пользователя. Я пытаюсь достичь следующих действий:настройки буфера переключателя с использованием python-mode в emacs?
Обычно я запускаю emacs с двумя вертикальными окнами, один с источником python, а другой - оболочкой. Я должен быть в состоянии сделать следующее с помощью привязок клавиш
- переключения между буферами (рабочих)
- выполнить область (рабочий) но заменяет исходный буфер буфер оболочки. Я хочу выполнить выбранную область в исходном буфере оболочки.
- выполнить строку (рабочий) но такой же выпуск как указано выше. когда я пишу, строка должна быть выполнена в оболочке python без замены каких-либо буферов. поэтому скопируйте строку, переключитесь на оболочку python, выполните строку, вернитесь в исходный буфер python.
Я не могу добиться переключения выше. Ниже приведен мой код из файла init.el.
(defun goto-python-shell()
"Go to the python command window (start it if needed)"
(interactive)
(setq current-python-script-buffer (current-buffer))
(if (boundp 'current-python-shell-buffer)
(switch-to-buffer-other-window current-python-shell-buffer)
(py-shell))
(end-of-buffer)
)
(defun goto-python-source()
"switch back to source window"
(interactive)
(setq current-python-shell-buffer (current-buffer))
(switch-to-buffer-other-window current-python-script-buffer)
)
(defun py-execute-statement-and-step()
"select a statement, submit as a region and then step forward"
(interactive)
(beginning-of-line 1)
(let ((beg (point)))
(py-next-statement 1)
; if last statement.
(if (= (point) beg) (end-of-buffer))
; (switch-to-buffer-other-window current-python-shell-buffer)
(py-execute-region beg (point))
(switch-to-buffer-other-window current-python-script-buffer)
)
)
; some key bindings
(define-key python-mode-map (quote [f9]) 'py-execute-statement-and-step)
;(define-key python-mode-map (quote [f10]) `py-execute-region)
;py-shell-switch-buffers-on-execute
(define-key python-mode-map (quote [f10]) `py-shell-switch-buffers-on-execute)
(define-key python-mode-map (quote [f11]) `py-execute-buffer)
(define-key python-mode-map (quote [f12]) `goto-python-shell)
(define-key py-shell-map (quote [f12]) `goto-python-source)
Прошу совета.
Кроме того, поскольку я новичок в режиме python, может ли кто-то поделиться хорошими инициализациями для использования режима python, подобного выше?
благодарит за вашу помощь.
С уважением, AJ
Желание, если кто-то знал ответ .. Я просто хочу скопировать строку, отправить ее в другой буфер ..выполните некоторые действия и вернитесь к предыдущему буферу. – Alok