web-dev-qa-db-ja.com

vimで(スペースではなく)タブのみを使用する方法

white spaceよりもtabを使用することを好みます(他のほとんどとは少し異なる場合があります)

しかし、行末でEnterを押すと、空白が追加されますが、tabは追加されません。そのため、それらを削除してtabを押す必要があります。

Vimの設定方法を知りたい:

  1. tabのみを使用して行をインデントします
  2. タブは4スペースのように見えますが、実際はタブです
  3. 行末でenterを押すと、タブのみで新しい行が開始されます

私はしばらくの間これをグーグルで調べましたが、良い答えは見つかりませんでした。前もって感謝します


[〜#〜] update [〜#〜]

@Alokが提供した答えは、ほとんどの場合にうまく機能します。しかし、たまに、ファイルの種類によって異なることがわかりました。たとえば、hamlファイルを編集していて、haml.vimvimfiles/indent/がある場合、すべてのタブがspaceに変換されます。したがって、tabのみにする場合は、対応するインデントファイルを変更(または削除)する必要があります。

62
Freewind

探している設定は次のとおりです。

set autoindent
set noexpandtab
set tabstop=4
set shiftwidth=4

単一行として:

set autoindent noexpandtab tabstop=4 shiftwidth=4

autoindentは、好みに応じてsmartindentまたはcindentに置き換えることができます。 filetype plugin indent onもご覧ください。

http://vim.wikia.com/wiki/Indenting_source_code

87
Alok Singhal