Завершите emacs newbie здесь.
Я использую emacs 23.1.1 в Ubuntu с стартовым набором emacs .В основном я работаю в режиме lua (установлен с package-install lua-mode
).
Мне нужно настроить работу отступов, чтобы она соответствовала моим правилам кодирования.
Рекомендации:
- табуляция в пробелах;
- два пробела на отступ;
- 80 символов на строку максимум, без завершающих пробелов.
Пример:
local foo = function()
print("Hello, world!")
end
Что я получу с emacs, если не попытаюсь бороться с его автоматическим отступом:
local foo = function()
print("Hello, world")
end
Обновление:
(Это относится к комментарию, но так как он требует дополнительного форматирования, я должен разместить его здесь.)
Если я попробую решение Thomas, я получу это:
local foo = function()
print("Hello, world")
end
Обратите внимание, что end
имеет отступ tab и четыре пробела.Не совсем работает ...
Обновление 2:
Эта вещь также имеет неправильный отступ:
local bar = foo(
"one",
"two",
baz(), -- Note three spaces
"quo"
)
Это должнобыть:
local bar = foo(
"one",
"two",
baz(),
"quo"
)
Обновление 3:
Третий случай неправильного отступа:
local bar = foo(
"one",
"two"
)
local t = 5 -- This line should not be indented,
-- also note tab between local and t.
Обновление 4:
Вот что я получаю с текущей версией Томаса:
local foo = function()
print("Hello, world")
end
local bar = 5 -- Emacs put \t before 5
local zzz = foo( -- Emacs put \t before foo
"one", -- Pressed TAB here twice
"two",
three(),
"four"
)
За исключением случаев, когда явно указано, я ничего не делал для отступов, только набрал код и нажал RETURN в конце каждой строки.На самом деле я не набирал никаких комментариев.
Это должно выглядеть следующим образом:
local foo = function()
print("Hello, world")
end
local bar = 5
local zzz = foo(
"one",
"two",
three(),
"four"
)
Обновление 5:
Еще один неправильный случай отступа:
local foo =
{
bar(); -- Did press a TAB here, but closing brace killed it
baz;
}
Должно быть:
local foo =
{
bar();
baz;
}
Обновление 6:
Ради полноты вот что я получаю с текущий Git HEAD из lua-mode , без настройки конфигурации Томаса:
local foo = function()
print("Hello, world!")
end
local bar = 5
local foo = bar(
bar,
baz(),
quo(),
aaa
)
local t =
{
"one",
two(),
}
С настройкой:
local foo = function()
print("Hello, world!")
end
local bar = 5
local foo = bar(
bar,
baz(),
quo(),
aaa
)
local t =
{
"one",
two(),
}
Для соответствия моим правилам кодирования, он должен выглядеть следующим образом:
local foo = function()
print("Hello, world!")
end
local bar = 5
local foo = bar(
bar,
baz(),
quo(),
aaa
)
local t =
{
"one",
two(),
}