2012-09-10 44 views
2

我在emacs的一行代碼:Emacs的去行的開始,跳過缺口

<tab><tab>int i = 0;<cursor> 

如果我按Ctrl-A,它會移動到行的開頭:

<cursor><tab><tab>int i = 0; 

但我想創建一個elisp的功能,這將在開始忽略任何壓痕:

<tab><tab><cursor>int i = 0; 

如何做到這一點?

回答

8

M-m運行命令back-to-indentation,它是`simple.el'中交互編譯的Lisp 函數。

它被綁定到M-m。

(後端到壓痕)

將光標移動到該線路上的第一個非空格字符。

4
(defun beginning-of-line++() 
    (interactive) 
    (if (bolp) 
     (back-to-indentation) 
    (beginning-of-line))) 
(global-set-key (kbd "C-a") 'beginning-of-line++) 

然後,如果你點擊C-A,將光標移動到行的開頭,然後單擊C-一遍,光標會回到縮進。連續的C-a將在開始行和限制之間替換光標。