Configurando as chaves globais da janela do emacs

0

Eu tenho o emacs em tela cheia sendo executado no terminal e dividido em quatro janelas de tamanho igual. Em vez de usar C-x o para ir para a outra janela, gostaria de codificar comandos para ir a cada janela.

Talvez eu possa fazer os comandos da seguinte forma:

  1. C-w C-i - janela superior esquerda
  2. C-w C-o - janela superior direita
  3. C-w C-k - janela inferior esquerda
  4. C-w C-l - janela inferior direita

  5. O que eu posso adicionar ao meu arquivo ~/.emacs para definir 4 comandos de chave global para alternar entre todas as 4 telas, conforme demonstrado acima?

por CodeKingPlusPlus 18.06.2013 / 13:35

1 resposta

1

Você pode escrever uma função simples como essa e definir atalhos de teclado.

(defun select-nth-window (n)
  "Focus Nth window"
  (interactive)
  (set-frame-selected-window (selected-frame)
                 (frame-first-window))
  (set-frame-selected-window (selected-frame)
                 (nth n (window-list))))

(global-set-key (kbd "C-w C-i") '(lambda ()
                   (interactive)
                   (select-nth-window 0)))
(global-set-key (kbd "C-w C-o") '(lambda ()
                   (interactive)
                   (select-nth-window 2)))
(global-set-key (kbd "C-w C-k") '(lambda ()
                   (interactive)
                   (select-nth-window 1)))
(global-set-key (kbd "C-w C-l") '(lambda ()
                   (interactive)
                   (select-nth-window 3)))

Editar: Eu não sei como salvar o layout da janela, mas Emacs Wiki: Gerenciamento de Sessão pode ajudá-lo.

Você também pode aprender mais sobre o emacs lisp em Introdução à programação no Emacs Lisp e Manual de referência do Emacs Lisp .

    
por 19.06.2013 / 13:23