Когда у меня есть код:
a = 1
foo = 2
и я хочу, чтобы он выглядел следующим образом:
a = 1
foo = 2
Я могу использовать функцию выравнивания по отношению, определенную здесь:
Горячая клавиша Emacs для выравнивания знаков равенства
путем выбора области и запуска функции.Я также могу изменить функцию для работы с хэшами, изменив '=' в определении функции на '=>' и переведя:
bar = { :a => 1,
:foo => 2 }
в:
bar = { :a => 1,
:foo => 2 }
Я хочу, чтобы это выравнивание было выполнено для всего моего кода, когда я выбираю весь буфер и запускаю indent-region.Но я хочу, чтобы это было сделано разумно - не выравнивая каждый «=» в буфере по правому краю «=», а вместо этого делая это для блоков присваивания и отдельных хеш-литералов.
РЕДАКТИРОВАТЬ: Чтобы прояснить эту последнюю часть, скажем, у меня есть следующий буфер:
a = 1
foo = 2
some_other_code
def fn
bar = { :a => 1,
:foo => 2 }
end
Я хочу сделать 'Cx h' (выбрать весь буфер),'MC- \' (indent-region) и выглядело это так:
a = 1
foo = 2
some_other_code
def fn
bar = { :a => 1,
:foo => 2 }
end