できる限りVimを使用しようとしています。VimとAptanaのようなIDEの最大のグリップの1つは、自動インデント機能です。
コードを自動フォーマットする手段(HTML、CSS、PHP)はありますか?
もしそうなら、これをvimにどのようにインストールしますか?プラグインをあまり理解していません。私はこのスレッドをレビューしようとしましたが、さらに混乱しました:vimの自動インデント動作を変更するには?
できる限りVimを使用しようとしています。VimとAptanaのようなIDEの最大のグリップの1つは、自動インデント機能です。
コードを自動フォーマットする手段(HTML、CSS、PHP)はありますか?
もしそうなら、これをvimにどのようにインストールしますか?プラグインをあまり理解していません。私はこのスレッドをレビューしようとしましたが、さらに混乱しました:vimの自動インデント動作を変更するには?
回答:
gg=G
ファイルを開かずにシェルから実行する方法は?
既存のコードの自動フォーマットについては知りませんが、コードを書いているときに自動インデントが必要な場合:
:set autoindent
(または:set ai
)は自動インデントをオンにします:set tabwidth=4
(または:set tw=4
)タブがコードをインデントするスペースの数を制御します>>
このコマンドは、現在の行をインデントします。数字を接頭辞として付ける4>>
と、現在の行から4行インデントします。<<
コマンドは行のインデントを解除しますこれで良いスタートが切れることを願っています。
={motion}
、通常モードで使用します。たとえば=G
、現在の行からファイルの最後までのすべてのコードをインデントします。==
現在の行をインデントします。
:filetype indent on
)
このプラグインにより、コードの書式設定が簡単になります。外部フォーマッタを統合し、vimのインデント機能にフォールバックします。
https://github.com/Chiel92/vim-autoformat
また、フォーマットとインデントの違いにも注意してください。インデントはすべての行の前の空白のみを修正しますが、書式設定は演算子の周りの空白など他のことも処理します。
~/.vimrc
ファイルを作成/編集し、次の行を追加します。
set autoindent
:set autoindent
、現在のファイルに対してのみ自動インデントを有効にします。.vimrc
ファイルに追加すると、自動インデントが永続的に有効になります。
bashではこれを行います:
source <(echo "Zibri () {";cat script_to_be_reindented.sh; echo "}")
declare -f Zibri| cut -c 5-|head --lines=-1|tail --lines=+3
これにより、コメントが削除され、スクリプトの「bash way」が再インデントされます。スクリプトにHEREDOCSが含まれている場合は機能しませんが、これを行うと:
source <(echo "Zibri () {";cat script_to_be_reindented.sh; echo "}")
declare -f Zibri|head --lines=-1|tail --lines=+3
どのスクリプトでも動作しますが、スクリプト全体が4つのスペースでインデントされます。自由に変更できますが、スクリプトで私の名前を引用して投稿してください!:D
sed
、希望する場合はこれをもう少し直接達成できるかもしれません:(cat script_to_be_reindented.sh | sed 's#^# #g'
まあ、SO
vimのautoformat / indentはかなりうまく機能します。まず、次の行を次の行に追加します~/.vimrc
。
filetype plugin indent on
次に、vimでファイルを開いて入力します gg=G
(gg
最初の行にカーソルの移動。=
インデントのコマンドを実行します。G
ここから最後の行まで実行するようにインデントコマンドに指示します。)
すべての行がインデントされたままになっているなど、自動フォーマットが本当に悪いように見える場合は、実行して、リストに(または使用している言語)があるかどう:scriptnames
かを確認.../indent/html.vim
します。そうでない場合は、~/.vimrc
正しいことを確認してください。または:filetype plugin indent on
、vimコマンドラインから実行した場合は、ファイルを再度開く必要があります:e