6

Rubyコードをその場でEmacsに自動的に再インデントさせる方法は?

たとえば、Emacs でこれを使用すると、

def hello
  puts "hello"
  en

「d」を入力した後、これに変えたいのですが、

def hello
  puts "hello"
end

これは Vim のデフォルトですが、Emacs ではどうすれば実現できますか?

4

4 に答える 4

4

ruby-electricは古いニュースです。Emacs 24には、いくつかの文字の後に改行を自動的に挿入するという組み込みのマイナーモードelectric-indent-modeがあり、もちろんRETURNキーを再マップできますnewline-and-indent(デフォルトではインデントにのみマップされます)。Emacs 24 では、一致する delim を取得でき、必要に応じelectric-pairs-moderuby-endモードが自動的endに挿入されます。詳細については、prelude-ruby.elを参照してください。

于 2012-07-03T12:15:35.383 に答える
2

ruby-electric(これもRinariの一部)を追加すると、次のようになります。

  • 「class」、「def」、「module」などを記述するときに、正しくインデントされた「end」。
  • 開始区切り文字を入力するときに一致する区切り文字。

モードを追加したくない場合は、endを押すと正しくインデントされますEnter。または、を押しTabて現在の行を再インデントします。

于 2012-07-03T06:44:08.597 に答える
0

自動インデントモードをお試しください!

  1. Returnは、コードを適切に自動的にインデントします(有効になっている場合)
  2. 貼り付け/ヤンキングは適切にインデントします
  3. キリングラインは不要なスペースを取り除きます(有効になっている場合)
  4. 訪問ファイルで、適切にインデントしますが、保存しないでください。(有効になっている場合は、何も起こらなかったように見せかけます)
  5. 保存時に、オプションでタブを解除し、末尾の空白を削除し、ファイルを確実にインデントします(有効になっている場合)。
于 2012-07-08T15:29:58.193 に答える