Rubyコードをその場でEmacsに自動的に再インデントさせる方法は?
たとえば、Emacs でこれを使用すると、
def hello
puts "hello"
en
「d」を入力した後、これに変えたいのですが、
def hello
puts "hello"
end
これは Vim のデフォルトですが、Emacs ではどうすれば実現できますか?
ruby-electric
は古いニュースです。Emacs 24には、いくつかの文字の後に改行を自動的に挿入するという組み込みのマイナーモードelectric-indent-mode
があり、もちろんRETURN
キーを再マップできますnewline-and-indent
(デフォルトではインデントにのみマップされます)。Emacs 24 では、一致する delim を取得でき、必要に応じelectric-pairs-mode
てruby-end
モードが自動的end
に挿入されます。詳細については、prelude-ruby.elを参照してください。
ruby-electric(これもRinariの一部)を追加すると、次のようになります。
モードを追加したくない場合は、end
を押すと正しくインデントされますEnter。または、を押しTabて現在の行を再インデントします。
自動インデントモードをお試しください!