emacs

現在開いているページのewwバッファを複製する

ewwを起動中、以下の関数を実行する。 すると、現在のページのURLを引き継いで新しくewwバッファが作成される。 (defun eww-duplicate-buffer () "Duplicate current eww buffer." (interactive) (let ((url (plist-get eww-data :url))) (with-current-buff…

リージョンをクオートやブラケットで囲う(Emacsのselected.elを利用)

以下の記事を参考に、リージョンを{クオートやブラケット}で囲うelispをselectedを使って書いてみたということ。 リージョンを選択し、クオートやブラケットの記号を一つ押すだけで、リージョン全体が囲えるので便利である。selected.elはMELPAからインス…

リージョンで囲った文字列を対象にgoogle翻訳を呼び出す(Emacs)

以下の記事では、「selected」という、リージョンで囲われた文字列を対象に様々な関数を1キーストロークで発動できるパッケージの紹介がされている。 同記事では対象の文字列に対してgoogle検索を呼び出す方法も紹介されているが、ここではgoogle翻訳を呼び…

ewwを使っていたら「error in process filter: Invalid image type ‘svg’」というエラーが出たとき

ewwでリンク先のページに飛んだ時、表題のエラーに出会うことがある。 これはEmacsがsvgをサポートする形でコンパイルされていないから、ということ。 しかしeww(というかshr)はsvgが使える前提で一部の関数が実装されているのが問題。 当面、以下の関数を…

Emacsの補完入力手段

よく使うもの hippie-expand (M-/) completion-at-point (C-M-i) company デフォルトだとC-M-/ にdabbrev-completionがバインドされているけど、それほど使わない。

navi2chの設定

事前準備 1. 2chproxy.plをダウンロードして、適切な場所に置く https://github.com/yama-natuki/2chproxy.pl2. bash_profileに以下を追記 /path/to/2chproxy.pl -dnavi2ch起動前に2chproxy.plをバックグラウンドで起動しておくという主旨である。バックグラ…

counsel-switch-bufferとivy-switch-bufferの違い

counsel-switch-bufferは候補選択時に、バッファ内容のプレビューがデフォルトで有効になっている。 ivy-switch-bufferではプレビューはデフォルトで無効になっている。C-M-nやC-M-pで選択時にはプレビューが有効になる。 ;; 候補選択時、バッファプレビュー…

ivy-posframeの設定

ivy-posframeとは実行コマンドごとにivyのメニューの表示位置を調整できるパッケージだ。 github.com私の設定は以下: ;; コマンドごとに位置を制御できる ;; nilはivy-posframeの適用なし (setq ivy-posframe-display-functions-alist '((swiper . nil) (sw…

all-the-iconsの設定

ここではall-the-icons, all-the-icons-ivy, all-the-icons-diredをインストールすることを想定する。 各パッケージをインストール後、公式ドキュメントに従い、以下を実行する。 M-x all-the-icons-install-fontsそして設定: (require 'all-the-icons-ivy)…

ivy-richまわりの不具合

ivy-richのivy-rich--switch-buffer-root-and-filename の動作がどうも怪しく、ivy-rich-switch-buffer-pathで空の文字列が出力されるためにバッファのパスが表示されない。 なので、関数を再定義したというわけ。 (defun ivy-rich--switch-buffer-root-and-…

selected.elの設定

selected.elの設定記事を見かけて、たしかに便利だということで、設定を書いてみたという話。 qiita.comリージョン選択時のテキストを対象にして各種のコマンドを発動できるので、とても便利というわけだ。以下ではmultiple-cursorsの設定やieditの設定、swi…

summarye.elのバイトコンパイル時に警告が大量に出るので修正

オリジナルのsummarye.elはバイトコンパイル時に警告が大量にでるので修正した。 Warnings of summarye.el when byte-compiling has been removed (Emacs 26.2) · GitHub

summarye.elの設定

バッファのサマリを別ウィンドウに表示するパッケージsummaryeの設定。texの執筆時はセクション名を頭出ししてくれるので重宝する。texに限らず、プログラミング言語など汎用的に使えるので便利である。 (defun se/quit-summary-item () (interactive) (view…

electric-indent-modeの挙動

最近のEmacsではデフォルトでONになっている。 electric-indent-modeをON : C-jが改行、returnがインデントつき改行 electric-indent-modeをOFF : C-jがインデントつき改行、returnが改行

バッファ切り替えのためのiflipbの設定 / setting for iflipb to switch buffer

iflipbという、バッファ切り替えのためのパッケージが存在する: emacs.rubikitch.com私は以下の設定としている。 カレントバッファと同じメジャーモードのバッファのみを切り替え対象にしたいため、新たに関数を書いた。 (require 'iflipb) (setq iflipb-wr…

How to obtain list of buffers 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 (buffe…

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 (buffe…

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というパッケージによっても提供されて</tab></tab>…

Emacsにおいてカーソル下の単語をMacの辞書で調べるときのhack

関数の本体はどこかにあった設定を参考にさせていただいた。 my-dictが表題に沿った関数。my-dict2は自分で検索語句を入力する関数。 (defun my-dict () (interactive) (let ((url (concat "dict://" (read-from-minibuffer "Search: " (current-word)))) (b…

EmacsのFrame切り替えを補助するEmacs Lisp

表題について、以下のElispを見つけたので紹介する。frame-movementというパッケージである。 github.com本パッケージにより、'frame-movement/select-next-frame' (次のフレームに移動)と 'frame-movement/select-prev-frame'(前のフレームに移動)とい…

MacからリモートのLinuxマシンにTrampしたときに感じたイライラ

Mac上のEmacsで、Tramp modeを使ってリモートサーバ(Linux)上のファイルを編集することが多々あるんだけども、リージョンをコピーしてからyankするときに、「pbpasteが見つからないよ!」みたいな感じて怒られる。よく設定を見直したら、以下が悪さをしてい…

Tramp Modeの情報をまとめたくて

リモートサーバー上のファイルをローカルマシン上で編集できたりするので大変便利。 /ssh:hoge@fuga:/path/to/file Emacs: まだターミナルで消耗してるの? | 葉月夜堂 fukuyama.cod.hatena.ne.jpd.hatena.ne.jpblog.digital-bot.comnishikawasasaki.hatenab…

swiper-multiの使い方

Use "C-M-m" (`ivy-call') to add or remove one more buffer without exiting. Use "C-m" (`ivy-done') to add one last buffer. Or use "C-M-j" (`ivy-immediate-done') to finish without adding more buffers. Hold "C-M-n" (`ivy-next-line-and-call') …

Company の補完をcase sensitiveにするための設定

companyで補完が走るとき、全部lower caseで補完されるのがストレスフルだから、以下の設定を入れる。 (setq company-dabbrev-downcase nil) 参考 dabbrev - How to make Company mode be case-sensitive on plain Text? - Emacs Stack Exchange

^M (CR改行コード)をLF改行コードに置換

メモ。 M-x replace-string RET C-q C-m RET C-q C-j RET replace-stringはquery-replace (M-%)などでもよい。 また以下のマクロも悪くはない: (fset 'replace-ctrlms [escape ?< escape ?% ?\C-q ?\C-m return ?\C-q ?\C-j return ?!]) (global-set-key "\C…

ace-pinyinをace-isearchで用いるときのやり方

ace-jump-modeはもともと英数字のみを対象にジャンプするコマンドだが、これを日本語文字に対しても利用可能にしたのがるびきち氏であった: emacs ace-pinyin.el : 【念願のMigemo化】ace-jump-char-modeが日本語文字に対応!(元中国語) | MELPA Emacs Lisp…

avyを用いた関数の小ネタ集

avyという便利なパッケージが最近出てきた。 詳細は以下の記事を参考に。 qiita.comさて、このavyを用いて、指定した範囲のテキスト、すなわち指定する2行に挟まれるテキストに対してコピーやペースト、インデントやコメントアウトなどを行う関数を書いてみ…

mewのSummary modeでメッセージを折り返し表示させたいとき

Summary modeで '_' を押下する。また折り返しのカラム数はmew-wrap-lines-columnで指定する。

mewのマルチパートメッセージ作成時にはwhitespace-modeをオフに

mewのマルチパートメッセージを作成するときにはwhitespace-modeをオフにしないとメッセージを送信できないという謎の現象が発生する。 # C-c C-cで送信しようとするとnilとか言われる。忘れないためにここにメモしておく。 #まさに備忘録