Улучшенная вкладка в Emacs

вы разбили свой стек в этом блоке до того, как ваши fread

char file[2];
sprintf(file,"%03i.jpg",counter);

file станут маленькими, чтобы вместить количество символов, которые вы форматируете в нем.

5
задан Chris Martin 16 February 2016 в 23:45
поделиться

6 ответов

Чтобы заставить клавишу Enter взять Вас к следующей строке и расположить ее с отступом автоматически, можно поместить

(global-set-key (kbd "RET") 'newline-and-indent)

в Вашем .emacs. [Или можно совершить нападки C-j вместо Входят.], После того как у Вас есть это, Вы никогда не должны будете вставлять вкладки вручную, потому что Emacs автоматически располагает новую строку с отступом на дополнительную глубину после вводной фигурной скобки и т.д. Если Вы действительно хотите изменить добавление отступа, можно поразить ВКЛАДКУ, пока это не берет Вас к правильному добавлению отступа, то начните вводить оттуда. [И когда Вы вводите закрывающую фигурную скобку, Emacs достаточно умен для взятия той фигурной скобки один уровень отступа назад.]

Необходимо удалить (global-set-key (kbd "TAB") 'tab-to-tab-stop) чтобы это работало.

9
ответ дан 18 December 2019 в 06:52
поделиться

Это прослушивало меня также, когда я сначала начал использовать Emacs. Я полюбил его, все же. Если я хочу сделать отступ соответственно, я совершил нападки <tab>; если я хочу вставить литеральную вкладку, я совершил нападки M-i (Meta и 'я' или <Высокий звук> - <i> в некоторых языках), который связывается с tab-to-tab-stop.

2
ответ дан 18 December 2019 в 06:52
поделиться

C-j делает новую строку + функциональность отступа, которую Вы хотите из нажатия Enter.

1
ответ дан 18 December 2019 в 06:52
поделиться

Много главных режимов переопределяют TAB при привязке например, cc-режим связывает TAB кому: 'c-indent-to-column.

'global-set-key это предлагается, ничего не делает, поскольку почти каждый главный режим переопределил TAB.

Один прием, который мог бы работать на Вас, должен скопировать подход это 'pabbrev использование, и определяет глобальный незначительный режим, который имеет TAB связанный. Вы могли сделать это как так:

(defvar just-tab-keymap (make-sparse-keymap) "Keymap for just-tab-mode")
(define-minor-mode just-tab-mode
  "Just want the TAB key to be a TAB"
  :global t :lighter " TAB" :init-value 0 :keymap just-tab-keymap
  (define-key just-tab-keymap (kbd "TAB") 'indent-for-tab-command))

Однако это отключает все TAB завершение. Вы, вероятно, получите лучшие результаты путем переопределения каждого из главных режимов один за другим (чтобы не приводить в беспорядок TAB завершение).

6
ответ дан 18 December 2019 в 06:52
поделиться

I think trey jackson's answer is probably what you want, except possibly use 'self-insert-command instead of 'indent-for-tab-command. I personally prefer emacs' default behavior, but self-insert-command does what it says instead of trying to do anything fancy like make sure your code is well-formatted.

The few times I actually want to insert a tab (not indent) I press M-i.

3
ответ дан 18 December 2019 в 06:52
поделиться

Возможно, вас заинтересует этот второстепенный режим, который я создал на http://github.com/vohrta/regtab .

Он делает так, что при нажатии клавиша табуляции либо символ табуляции (если indent-tabs-mod не равен nil), либо пробелы ширины табуляции будут помещены в точку. Этот режим также способен обрабатывать то, что вы можете считать обычным поведением в области выделенного текста и сдвигать табуляцию для удаления табуляции в начале строки (или набора строк).

Вы можете включить или отключить его в любой момент время, нажав Mx regtab-mode.

2
ответ дан 18 December 2019 в 06:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: