Режим Emacs cperl - как использовать вкладки для добавления отступа вместо пробелов

Это не из-за sudo, это из-за способа, которым обрабатывается Ваша команда; я на самом деле объяснил это в этом вопросе. Когда Вы делаете

$ sudo echo 10 > brightness

оболочка выполняет команду sudo echo 10, который работает echo 10 как корень. Оболочка затем пытается открыться brightness таким образом, это может перенаправить вывод от echo 10 в него, но он не может - Ваша оболочка работать с Вашими полномочиями, не корнем. Существуют обходные решения, отправленные, как отвечает на вопрос, я связался с; хороший:

$ echo 10 | sudo tee brightness

Теперь tee тот должен открыться brightness, и так как это работает как корень, это успешно выполняется

3
15.12.2010, 02:27
1 ответ

Правильный ответ не должен использовать вкладки. Но хорошо, только ради знания, как это сделало …

CPerl использует настройки Emacs по умолчанию для использования вкладки, и значение по умолчанию Emacs должно использовать вкладки. Таким образом, Вы уже получаете вкладки. Обратите внимание, что объем по умолчанию добавления отступа является 2 пробелами, и вкладка width по умолчанию составляет 8 столбцов, таким образом, Вам нужны по крайней мере 4 уровня добавления отступа для наблюдения вкладки.

Если Вы хотите изменить вкладку width на 2 столбца, установите tab-width переменная, но примечание, что Ваши файлы будут выглядеть странными для других людей с другой вкладкой width. Если Вы хотите изменить объем добавления отступа на уровень к 8 столбцам, установить cperl-indent-level.

Если Вы обмениваетесь файлами с другими людьми, лучше помещать эти настройки в файловую переменную (а не использовать вкладки, конечно). Например:

# Local Variables:
# tab-width: 8
# cperl-indent-level: 8
# End:

Я думаю, что эквивалентный vi modeline # vi: ts=8 sw=8:.

2
27.01.2020, 21:29
  • 1
    "Правильный ответ не состоят в том, чтобы использовать вкладки". очевидно, оператор священной войны... рассмотрел модификацию вниз для этого... –  xenoterracide 15.12.2010, 02:26
  • 2
    Спасибо! Это работало. Я был смущен, потому что возвращение вкладки в emacs преобразовывает его в пробелы и удаляет по одному. Для изменения его для удаления целых вкладок я добавил это к .emacs: (setq backward-delete-char-untabify-method ноль), –  sprale 15.12.2010, 04:20

Теги

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