vimテクニック:整列コードを自動的にフォーマットし、コードのインデントを手動で増加または減少させる
この記事ではvimの使用方法について説明します.自動フォーマット整列コード 手動でコードインデント を増加または減少する.
自動書式設定
vimは、
次の
コードのインデントを手動で増減
以下の
自動書式設定
vimは、
=
コマンドでコードファイルを自動的にフォーマットして整列することができます.具体的な使い方は以下の通りです.==
カーソルがある行を自動的にフォーマットして配置すると、コードの状況に応じてインデントが増加または減少します.==
の前に数字を付けて、同時に何行を処理するかを指定できます.たとえば、4==
は、現在の行と後の3行をフォーマットします.gg=G
は、ファイル全体を再フォーマットして整列します.={motion}
自動フォーマット{motion}操作前後の行.{motion}はvim内で任意にカーソルを移動する操作であってもよい.例えば、一般的なj、k、G、%などである.%
は、一致する括弧にカーソルを移動するために使用される.カーソルが{
または}
上にある場合、=%
は、{}
自体を含む{}に囲まれたコンテンツ全体をフォーマットします.次の
a{
、i{
も{motion}の一種です.=a{
カーソルの行が{}カッコ内にある場合、自動的に{}の内容全体をフォーマットします.{}
を含む2つのカッコがある行も一緒にフォーマットされ、{
の前の動作基準で整列されます.{
自体の位置合わせが乱れている場合は、{
の行も一緒に位置合わせすることができます.=i{
カーソルの行が{}カッコ内にある場合、{}
という2つのカッコがある行を含まず、{
がある行為基準で整列するように自動的にフォーマットされます.{
自身の行の位置合わせが乱れている場合、{
の行も一緒に位置合わせされません.コードのインデントを手動で増減
=
コマンドで自動的にフォーマットされ、デフォルトではC言語の整列スタイルが使用されます.このスタイルが気に入らない場合は、手動でインデントを増やしたり減らしたりして位置合わせすることもできます.次のコマンドを使用して、手動でインデントできます.>>
カーソルの行を右にインデントし、インデントスペースの数はshiftwidthオプションで指定します.>{motion}
対{motion}操作前後の行を右にインデントします.インデントスペースの数はshiftwidthオプションで指定します.{motion}はvim内で任意にカーソルを移動する操作であってもよい.<<
カーソルの行を左にインデントし、インデントスペースの数をshiftwidthオプションで指定します.
{motion} 。 shiftwidth 。{motion} vim 。
以下の
a{
、i{
も{motion}の一種であり、>
または<
コマンドに用いることができる.>a{
カーソルの行が{}カッコ内にある場合、{}内の内容全体を右にインデントします.{}
を含む2つのカッコがある行も一緒にインデントされます.>i{
カーソルの行が{}カッコ内にある場合、{}内の内容全体を右にインデントします.{}
という2つのカッコがある行は含まれません.それら自体の行はインデントされません.:help =
コマンドを使用して、=
のヘルプの説明を表示します.:help <
と<
と>
のヘルプの説明を参照してください.この2つのコマンドの説明は隣接しています.:help motion.txt
コマンドを使用して、カーソルを移動できる操作を確認します.:help usr_30.txt
を使用して、整列に関する=
、>
コマンドの例を表示します.