Emacs

HTML+JavaScriptでEmacsのalign-regexpっぽいやつを作った

Emacs Advent Calendar 2022 3日目の記事です。Zenn に書きました。 zenn.dev

Emacs: (SQLなどの)予約語をすべて大文字にする

ひさしぶりに Emacs Lisp を書きました。ググりながら10分くらいで書いた適当なもの。 たとえば、全部小文字で書いたSQLを後から予約語だけ大文字にしたい、みたいなときに使う想定です。 フェイスが font-lock-keyword-face になっている箇所を大文字にして…

Emacs: 現在位置のSQLをよしなに選択+コピーする

Emacs で SQL 書く → リージョン選択(現在位置から先頭に移動して末尾に移動) → コピーというのを何回も繰り返す場合、 手数が多くてだるい カーソルを移動させると、元の位置に戻るのがだるい というあたりがだるかったので改善してみた。 完成形 (defun …

auto-mode-alist から {foobar}-mode の設定を除去する

How do I turn off vhdl-mode in emacs? - Stack Overflow http://stackoverflow.com/questions/1361785/how-do-i-turn-off-vhdl-mode-in-emacs

(solved) Emacs: Windows 7 でパスに日本語を含むファイルが開けない・保存できない

この2つのどちらかが有効だとだめだった。 (prefer-coding-system 'utf-8) (set-default-coding-systems 'utf-8) emacs-version ;=> "23.3.1" たしかgnupackで入れたもの

Anythingの "Files from Current Directory" でバックアップファイルを表示しないようにする

setq でいいんだっけ……と思いつつ以下を .emacs に追加。 (setq anything-c-source-files-in-current-dir+ '((name . "Files from Current Directory") (candidates . (lambda () (with-current-buffer anything-current-buffer (directory-files (anything-…

Emacs: (solved) 新しいフレームを開いたときのフォントサイズがおかしい

修正前: (set-frame-font "Takaoゴシック-10") これで新しいフレームを開くと、普通に Emacs を起動したときよりも大きいフォントで表示される。 それは困るというか嫌なのでちょっとぐぐって次のように修正したら解決した。 ;; 下のを追記したらこっちは不…

org-mode: 「アンダースコアで下付き」を無効にする

アンダースコアはファイル名や変数名で頻出する 一方で下付きが必要なことはほとんどない(自分は) 「アンダースコアで下付き」はアンダースコアの前にバックスラッシュを置くと抑制できるが、いちいちめんどくさいし、人間が読むのに邪魔 #+OPTIONS: ^:{} …

一定時間だけ指定範囲をハイライトする Emacs Lisp

volatile-highlight.el - Gist ハイライトしたい範囲の開始ポイントと終了ポイントを指定すると 一時的に指定範囲をハイライトする。 ハイライトする時間はデフォルトは 0.1秒なので、一瞬キラっとする感じ。 ;; require する (require 'volatile-highlight)…

imcap.el を改造してみた(指定秒後の撮影など)

howm wiki - ImageCapture … オリジナルの imcap.el 修正点: 指定秒後にスクリーンショットを撮れるようにした imcap-directory が存在しなかったら作成する モードに合わせて挿入する文字列のフォーマットを変える(org-mode なら "file:..."、howm-mode な…

org-babel: HTMLエクスポートでコードハイライト用CSSを分離する

Ubuntu Linux 10.10 Desktop emacs-version => 23.1.1 org-babel を使えるようにする Changelog によれば org 6.31 から org-babel が同梱されるようになったとのことで、せっかくなので org ごと新しいものにしておく。 .emacs などで (require 'ob) などと…

org-mode を最新の安定版(7.4)に入れ替えた(2011-02)

Ubuntu Linux 10.10 Desktop emacs-version => 23.1.1 - apt で入ったものが古かったので新しいのに入れ替えてみる。 入れ替える前の org-mode のバージョンは M-x org-version => Org-mode version 6.21b最新の安定版は 7.4。 - http://orgmode.org/index.h…

リージョン内の行数と文字数をモードラインに表示する(範囲指定している時だけ)

「○○文字以内のきりのいい長さで文字列をコピーして別のところにペーストしたい」みたいなことがよくある 文字数・行数をカウントするコマンド count-lines-region はあるが、カーソルを移動させて M-=、カーソルを移動させて M-=、 ... の繰り返しになって…

org-mode: 現在編集中の文書のタイトルを取得する

#+TITLE: ... で指定されてるものを得る。 (plist-get (org-infile-export-plist) :title)

org-mode の #+BEGIN_HOGE 〜 #+END_HOGE 入力支援

追記 2011-05-03: " 2011-01-14 弁護士,弁理士うつぼいわ の活動日誌: Emacs/org-mode:「 Easy Templates - The Org Manual 追記: yasnippet 使うといいよ、とコメントで教えてもらいました。下記参照。M-x my-wrap-org-block するとミニバッファで入力を…

Emacs Lisp の正規表現をちょっと見やすくする

はい、Emacs Lisp の正規表現です。とても見づらいです。しかし、よく見ると \ ( ) | のところだけフォントが太字になっているではありませんか! ひょっとしてそこだけ違うフェイスになっているのでは?というわけで、 describe-face を使って調べてみたと…

anything-c-key-chord-describe をいじってみた

id:IMAKADO さんの key-chord.elで定義しているコマンドを表示するanything-source - IMAKADO::BLOG をちょこっと改造してみました。もともとは key-chord-define-global を繰り返し書くのが冗長に感じて リスト+funcall の形にしたのですが、そしたらもう…

beginning-of-defun でトップレベルの開き括弧まで移動させる

次のように関数定義内で行頭に開き括弧がある場合にその内側から beginning-of-defun で関数の先頭に移動しようとすると、 デフォルトの挙動では (let ...) の開き括弧の位置にカーソルが移動してしまいます。 行頭に開き括弧があったら、それを関数の開始位…

save-excursionとカーソル周辺のブロック(関数など)の自動インデントを組み合わせてみた

Emacs Lisp を書いているときに自動インデントしたいときは C-M-a(beginning-of-defun)で関数の頭に移動して C-M-q(indent-pp-sexp)しているが、2ストロークなので面倒くさくなってきた 1つにまとめよう どうせだから save-excursion で囲んだらいいんじ…

Emacs: *Apropos* バッファの見出しにタイプ別で色を付ける

なんだか Emacs Lisp の練習問題みたいなネタですね。最後の行から上向きに 1行ずつ見ていき、 見出し行でなければ "Function", "Variable" などのタイプを item-type にセット 見出し行なら item-type をもとにフェイス設定 という動作をしています。他のト…

Emacs+org-modeで編集しているファイルをmobi形式にしてKindle内に保存する

1. 現在開いているファイルをHTMLにエクスポート 2. kindlegen で .mobi に変換 3. Kindle内のフォルダに移動 をスクリプト化しただけです。即席。UTF-8 だったら日本語入りでも大丈夫。 目次も勝手に生成されます。 Kindleの Home では org-mode の "#+TITL…

JavaScript で Emacs Lisp の run-with-idle-timer みたいなことをする

メモメモ。 var idleTimer = null; function callback() { // } function resetTimer() { if (idleTimer) { clearTimeout(idleTimer); } idleTimer = setTimeout(callback, 500); } inputText.addEventListener("keydown", resetTimer, false);

「タブでインデントしてyank」をコマンド化

手元でちょっとメモる時のオレオレ記法として、コマンドの出力やログ片、コード片はタブでインデントしている。これまでは yank 貼り付けた範囲を選択 string-rectangle(C-x r t)でタブを挿入 とやっていたが、いいかげん面倒に感じてきたので「タブでイン…

(solved) フレームを最小化(アイコン化)すると frame-title-format で指定したように表示されない

frame-title-format を設定するのと同じ要領で icon-title-format を使って設定する。参考: マニュアル: Frame Titles http://www.geocities.co.jp/SiliconValley-Bay/9285/ELISP-JA/elisp_440.html Frame Titles - GNU Emacs Lisp Reference Manual http://…

(solved) sense-region でフェイスがおかしくなる

sense-region でフェイスがおかしくなるので調べたんですが、もうすでに解決されてましたorz ↓ 参考: sense-region.el on Emacs23でface設定が壊れないようにする - Emacs/Lisp/Drill - Emacsグループ http://emacs.g.hatena.ne.jp/k1LoW/20090822/125091966…

(solved) moccur でなぜか "no matches" となる → 一旦ファイルを保存しないとダメ

タイトルの通り。 - 20100930追記 引数 arg で non-nil を渡すとファイル名のないバッファでも使えるっぽい。

moccur で結果リストから選んだときに recenter する

color-moccur.el の 関数 moccur-view-file の次の箇所を修正。 ;; 修正前 (moccur-color-current-line) ;; 修正後 (moccur-color-current-line) (recenter)