Emacs эквивалент VTS верстплит (против)? - PullRequest
3 голосов
/ 05 декабря 2011

Когда у меня открыт один файл, я хочу открыть другой, разделив окно вертикально. В vim это :vs filename. В emacs я думаю, что это C-X 3, C-X o, C-X C-F, filename. Можем ли мы сделать это короче?

Ответы [ 2 ]

5 голосов
/ 05 декабря 2011

C-h f find-file-other-window RET

По умолчанию он связан с C-x 4 f, но вы можете переназначить его на C-x f с помощью global-set-key.

0 голосов
/ 06 декабря 2011

Я думаю, что использование find-file-other-window не совсем то, что вы хотите.Он использует display-buffer, который не просто разделяется по вертикали, но пытается найти место для отображения нового буфера.Вы можете сделать что-то вроде этого

(defun find-file-split-horizontally()
  (interactive)
  (flet                                 ; temporary change
                                        ; display-buffer function to
                                        ; our needs
    ((display-buffer (buffer-or-name &optional not-this-window frame)
       (select-window (split-window-horizontally)) ; select newly created window
       (switch-to-buffer buffer-or-name)))
(call-interactively 'find-file-other-window)))

(defun switch-to-buffer-split-horizontally()
  (interactive)
  (flet
    ((display-buffer (buffer-or-name &optional not-this-window frame)
       (select-window (split-window-horizontally))
       (switch-to-buffer buffer-or-name)))
(call-interactively
  ;; use only one of these
  'ido-switch-buffer-other-window
  ;;'switch-to-buffer-other-window
  )))

Это всегда будет пытаться разделить ваш текущий буфер по горизонтали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...