Search Results: tag:elisp

37 件ヒットしました。 1 - 10 番目を表示しています。

emacs elisp バッファのディレクトリを調べる

バッファローカル変数の default-directory を見れば良いようだ。 pwd という関数もある。

(pwd)

elisp emacs リストの各要素に対して関数を実行して新しいリストにする

mapcar を使って

(mapcar (lambda (n) (* n 2)) '(1 2 3))

のようにするとリストの各要素を2倍にしたリストができる。

elisp emacs リストの各要素に対して関数を実行する

cl-macs.el の dolist を使う。

(dolist (el '(1 2 3))
  (pp el))

elisp emacs require と provide

(require 'cl)

のように require したファイルの中で

(provide 'cl)

が実行される。provide はリスト features に cl を保存する。 features に保存されていれば require したときにロードされない。

emacs elisp カーソル位置のプロパティを取得する

M-: として

(text-properties-at (point))

を実行すれば良い。

emacs elisp 文字列にプロパティを設定する

face に bold を設定した文字列を作成するには

(propertize "Hello world" 'face 'bold)

とする。

emacs elisp transient-markがonでmarkがアクティブかどうか調べる

(region-active-p)

で調べられるが、Emacsのバージョンによってはregion-active-pがない場合がある。 そのときは

(and transient-mark-mode mark-active)

とする。

emacs elisp 関数呼び出しが interactive かどうかを調べる

(called-interactively-p 'interactive)

を使う。M-x で実行したときは真で、そうでない場合は偽。

(defun test-called-interactively ()
  (interactive)
  (message
   (if (called-interactively-p 'interactive)
       "Interactive" "Not interactive")))

emacs elisp 文字列を比較する

文字列比較の関数は

  • string=
  • string<

がある。

emacs elisp kill-ring に文字列を追加する

kill-new を使う。

(kill-new "hello")

simple.el を見ると他にも kill-ring を操作する関数がいくつかある (kill-append や kill-region など)。