Skip to content

Instantly share code, notes, and snippets.

View zk-phi's full-sized avatar
🌴
Summer

zk-phi zk-phi

🌴
Summer
View GitHub Profile
@zk-phi
zk-phi / macroexpand-file.el
Created May 10, 2021 06:30
macroexpand-file
(require 'macroexp)
(defun read-and-macroexpand-all (stream)
(ignore-errors
(cons (macroexpand-all (read stream))
(read-and-macroexpand-all stream))))
(defun macroexpand-file (src dest)
"ファイル SRC 内のすべてのフォームをマクロ展開して、ファイル DEST に保存する"
(let ((forms (with-temp-buffer
@zk-phi
zk-phi / genshijin.el
Created February 13, 2019 09:02
genshijin.el
;; Usage: M-x genshify-region
(defun genshify-string (str)
(let ((res (shell-command-to-string
(concat "echo " (shell-quote-argument str) "| /usr/local/bin/mecab"))))
(mapconcat 'identity
(delq nil
(mapcar (lambda (line)
(cond ((string-match "助詞\\|接頭詞\\|非自立\\|^\\(EOS\\)?$" line) nil)
((string-match "*$" line) (car (split-string line)))
@zk-phi
zk-phi / news.org
Last active November 21, 2019 04:38
news

Changes in Emacs 24.4

Frame and window handling

New commands `toggle-frame-fullscreen’ and `toggle-frame-maximized’,

bound to <f11> and M-<f10>, respectively.

あれっ、これでいいじゃん

Temp Buffer Resize Mode can now adjust the height and width of

windows and frames. The new option `temp-buffer-max-width’ allows you to control the width of temporary buffer windows. Moreover, if the new

@zk-phi
zk-phi / action_tapping.markdown
Created August 29, 2018 04:00
action_tapping.c

TAPPING_TERM コードリーディング

コアのエントリポイント

keyboard_task (keyboard.c)

  • キーマトリックスを読み取って、変化のあったそれぞれのキーについて action_exec を呼ぶ

  • 引数は (key_event_t){ .key = { .row, .col }, .pressed, .time }

    • 変化したキーの位置と、変化が押し下げか押し上げかと、変化の時刻
@zk-phi
zk-phi / indent-guide2.el
Last active November 18, 2015 17:58
indent-guide2 (experimental)
;; Usage:
;; (require 'indent-guide2)
;; (indent-guide2-global-mode)
(require 'cl-lib)
(defvar indent-guide2-line-color "#303030")
(defvar indent-guide2-line-dash-length nil)
(defvar indent-guide2-line-char ?\|)
(defvar indent-guide2-line-enable-xpm t)

履歴書LaTeXクラスファイル 理系新卒採用向け?パッチ

新卒採用向けに、あまり PR に使えない枠を縮小・削除し、その分「学生時代 に打ち込んだこと」などの項目を広く取るように変更するパッチです。

顔写真も添付できるようになります (あまりよくない作法らしいですが)。

いちいち押印するのが面倒なので「印」の欄は削除しました (調べてみると市 販の履歴書にもそういうものがあるようです)。

@zk-phi
zk-phi / setup_description_ja.org
Last active October 16, 2022 13:54
[Emacs] setup.el で安全・爆速な init.el を書く

[Emacs] setup.el で安全・爆速な init.el を書く

Emacs プラグイン setup.el は、安全・爆速な設定ファイルを書くためのマク ロ集です。

ここでいう「安全」とは、「セットアップの途中でエラーが出て、ほとんどデ フォルトの Emacs が立ち上がる」ような悲劇が起きないことをいいます。

setup.el を使って書かれた設定ファイルがどれくらい爆速かというと、 5000 行以上の設定が入った Emacs が 0.29 秒でセットアップできるくらい爆速です。