2012-03-14 15 views
2

私はEmacsをしばらく使っていましたが、本当に古い「Geany」ショートカット「C-i」と「C-u」が間違っています。Emacsインデント/インデント解除現在の行

"C-i"はカレント行全体をインデントします(マウスカーソルはそのまま)。 "C-u"はカレント行全体をインデントしません。

私はEmacsのために多くのインデントコマンドを見つけました。あるものは領域をインデントしました。基本的には、Vimの ">>"と "< <"が必要ですが、マウスカーソルはそのままにしておきます。

しかし私の主な疑問は、現在の行だけをどのようにインデントできるかです。

アイデア?前もって感謝します!

EDIT タブが2つのスペースを追加して、私はライン上の任意の位置になると、行の先頭にある2つのスペースを追加したり、行の先頭から2つのスペースを削除したいです。

+0

」についてはどうですか?一般に、プログラミングモッズは現在の行を ''でインデントします。 –

+0

Tabは2つのスペースを追加します。行の任意の位置に置いて、行の先頭に2つのスペースを追加するか、行の先頭から2つのスペースを削除します。私はそれを質問に追加します、申し訳ありません。 –

答えて

5

これは、コマンドindent-for-tab-commandを実行するemacsの私のTABキーにあるデフォルトの動作です。 documentation pagesから:

プログラミングモードでは、行の先頭に空白文字とタブ文字の組み合わせを追加または削除します。領域がアクティブで複数の行にまたがる場合、これらの行はすべてこのようにインデントされます。ポイントが最初に現在の行のインデント内にあった場合は、そのインデントの後に配置されます。さもなければ、それは新しくインデントされたテキストの同じポイントのままです。 「プログラムインデント」を参照してください。

も注目に値するがtab-always-indent変数です:

変数タブ常にインデント(字下げ-用タブ-コマンド)コマンドの振る舞いを微調整します。既定値tは、上記の動作を示します。値をシンボルcompleteに変更すると、最初に現在の行をインデントします。行がすでにインデントされている場合は、ポイントでテキストを完成させます(シンボル補完を参照)。値がnilの場合、ポイントが左マージンまたは行のインデントにある場合にのみ、現在の行をインデントします。それ以外の場合は、実際のタブ文字が挿入されます。
関連する問題