vimrc - Vimでタブキー== 4スペースと中括弧の後に自動インデント




vimrc expand tab (6)

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を押してファイルを保存します。

vi - Vimはタブを使用しない(タブにスペースを変換する、悪い!)、タブキー== 4スペースにする、そしてEmacsような中括弧ブロックの後に自動的にインデントする方法は?

また、これらの設定を保存して、再度入力する必要はありません。

私はこれに関連する他の質問を見たことがありますが、それはいつも私が望むものからちょっと離れているようです。


〜/ .vimrcを編集する

$ vim ~/.vimrc

次の行を追加します。

set tabstop=4
set shiftwidth=4
set softtabstop=4
set expandtab

お勧めの方法は、ファイルタイプベースのインデントを使用し、それが十分でない場合にのみ、smartindentとcindentを使用することです。

.vimrcに以下を追加してください

set expandtab
set shiftwidth=2
set softtabstop=2
filetype plugin indent on

それは別の答えであることを願っています。


ほとんどのファイルに4つの空白のタブ、Makefileの実際の8-wideタブの文字、​​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.

以下の2つの答えで指摘されているように、現在推奨されている方法は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は、C言語のような構文を主な言語として主に使用されていますが、「もっと巧みに働く」cindentに置き換えられています。

:help C-indenting


自動インデントは、現在の構文モードに基づいています。 私はあなたがFoo.javaを編集しているならば、 {と打ってEnterを押すと次の行がインデントされることを知っています。

タブについては、2つの設定があります。 Vimの中で、コロンを入力し、 "set tabstop = 4"とすると、タブが4つのスペースとして表示されます。 コロンでもう一度打って、 "set expandtab"と入力すると、タブのスペースが挿入されます。

これらの設定はホームディレクトリの.vimrc(またはWindowsの場合は_vimrc)に入れることができるので、一度だけ入力するだけです。





auto-indent