Questão Configurando as chaves gobal da janela do emacs


Eu tenho emacs em tela cheia correndo pelo terminal e dividido em 4 janelas de tamanhos iguais. Ao invés de usar C-x o para ir para a outra janela eu gostaria de codificar comandos para ir a cada janela.

Talvez eu pudesse 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 posso adicionar ao meu ~/.emacs arquivo para definir 4 comandos de chave global para alternar entre todas as 4 telas, como demonstrado acima?


0


origem




Respostas:


Você pode escrever uma função simples como essa e definir as combinações de teclas.

(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ões pode ajudá-lo.

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


1



O que posso adicionar ao meu .emacs arquivo para iniciar o emacs com 4 janelas como esta? Além disso, onde você adquire o conhecimento para encontrar essas funções? - CodeKingPlusPlus