iT邦幫忙

DAY 8
1

EMACS 新思維系列 第 8

[EMACS新思維 第十一天] Elisp 入門(一):執行 elisp 程式碼

Elisp 是一種 lisp 的變形,專注在文本、檔案處理。但是它其實是一門完整的語言,具備幾乎無限的擴充能力,使 emacs 到今天依然是最強大的編輯器(沒有之一,呵呵)。
在開始講程式語法之前,要先理解其操作方法。
一:整批執行式(粗體都是 M-x 後面要接的東西。有快捷的話,可按快捷!)

  1. eval-last-sexp:執行遊標左邊的 elisp 程式碼。快捷是 C-x C-e (注意,一個完整的 elisp 程式碼是指:一對掛號包起來的內容。所以若你沒到方塊的最尾端,就會有求值/執行錯誤!如下圖所示:理論應該是 22,可是遊標左邊完整的方塊只有 (* 3 4) 所以只執行它)

  2. eval-defun:假如你在某個 defun 方塊內,可直接執行整個 function。emacs 會自動判定完整方塊位置。快捷:C-M-x

  3. eval-region:執行一個區域,類似各種程式語言的 send-region。無快捷。

  4. eval-buffer:將整個 buffer 送進去執行,類似各種程式語言的 send-buffer。無快捷。

  5. load-file:從外部載入一個檔案並執行。在 Dired (之後約到了鐵人賽 20 天會介紹)的快捷爲 L。

  6. eval-expression:執行一小段程式碼,特別適合拿來針對當前 buffer 執行特定小 script。快捷是 M-:

二:交互式
還有一種交互式 elisp 執行環境,叫 ielm。以 M-x ielm 召喚它,用法跟 python / ruby 的原生解釋器很像!


上一篇
[EMACS新思惟 第十天] Comint-mode:自製自己的交互式介面
下一篇
[EMACS新思維 第十二天] Elisp 入門(二): elisp 語法入門 (一)
系列文
EMACS 新思維27

尚未有邦友留言

立即登入留言