読者です 読者をやめる 読者になる 読者になる

ファイルの内容をリストで返す

emacs

emacs はエディターなのでバッファにファイルを開いて編集する関数が多いですがスクリプトを書くにはファイルを行単位でリストに入れたいことも多いので以下のような関数があると便利です。

カーソル行を文字列として取得する

(defun line-string ()
  (buffer-substring-no-properties (point-at-bol) (point-at-eol)))

ファイルを読み込んでリストを返す

(defun read-file-as-list (f)
  (with-temp-buffer
    (insert-file-contents-literally f)
    (goto-char (point-min))
    (cl-loop while (not (eobp))
             collect (line-string)
             do (forward-line 1))))