Emacs возвращается в строку кода с отступом, когда нажимаете клавишу возврата - PullRequest
4 голосов
/ 28 октября 2009

Я использую emacs 22.2.1 и Ubuntu 9.04

Я сделал это в моем файле .emacs. Какие отступы и создает новую строку каждый раз, когда я нажимаю ';' или '{}'

if(success == 0)
{
    printf("Success\n");
    <---- if I press return key here it will go
<-- to here, and I have to tab to go to the code line.

Однако, если я нажму клавишу возврата, я попаду в столбец 0, а не в строку кода, над которой я работаю, т. Е.

(require 'cc-mode)

;; Auto indent on insertion of a curly brace
(add-hook 'c-mode-hook '(lambda()
 (c-toggle-auto-state t)))

;; Set coding style to indent 4 spaces
(setq c-default-style "bsd"
  c-basic-offset 4)

Ответы [ 2 ]

9 голосов
/ 28 октября 2009
(add-hook 'c-mode-hook
          '(lambda ()
             (define-key c-mode-map "\C-m" 'newline-and-indent)))

карты возвращаются к новой строке + отступ. Или, если хотите, вы можете сформировать привычку печатать C-j вместо return, поскольку C-j уже сопоставлен с этой функцией.

2 голосов
/ 28 октября 2009

Способ узнать это

  • знаю, что C-j делает то, что ты хочешь
  • используйте C-h k C-j, чтобы узнать, что C-j сопоставлен с newline-and-indent
  • поиск ключей переназначения в Информации EMACS.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...