2017-04-18 7 views
0

ショートカットや関数を探して、選択範囲内のすべての行に1つのタブを追加します。また、選択内のすべての行に1つのタブを減らす方法は?Emacsに複数の行をインデントします

これには複数の参考資料があります。しかし、geanyのような普通の編集者のように、選択したテキストのタブとシフトタブの使用を模倣するものは見つけられませんでした。複数の行を選択してから、タブまたはシフトタブを使用してテキストを左右に移動させて最適なものにすることができます。

見つかりましたC-x tab <left> or <right>:これは、選択範囲内のすべての行を一度に1つ左または右に移動します。 C-5 C-x tabを5桁移動してから停止します。しかし、私はこれらの行がタブ空間を一度に移動して、選択を維持してプロセスを繰り返したり元に戻したりできるようにしたい。どうやってやるの?

基本的には、いくつかの行を選択してから呼び出せる関数が必要です。それはすべき:

  • は(NUMパッド上発言1)キーを押すことで選択されたライン
  • を検出し、それが5つのスペース(及び選択を維持する)ことにより、左に選択されたテキストを移動する必要があり
  • 別のキーを押してオン(数字パッドで3と言う)、選択したテキストを5つ分だけ右に移動させてください(選択を維持してください)。
  • Enterを押すと機能が終了します。

上記の機能は、(左右のキーを使用して)ちょうど同じように機能しますが、選択したテキストを一度に1つだけスペースに移動するショートカットに追加できます。

+0

これはpythonファイル(拡張子pyのファイル)です。テキストファイル(拡張子.txt)でもこれをやりたいさらに、これらのコマンドは1回だけ動作します。これを繰り返すには '>'だけでなく 'Cc>'をもう一度やり直さなければならない – rnso

+0

'python-indent-shift-right'と' python-indent-shift-left'のショートカットキーの組み合わせは何ですか? pyとtxtファイル)? 'Control-c>'と 'Control-c <'はpyファイルでのみ動作し、txtファイルでは動作しません。 – rnso

+0

'C-x TAB'の後に' S- 'と' S- 'を打つと、それができます。あなたがそれを使うことに問題があるなら、そう言いなさい。タブストップを持たないモードを使用している可能性があります。 'C-h v indent-rigidly-map RET'を参照してください。 – ashawley

答えて

0

悪意のあるモードを使用する場合は、モードに応じて、現在の行または選択範囲をインデントするキーが>になります。私はそれがタブを挿入する方法を知らない。

これは、より一般的には非nilの

ある場合インデントは、タブを挿入することができ、これはいないようです:私たちは、変数indent-tabs-modeを持っているように見えるのキーワード(C-h d indent tab RET)によって、ドキュメントを簡単に見てすることであなたの要求に合っていますが、その中には複数の行を連続してインデントするのに役立ちます:indent-tools(メルパ)(私のおもちゃ)。これは、インデントベースのファイル(yaml、pythonなど)を対象としており、インデント、段落などの現在のブロックをインデントまたはインデント解除するコマンドを使用してヒドラ(アクションを繰り返すのに役立ちます)を提供します。インデントのブロックをコメント、削除、折りたたんで移動することができます。

2

私は、ショートカットや機能を探して、選択範囲のすべての行にタブを1つ追加します。

最初に地域を選択してください。

C-SPC [set-mark-command] 

最初の行と最後の最後の行(またはその逆)の開始時点の先頭に、マークとラインの選択領域、およびその後

C-x r t [string-rectangle] 
C-q TAB [quoted-insert] 

IはC-x TABを発見<left>または<right>:選択範囲内のすべての線を一度に1つずつ左または右に移動します。

S-<left>S-<right>のヒットのオプションはありますか?それはあなたのために、Shift + Right、おそらくあなたがどのモードにあり、indent-tabs-modeが有効になっているかによってのみ行うべきです。

関連する問題