(defvar major-mode-same-buflist nil) (defun get-major-mode-list () (interactive) (setq major-mode-same-buflist nil) (let ((currbuf-major-mode (buffer-local-value 'major-mode (current-buffer)))) (dolist (buffer (buffer-list)) (if (eq (buffer-local-value 'major-mode buffer) currbuf-major-mode) (add-to-list 'major-mode-same-buflist buffer)))))
How to obtain list of buffer names as same as current buffer
(defvar major-mode-same-buflist nil) (defun get-major-mode-list () (interactive) (setq major-mode-same-buflist nil) (let ((currbuf-major-mode (buffer-local-value 'major-mode (current-buffer)))) (dolist (buffer (buffer-list)) (if (eq (buffer-local-value 'major-mode buffer) currbuf-major-mode) (add-to-list 'major-mode-same-buflist (buffer-name buffer))))))
How to obtain major mode of current buffer
You can obtain the major mode by using following snippet:
(buffer-local-value 'major-mode (current-buffer))
C-TABでバッファ切り替え
Emacsのデフォルトパッケージbsに同梱されているコマンド、bs-cycle-nextとbs-cycle-prevを使う。
(global-set-key (kbd "C-<tab>") 'bs-cycle-next) (global-set-key (kbd "C-S-<tab>") 'bs-cycle-previous)
同様の機能はiflipbというパッケージによっても提供されている。
emacs.rubikitch.com
iflipbはOS提供のAlt-TAB(MacだとCommand-TAB)と同様の挙動であり、こちらが好みの方はどうぞ。
Emacsにおいてカーソル下の単語をMacの辞書で調べるときのhack
関数の本体はどこかにあった設定を参考にさせていただいた。
my-dictが表題に沿った関数。my-dict2は自分で検索語句を入力する関数。
(defun my-dict () (interactive) (let ((url (concat "dict://" (read-from-minibuffer "Search: " (current-word)))) (browse-url-browser-function 'browse-url-default-browser)) (browse-url url))) (defun my-dict2 (key) (interactive "MSearch: ") (let ((url (concat "dict://" key)) (browse-url-browser-function 'browse-url-default-browser)) (browse-url url))) (global-set-key (kbd "C-: C-d") 'my-dict) (global-set-key (kbd "C-: C-s") 'my-dict2)
EmacsのFrame切り替えを補助するEmacs Lisp
表題について、以下のElispを見つけたので紹介する。
frame-movementというパッケージである。
github.com
本パッケージにより、'frame-movement/select-next-frame' (次のフレームに移動)と 'frame-movement/select-prev-frame'(前のフレームに移動)という2つのコマンドが提供される。私はsmartrepと組み合わせて以下のように設定してみた。
(smartrep-define-key global-map "C-x 5" '(("C-o" . 'other-frame) ("C-n" . 'frame-movement/select-next-frame) ("C-p" . 'frame-movement/select-prev-frame)))
簡易ボイスチェンジャーのスクリプトを改良:PyQt5のスライダーによりピッチとフォルマントをリアルタイム調整する機能を追加
PyQt5のスライダーを使って、簡易版リアルタイムボイスチェンジャーのピッチとフォルマントを調整できるようにしたということ。スライダーのウィンドウを閉じれば終了する。
当初はTkinterを使う予定だったが、どうにもうまくいかなかったので、PyQt5にした。現状、UIまわりは雑だが、とりあえず動いたので良しとする。
gist.github.com