web-dev-qa-db-ja.com

Emacsタブが機能しない

FreeBSD8.2ボックスにEmacsをインストールしました。すべて正常に動作しますが、タブを使用できません。 emacsとヒットタブでファイルを編集しているとき、何も起こりません。

何が原因でしょうか?

24
Richard Knop

Emacsを初めて使用する場合は、TABを押してリテラル\Tを挿入することを期待するかもしれません。さまざまな理由から、これはほとんどのEmacsモードが機能する方法ではありません。ほとんどの編集モードでは、必要に応じてコードが自動インデントされます(<tab>indent-for-tab-commandではなくself-insertにバインドされます)。 TABbingしている行がすでに正しいインデントレベルにある場合は、何も起こらなかったように見える場合があります。

このような自動インデントは、手動インデントよりも簡単で一貫性がありますが、各行の先頭に存在する空白の量を正確に決定する際には、それほど柔軟性がありません(また、いくつかの問題が発生します)。たとえば、一部のフィールドをタブ区切りにする場合)。 C-M-\(つまりCtrl + Alt + \)を使用して領域を自動インデントできます。

絶対に、積極的にリテラル\Tをコードのどこかに挿入する必要がある場合は、C-q TABを使用して挿入できます(Ctrl + qを押して放し、Tabキーを押します)。通常、これは他のエディターの列を揃えるために行われます。それがあなたがしていることであるならば、タブリテラルよりもalign-regexpを使用することはおそらくより良い考えです。

39
Inaimathi

基本モードとテキストモードでは、C-<TAB>を使用します。これが他のどのモードで機能するかはわかりませんが、いくつかの例外を除いて、実際の\t文字が必要なのはプレーンテキストだけです。

0
roundar