Emacs中關於括號的操作

2021-07-02 20:23:05 字數 2956 閱讀 2912

如何自動插入雙括號

開啟`electric-pair-mode`這個minor mode後,插入左括號會自動補全右括號, 而刪除一方括號不會刪除另乙個.

(electric-pair-mode 1)
預設補全的括號與各個major-mode的syntax table有關(可用通過describe-syntax檢視). 要定義自己的括號列表可用編輯`electric-pair-pairs`

(setq electric-pair-pairs '(

(?\" . ?\")

(?\)

) )

此外也可以定義自己的括號補全函式

(if (region-active-p)

(let (

(p1 (region-beginning))

(p2 (region-end))

)(goto-char p2)

(insert rightbracket)

(goto-char p1)

(insert leftbracket)

(goto-char (+ p2 2))

)(progn

(insert leftbracket rightbracket)

(backward-char 1) ) )

)(defun insert-pair-paren () (interactive) (insert-bracket-pair "(" ")") )

(defun insert-pair-bracket () (interactive) (insert-bracket-pair "[" "]") )

(defun insert-pair-brace () (interactive) (insert-bracket-pair "") )

(defun insert-pair-double-straight-quote () (interactive) (insert-bracket-pair "\"" "\"") )

(defun insert-pair-single-straight-quote () (interactive) (insert-bracket-pair "'" "'") )

(defun insert-pair-single-angle-quote () (interactive) (insert-bracket-pair "" "") )

(defun insert-pair-double-angle-quote () (interactive) (insert-bracket-pair "" "") )

(defun insert-pair-double-curly-quote「」 () (interactive) (insert-bracket-pair "「" "」") )

(defun insert-pair-single-curly-quote『』 () (interactive) (insert-bracket-pair "『" "』") )

(defun insert-pair-corner-bracket「」 () (interactive) (insert-bracket-pair "「" "」") )

(defun insert-pair-white-corner-bracket『』 () (interactive) (insert-bracket-pair "『" "』") )

(defun insert-pair-angle-bracket〈〉 () (interactive) (insert-bracket-pair "〈" "〉") )

(defun insert-pair-double-angle-bracket《》 () (interactive) (insert-bracket-pair "《" "》") )

(defun insert-pair-white-lenticular-bracket〖〗 () (interactive) (insert-bracket-pair "〖" "〗") )

(defun insert-pair-black-lenticular-bracket【】 () (interactive) (insert-bracket-pair "【" "】") )

(defun insert-pair-tortoise-shell-bracket〔〕 () (interactive) (insert-bracket-pair "〔" "〕") )

如何刪除乙個括號自動刪除另乙個匹配括號

需要安裝名為`autopairs`的package

如何高亮括號

開啟show-paren-mode

(show-paren-mode 1)
show-paren-mode有兩種高亮括號的方式:

(setq show-paren-style 'parenthesis) ; 只高亮括號

(setq show-paren-style 'expression) ; 高亮整個括號內的內容

在巢狀括號中翱翔

emacs提供了多個命令在巢狀括號表示式中定位:

keycommand

purpose

【ctrl+alt+←】

backward-***p

move to previous sibling (move to the (beginning of) previous ***p unit)

【ctrl+alt+→】

forward-***p

move to next sibling (move to the (end of) next ***p unit)

【ctrl+alt+↑】

backward-up-list

move to parent (move to the (beginning of) outer paren pair)

【ctrl+alt+↓】

down-list

move to first child (move into the (beginning of) first inner paren pair)

emacs的檔案操作

這裡主要是關於檔案的建立,開啟,儲存和關閉操作 c x c f 開啟檔案 如果輸入的檔案不存在,則會建立乙個新檔案。另外,在檔案的路徑裡面,表示前面的路徑作廢。比如預設提示的路徑是 這個時候如果輸入的路徑為 usr bin,那麼實際進入的路徑就是 usr bin了。c x c v 如果想關閉當前的檔...

emacs的文字操作

c d 刪除後乙個字元 m 刪除前乙個詞 m d 刪除後乙個詞 c k 刪除直道行為的字元 m k 刪除直道句尾的字元 c 或者c 空格 標記文字 選定文字 c k 移除一行,c y 恢復一行。結合起來實現剪下功能 m y 恢復前面幾次c k移除的內容,不斷的按y,可以看到前面幾次的內容 c x u...

關於Matlab中括號用法的總結

matlab的語言比較靈活,初學時由於對各種括號的含義不確定,導致經常報錯,而且很難查到原因。故對三種括號的用法進行總結,防止遺忘。locate the element,function call 1 a 1 2 a 1 2 sin 2 construct matrix and combine se...