Запустит нового участника emacs.
Я использую 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
Update:
(Это относится к комментарию, но поскольку для его форматирования требуется дополнительное форматирование, я должен разместить его здесь.)
Если я попробую решение Томаса, я получаю следующее:
local foo = function() print("Hello, world") end
Обратите внимание, что end
имеет отступ с вкладкой и четырьмя пробелами.
Не работает...
Обновление 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:
Вот что я получаю от текущей версии от Thomas:
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 без настройки конфигурации Thomas:
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(), }