EmacsのFunction key設定を公開
あまり役に立つTipsではありませんが、自分の設定を公開します。みなさんの「私の場合は…」というのを教えていただけると嬉しいです。
F1:help-command
F1は、Deaultでいろんなhelp-commadへのprifixとして設定されているのでそのまま使います。which-key.el を導入することで各コマンドのガイドがミニバファーに表示されるので便利です。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; which-key
(require 'which-key)
(add-hook 'after-init-hook #'which-key-mode)
F2:hydra-compile
一般的には此処に、M-x compile
を割り当てている人が多いと思います。私はいろんな作業をmakefaileで自動化しているので目的に応じてコマンドが使えるようにhydraでメニューを設定して割り当てています。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; compile
(bind-key
[f2]
(defhydra hydra-compile (:color red :hint nil)
"
🗿 Compile: make _k_ _a_ll _u_pftp _m_ove _b_klog _g_it _c_lean 🐾 "
("k" my:make-k :exit t)
("a" my:make-all :exit t)
("u" my:make-upftp :exit t)
("m" my:make-move :exit t)
("g" my:make-git :exit t)
("b" my:make-bklog :exit t)
("c" my−make-clean)))
F3:iconify-or-deiconify-frame
emacsclient使用時という条件下でフレームのポップアップ/最小化をtoggleさせます。
;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; iconify-or-deiconify-frame
(bind-key "<f3>" 'iconify-or-deiconify-frame)
F4:Toggle current buffer and scratch buffer.
カレントバッファーとScrtchバッファーとをtoggleさせます。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Toggle current buffer and `*scratch*` buffer
(defvar toggle-scratch-prev-buffer nil)
(defun toggle-scratch()
"Toggle current buffer and *scratch* buffer."
(interactive)
(if (not (string= "*scratch*" (buffer-name)))
(progn
(setq toggle-scratch-prev-buffer (buffer-name))
(switch-to-buffer "*scratch*"))
(switch-to-buffer toggle-scratch-prev-buffer)))
(bind-key "<f4>" 'toggle-scratch)
F5:quickrun
ごくたまに perl
や ruby
などのミニスクリプトを自作することもあるのでquickrunで簡単に試運転できるようにしています。