vi - Vim はタブを使わず(スペースをタブに変換するのは悪いことです)、タブキーを== 4スペースにし、中括弧ブロックの後に自動的にコードをインデントします Emacs しますか?
また、入力しなくても済むように、これらの設定を保存するにはどうすればよいですか。
私はこれに関連する他の質問を見ました、しかしそれは私が欲しいものから常に少しずれているようです。
以下のいくつかの答えで指摘されているように、現在推奨されている方法はsmartindentを使うことではなく、代わりに以下を使うことです(あなたの .vimrc )
filetype plugin indent on
" show existing tab with 4 spaces width
set tabstop=4
" when indenting with '>', use 4 spaces width
set shiftwidth=4
" On pressing tab, insert 4 spaces
set expandtab
.vimrc: ファイルに
set smartindent set tabstop=4 set shiftwidth=4 set expandtab
ヘルプファイルは慣れるのに少し時間がかかりますが、あなたが読むほど、Vimは良くなります:
:help smartindent
さらに良いことに、移植性のためにこれらの設定をソースに埋め込むことができます。
:help auto-setting
現在の設定を確認するには:
:set all
コメントで指摘されている graywh が指摘するように、smartindentはcindentに置き換えられました。
:help C-indenting
タブとスペースの両方を使用するファイルを開いた場合、
set expandtab ts=4 sw=4 ai
ファイル全体ですべてのタブをスペースに置き換えることができます。
:%retab
ファイルタイプ固有のインデントを取得する最良の方法は、vimrcでfiletype plugin indent on
を使用することです。次に、.vim/ftplugin/c.vimでset sw=4 sts=4 et
のようなものを指定できます。たとえば、編集中のすべてのファイルに対してグローバルにする必要はなく、他の非Cタイプの構文も正しくインデントされます- (偶数lisps)。
ほとんどのファイルに4スペースのタブ、Makefileの実際の8ワイドのタブ文字、そしてC/C++を含むさまざまなファイルの自動インデントを設定するには、これを~/.vimrc
ファイルに入れます。
" Only do this part when compiled with support for autocommands.
if has("autocmd")
" Use filetype detection and file-based automatic indenting.
filetype plugin indent on
" Use actual tab chars in Makefiles.
autocmd FileType make set tabstop=8 shiftwidth=8 softtabstop=0 noexpandtab
endif
" For everything else, use a tab width of 4 space chars.
set tabstop=4 " The width of a TAB is set to 4.
" Still it is a \t. It is just that
" Vim will interpret it to be having
" a width of 4.
set shiftwidth=4 " Indents will have a width of 4.
set softtabstop=4 " Sets the number of columns for a TAB.
set expandtab " Expand TABs to spaces.
Ubuntuのような多くのLinuxシステムでは、.vimrc
ファイルはデフォルトでは存在しないので、最初にそれを作成することが推奨されます。
ホームディレクトリに存在する.viminfo
ファイルを使用しないでください。それは異なった目的のために使われます。
ステップ1:あなたのホームディレクトリに行く
cd ~
ステップ2:ファイルを作成する
vim .vimrc
ステップ3:上記の設定を追加する
filetype plugin indent on
set tabstop=4
set shiftwidth=4
set expandtab
ステップ3:を押してファイルを保存する Shift + ZZ。
推奨される方法は、ファイルタイプに基づくインデントを使用し、それが十分でない場合にのみsmartindentとcindentを使用することです。
以下を.vimrcに追加してください。
set expandtab
set shiftwidth=2
set softtabstop=2
filetype plugin indent on
別の答えとして役立つことを願っています。
〜/ .vimrcを編集してください
$ vim ~/.vimrc
以下の行を追加してください。
set tabstop=4
set shiftwidth=4
set softtabstop=4
set expandtab
:set tabstop=4
:set shiftwidth=4
:set expandtab
自動インデントは現在の構文モードに基づいています。あなたがFoo.Javaを編集しているならば、{
を入力してヒットすることを私は知っています Enter 次の行を字下げします。
タブに関しては、2つの設定があります。 Vimの中で、コロンを入力してから "set tabstop = 4"とすると、タブは4つのスペースとして表示されます。もう一度コロンを打ち、タブのためのスペースを挿入する "set expandtab"とタイプしてください。
これらの設定はホームディレクトリの.vimrc(またはWindowsでは_vimrc)に入れることができるので、一度入力するだけで済みます。