C-a, чтобы перейти к первому символу в emacs, используя ipython-mode - PullRequest
5 голосов
/ 07 декабря 2011

C-a возвращает меня к началу строки. Но я бы хотел, чтобы C-a вернул меня к началу текста при написании кода на Python.

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

Теперь, в конце строки, начинающейся с print, я хотел бы нажать C-a, чтобы перейти к p print, а не к началу строки. Какая функция делает это в Emacs?

Ответы [ 4 ]

12 голосов
/ 07 декабря 2011

фактически существует прямая привязка глобального ключа для этого мм

1 голос
/ 07 декабря 2011

Существует «misc-cmds.el» Дрю Адамса, который имеет команду beginning-or-indentation. Это, наверное, то, что вы ищете. Из строки документации:

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.

Найти в http://www.emacswiki.org/cgi-bin/wiki/misc-cmds.el.

0 голосов
/ 08 декабря 2011

Я сделал небольшую пользовательскую функцию, чтобы сделать это в моей настройке. Когда я нажимаю C-a, и это не в отступе, это возвращается к отступу. Если это так, он переходит в начало строки.

;; 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)))))
0 голосов
/ 07 декабря 2011

Я использую

back-to-indentation

Я связал его с Cx Ca в моих .emacs:

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