跳轉到內容

Alcor6L/PicoLisp/term

來自華夏公益教科書,開放的書籍,為開放的世界

此模組包含用於從 PicoLisp 訪問 ANSI 相容終端(和終端模擬器)的函式。

term-clrscr

[編輯 | 編輯原始碼]

清除螢幕。

(term-clrscr)

term-clreol

[編輯 | 編輯原始碼]

從當前游標位置清除到行尾。

(term-clreol)

term-moveto

[編輯 | 編輯原始碼]

將游標移動到指定的座標。

(term-moveto x y)
  • x - 列(從 1 開始)
  • y - 行(從 1 開始)

term-moveup

[編輯 | 編輯原始碼]

將游標向上移動。

(term-moveup delta)
  • delta - 將游標向上移動的行數。

term-movedown

[編輯 | 編輯原始碼]

將游標向下移動。

(term-movedown delta)
  • delta - 將游標向下移動的行數。

term-moveleft

[編輯 | 編輯原始碼]

將游標向左移動。

(term-moveleft delta)
  • delta - 將游標向左移動的列數。

term-moveright

[編輯 | 編輯原始碼]

將游標向右移動。

(term-moveright delta)
  • delta - 將游標向右移動的列數。

term-getlines

[編輯 | 編輯原始碼]

獲取終端中的行數。

(setq numlines (term-getlines))

返回

  • numlines - 終端中的行數。

term-getcols

[編輯 | 編輯原始碼]

獲取終端中的列數。

(setq numcols (term-getcols))

返回

  • numcols - 終端中的列數。

term-prinl

[編輯 | 編輯原始碼]

在終端中寫入一個或多個(PicoLisp)值。

(term-prinl [x y] any1 [any2 ... anyn])
  • x(可選) - 在此列寫入任何 PicoLisp 值。如果指定了 x,則也必須指定 y
  • y(可選) - 在此行寫入任何 PicoLisp 值。如果指定了 y,則也必須指定 x
  • any1 - 要寫入的第一個 PicoLisp 值(可以是數字、列表或瞬態符號)。
  • any2(可選) - 要寫入的第二個 PicoLisp 值。
  • anyn(可選) - 要寫入的第 n 個 PicoLisp 值。

term-getcx

[編輯 | 編輯原始碼]

獲取游標的當前列。

(setq cx (term-getcx))

返回

  • cx - 游標的列。

term-getcy

[編輯 | 編輯原始碼]

獲取游標的當前行。

(setq cy (term-getcy))

返回

  • cy - 游標的行。

term-getchar

[編輯 | 編輯原始碼]

從終端讀取一個字元(一個按鍵)。

(setq ch (term-getchar ['mode]))
  • mode(可選) - 終端輸入模式。它可以是
    • *term-wait* - 等待按鍵,然後返回它。這是未指定 mode 時的預設行為。
    • *term-nowait* - 如果終端上按下了鍵,則返回它,否則返回 NIL。

返回

  • ch - 從終端讀取的字元,或者如果沒有字元可用,則為 NIL。'char' 可以是實際的 ASCII 字元,也可以是編碼鍵盤上特殊鍵的'偽字元'。下表列出了特殊字元及其含義
鍵程式碼 意義
KC_UP 終端上的向上鍵
KC_DOWN 終端上的向下鍵
KC_LEFT 終端上的向左鍵
KC_RIGHT 終端上的向右鍵
KC_HOME 終端上的 HOME 鍵
KC_END 終端上的 END 鍵
KC_PAGEUP 終端上的 PAGE UP 鍵
KC_PAGEDOWN 終端上的 PAGE DOWN 鍵
KC_ENTER 終端上的 ENTER(CR)鍵
KC_TAB 終端上的 TAB 鍵
KC_BACKSPACE 終端上的 BACKSPACE 鍵
KC_ESC 終端上的 ESC(轉義)鍵
華夏公益教科書