2011-12-07 2 views
5

C-a đưa tôi quay lại đầu dòng. Nhưng tôi muốn C-a để đưa tôi trở lại phần đầu của văn bản khi viết mã python.C-a để chuyển đến ký tự đầu tiên trong các emacs bằng cách sử dụng chế độ ipython

if(test) : 
    print 'this is a test' # here i want to C-a 

Bây giờ, ở phần cuối của dòng bắt đầu với print tôi muốn nhấn C-a đi đến p của print, không đến đầu dòng. Chức năng nào thực hiện điều này trong các emacs?

+0

Đây là một trùng lặp: http://stackoverflow.com/questions/6035872/moving-to-the-start-of-a-code-line-emacs – GeneralBecos

Trả lời

11

Infact có một chìa khóa trực tiếp toàn cầu bắt buộc đối với này Mm

+0

mũi Hoàn toàn hữu ích! Cảm ơn! :-) (Một người không bao giờ ngừng học hỏi khi nói đến Emacs.) –

1

Có 'misc-cmds.el' của Drew Adams có lệnh beginning-or-indentation. Đó có lẽ là những gì bạn đang tìm kiếm. Từ docstring:

Move cursor to beginning of this line or to its indentation. 
If at indentation position of this line, move to beginning of line. 
If at beginning of line, move to beginning of previous line. 
Else, move to indentation position of this line. 

Tìm tại http://www.emacswiki.org/cgi-bin/wiki/misc-cmds.el.

0

tôi sử dụng

back-to-indentation 

tôi bị ràng buộc nó để Cx trong emacs của tôi:

(global-set-key "\C-x\C-a" 'back-to-indentation) 
0

Tôi đã thực hiện một chức năng tùy chỉnh nhỏ để thực hiện việc này trong thiết lập của tôi. Khi tôi nhấn C-a và nó không phải ở đầu dòng, nó quay trở lại thụt đầu dòng. Nếu có, nó đi đến đầu dòng.

;; Remap C-a to more useful behaviour (a press anywhere other than at the indentation preforms the effect of back-to-indetation, otherwise, the normal C-a behaviour is used. 
(global-set-key (kbd "C-a") (lambda() (interactive) 
        (let ((previous-point (point))) 
        (back-to-indentation) 
       (if (equal (point) previous-point) (move-beginning-of-line 1)))))