emacs

consult-lineのmigemo化に向けた試作

consult-lineはswiperの代替として便利に使える。これをmigemo化したいということである。 プロンプトに続いて検索したい日本語を「ローマ字読み」入力すると、それをもとにconsult-lineが走るという、単純なラッパーである。 (defun consult-line-migemo ()…

selectrum/consult/marginaliaの設定

ivy/counsel系の代替として、selectrumやconsultが最近来ている。特徴をまとめた方がいる: selectrum … ivyに対応。ivyよりも実装はシンプル。 consult ... counselに対応。counselにはないユニーク機能を持つコマンドを提供したり。consult-bufferはその例…

ivy/swiperをmigemo化した際に遭遇したエラーの解決と新たなminor-modeの提案

はじめに avy-migemoを使わずにswiperやswiper-isearchをmigemo化することに成功した偉大な先人がいる:これらの記事では、ivyに食わせるmigemo的な正規表現を生成する関数を独自に定義している。 そして、これらの設定を適用したのち、swiper-isearchを実行…

LaTeXソースを保存と同時にコンパイルしPDFを作成するための設定(smart-compile.elとlatexmk利用)

以下の記事にて、表題に関する設定が公開されていた。「自動コンパイル」のところである。 AUCTeX の設定と便利な機能 銭谷誠司氏のサイトにて公開されているsmart-compile.elを用いている。上記の記事ではリンク切れであったが、現在はgithubにて継続的に開…

マウスホイールによる連続スクロールのスピードを調節 on Emacs

マウスホイールにより連続スクロールすると画面がどんどん飛んでしまうので、それを抑制する設定。 Ubuntu (global-set-key [mouse-5] '(lambda () "" (interactive) (scroll-up 1))) (global-set-key [mouse-4] '(lambda () "" (interactive) (scroll-down …

summarye.elの設定 改訂版

かつてsummarye.elの設定に関する記事を書いたことがあるが、今回いくつか見直した。 display-line-numbers-modeによる行番号の表示を止めた。これをしないと行番号がsummarye由来ものと合わせて2重に行番号が表示されるからである。またサマリがポップアッ…

EmacsにおけるLaTeX執筆環境構築(2)LaTeXのlanguage serverであるtexlabをeglotから使う

はじめに LaTeXにもlanguage serverがあると聞いて、早速インストールを試してみたときの記録。そのlanguage serverとはtexlabである。これをEglotによりEmacs上から使うのが目的である。 実行環境 MacOS Catalina 10.15.7 Ubuntu 18.04 Emacs 27.2 手順 tex…

EmacsにおけるLaTeX執筆環境構築(1)AUCTeXの設定と使い方について

Emacs上でLaTeXを編集するときに便利なパッケージの一つとしてAUCTeXが知られている。本記事は設定と使い方を備忘録として残すのが主旨である。 TeXのインストール AUCTeXのインストール 設定 Emacsの設定 latexmkの設定 解説と補足 AUCTeXの公式情報 AUCTeX…

Emacs27で"Package cl is deprecated"を抑制する方法

起動直後 early-init.elの先頭に以下を記述する。 (setq byte-compile-warnings '(cl-functions)) 設定ファイルなどをバイトコンパイルするとき 以下の設定を追記する。 (eval-when-compile (setq byte-compile-warnings '(cl-functions)))

Emacsで補完入力を行うCompany-modeの設定 2021

はじめに Emacsで補完入力を行うためのパッケージとしてcompany-modeがよく知られている。 本記事ではこの設定を紹介し、備忘録として残しておく。 設定 以下の設定を適用する。 コードを表示する ;; -*- mode: emacs-lisp; coding: utf-8 ;; 主なデフォルト…

EmacsからJupyter Notebookを触るための設定

はじめに Emacsのeinというパッケージを用いることで、EmacsからJupyter Notebookを編集し、表示することができる。 実行イメージは以下の通りである。ein(emacsからjupyter)は便利なのでぜひ pic.twitter.com/yBeAucc1n7— mat (@ballforest) August 21, 2…

EmacsでPythonを書く設定 2021

はじめに PythonまわりのEmacsの設定を整理したということ。Company-modeの設定は言語共通の部分が多く長くなるので省略した。Language serverの紹介がメイン。 Language server Emacsからlanguage serverを使うためにeglotを入れる。MELPAからインストール…

black用py-isortの設定

私はblackをpythonコードのformatterに用いているので、blackの仕様に合うようにisortを設定して動かしたいというわけである。isortをEmacsから触るためにはpy-isortを用いる。以下の記事は参考になる。 qiita.com isortのマニュアルはこちらから: pycqa.gi…

現在開いているページの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…