可能な場合はVimをどんどん使用しようとしています。VimとAptanaのようなIDEの間の最大のグリップの1つは、自動インデント機能です。 。
コード(HTML、CSS、PHP)を自動フォーマットして、適切にインデントする方法はありますか?
もしそうなら、これをvimにどのようにインストールしますか?私はしません。プラグインをよく理解している。このスレッドを確認しようとしましたが、さらに混乱しました: vimの自動インデント動作を変更するにはどうすればよいですか?
コメント
- インデントしようとしている言語を明確にできますか? 'がvimですでにサポートされている場合は、それ以上の労力をかけなくても、すでに自動インデントされているはずです。そうでない場合は、プラグインを取得できるはずです。
- 理想的にはHtml / cssとphp
回答
ファイル全体を自動的にインデントするには:
gg =G
説明:
-
gg
-ファイルの先頭に移動します -
G
-ファイルの末尾に移動します -
=
–インデント
コメント
- 分解してもらえますか?通常、g自体は何ですか?そして= G?
- @Chrisは編集を見る
- いいヒント、私はこれを知らなかった。ただし、bashでゴミの仕事をします。
- ファイルを開かずにシェルから
gg=G
を実行するにはどうすればよいですか? - @takeshinさらに詳しく説明してください。ファイルに入力する必要がありますか、それともターミナルで実行する必要がありますか
回答
既存のコードの自動フォーマットについてはわかりませんが、コードを記述していて自動インデントが必要な場合:
-
:set autoindent
(または:set ai
)は自動インデントをオンにします - Ctrl – d インデントを解除します(別名アウトデント)コード
- インデントするタブまたはスペース-私は個人的にタブを使用します
-
:set tabwidth=4
(または:set tw=4
)は、タブがコードをインデントするスペースの数を制御します -
>>
コマンドは現在の行をインデントします。数字、たとえば4>>
とすると、現在の行から始まる4行がインデントされます。 - 同様に
<<
コマンドは行のインデントを解除します
これが良いスタートになることを願っています。
コメント
- 既存のコードを自動インデントするには、通常モードで
={motion}
を使用します-例:=G
は、現在の行からファイルの終わりまでのすべてのコードをインデントします。==
は現在の行をインデントします。 - また、インデントプラグインがロードされていることを確認します(例:
:filetype indent on
) - set tw = 4は、TEXTWIDTHを4に設定します
回答
自動インデント*.sh
~/.vimrc
filetype indent on set smartindent autocmd BufRead,BufWritePre *.sh normal gg=G
コメント
- これはvimまたはすべてのエディターツールを使用した編集にのみ適用されますか?
-
~./vimrc
vimエディターにのみ適用可能。
回答
このプラグインを使用すると、コードのフォーマットを簡単に実行できます。 。外部フォーマッターを統合し、vimのインデント機能にフォールバックします。
https://github.com/Chiel92/vim-autoformat
また、フォーマットとインデントの違いに注意してください。インデントはすべての行の前の空白のみを修正しますが、フォーマットは演算子の周りの空白などの他のことも処理します。
回答
~/.vimrc
ファイルを作成/編集し、次の行を追加します。
set autoindent
コメント
- これは既存の回答に何も追加しません…
- @jasonwryan実際にはHaiVu 'の回答には
:set autoindent
が記載されており、現在のファイルに対してのみ自動インデントが有効になっています。.vimrc
ファイルは永続的に自動インデントを有効にします。 - あなたのコメントはRahul 'の回答ですでに言及されているので、投稿する前によく考えてください
回答
vimの自動フォーマット/インデントは非常にうまく機能します。まず、この行を~/.vimrc
に入力します。
filetype plugin indent on
次に、vimでファイルを開き、
(gg
はカーソルを最初の行に移動します。=
はindentコマンド。G
は、ここから最後の行まで実行するようにindentコマンドに指示します。)
すべての行がインデントされたままであるなど、自動フォーマットが非常に悪い場合は、:scriptnames
を実行し、.../indent/html.vim
(または使用している言語)がリストに含まれています。そうでない場合は、~/.vimrc
が正しいことを確認してください。または、:filetype plugin indent on
vimコマンドラインから、ファイルを再度開く必要があります:e