web-dev-qa-db-ja.com

gvimで複数の行をインデントし、「後方」にインデントするにはどうすればよいですか?

私はvimを学んでいます(gvimを介して、以前はNotepad ++ユーザーでした)が、2つのことを行う方法をまだ見つけていません。

  1. 行xスペース/タブのセットを正しくインデントするにはどうすればよいですか?たとえば、Notepad ++では、必要な行を強調表示して「Tab」キーを押すだけです。
  2. また、Notepad ++の「Shift + Tab」と同等に後方に移動する方法はありますか?

ありがとう

5
drapkin11

インデントする最初の行から開始し、>を押して、インデントする行数を入力し、もう一度>を押します(10行の場合は> 10>を押します)インデントを解除するには、代わりに<を使用します>の(<10 <)

7
Majenko

必要なのは>コマンドと<コマンドです。「:help shift-left-right "。

これらのコマンドは複数の方法で使用できますが、特に強調表示について説明したので、マウスまたはキーボードを使用して、シフト/シフト解除する行を強調表示し、>または<を押すことができます。

ビジュアルモード(ハイライト)を使用する代わりに、カウントと>>または<<を指定できます。例えば、 3>>は、現在の行とその下の2行をインデントします。

3
Heptite

推奨されるアプローチは、vimに自動インデントを実行させることです。 .vimrcでこれを忘れないでください:

set ai
filetype indent on

次に、インデントが不適切なファイルを開いた場合は、=コマンドを使用できます(モーションと組み合わせて、たとえばgg=Gでファイル全体をインデントし、==で現在の行をインデントします。 、=i{は、現在の{}ブロックなどを再インデントします)。

>><<は、古くてプレーンなvi以来、確かに存在しますが、実際の長期的な編集には非常に面倒です。

3
Luc Hermitte