Viでコードをどのようにかっこいい/揃える/フォーマットするのですか?コマンドとは?
私は大量のコードを貼り付けましたが、それをすべてフォーマット/整列させる必要があります...明らかに私はvi初心者です。
バツ
私の回答のこれらのコマンドはvimで機能します。 viを使用していると思うほとんどの人はvimを使用しています。 「vi」が本当に「vim」かどうかを確認するには、viを開いて「:version
」と入力します。vimの場合は、そのように表示されます。そうしないと、プログラムの名前なしでバージョン番号が表示されるだけです。また、初めてvimを開くと、通常、「VIM-VI iMproved」というスプラッシュ画面が表示されます...
自動インデント
自動インデントをオンにするには、vimが編集中のファイルタイプを認識していることを確認します(通常、これはファイル名拡張子から自動的に検出されますが、一部のファイルタイプでは認識されない場合があります)。構文の強調表示のメニューを使用して、ファイルタイプを指定できます。次に、これを行います:
:filetype indent on
あなたは自動インデントを無効にすることができます
:filetype indent off
インデントの自動調整/修正
一般に、={motion}は、コードをインデントレベルに揃えます。
==
現在の行を揃えます=i{
内部ブロックを揃えます=%
カーソルの下の対応する括弧/括弧に揃えます=14j
または14==
次を整列14ライン=G
ファイルの最後に揃えますvG=
同じこと、ファイルの最後に揃えます(ただし、ビジュアルモードを使用します)vjjj=
4行を揃えます(ビジュアルモードを使用)手動インデント
Vimがインデントレベルを正しく推測していない場合、それを変更するには2つの方法があります。
<<
を実行して行を左にシフトするか、>>
タブを1つ右にシフトします。これは、上記で示したのと同じ移動コマンドを使用して、数行で実行できます(たとえば、>i{
は、現在の内部コードブロックをインデントします)。等号の整列など
宣言のリストで等号を揃えたい場合は、次のvimスクリプトの使用を検討してください: http://www.vim.org/scripts/script.php?script_id=294
インデント/タブサイズの調整
インデント時にvimでタブではなくスペースを使用する場合は、このコマンドを実行します(またはvimrcファイルに追加することを検討してください)。
:set expandtab
タブに相当するスペースの数を設定するには、通常これを行います:
:set expandtab softtabstop=3 tabstop=3 shiftwidth=3
ただし、さまざまな量のタブを頻繁に操作する必要がある場合は、この関数とキーバインドを使用することもできます。
function! Ktabs(tabsize)
execute "set softtabstop=" . a:tabsize . " tabstop=" . a:tabsize . " expandtab shiftwidth=" . a:tabsize
"set softtabstop=a:tabsize tabstop=a:tabsize expandtab shiftwidth=a:tabsize
endfunction
noremap <leader><Tab> :call Ktabs(3)<Left>
タブとスペースが混在するファイルを編集している場合は、タブサイズを設定した後でこのコマンドを使用できます。
:retab
={motion}
:h =
追伸vimが利用可能な場合は、viを使用しないでください。
インデントを手動で調整する場合は、インデントしたい最初または最後の行でV
を使用してビジュアルブロックを開き、ブロックを含むブレースに移動し、%
を使用して他のブレースに移動してからシフトします>
または<
の行
インデントが大きくずれている場合は、<
を使用してすべてを左にシフトし、.
を使用してそれを繰り返してから、すべてをインデントし直します。
別の解決策は、 で説明されているようにunix fmt
コマンドを使用することです。Vimの問題は、viを操作しないことです。 、{!}fmt