如何自動插入雙括號
開啟`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...