Vimでインデントをtabからスペースに変更する方法

Vimでインデントをtabからスペースに変更する方法hosiiのメモ帳Vimでインデントを挿入するとき、tabではなくスペースを入れる方法を毎回検索してしまうのでメモしておく。

一時的な変更

Vimを起動しノーマルモードの状態で以下コマンドを入力する。

:set tabstop=4	#タブ幅をスペース4つ分にする
:set expandtab	#tabを半角スペースで挿入する
:set shiftwidth=4	#vimが自動で生成する(読み込み時など)tab幅をスペース4つ文にする

恒久的な変更

まず、設定ファイルの場所を確認する。

$ vim --version
   system vimrc file: "$VIM/vimrc"
   user vimrc file: "$HOME/.vimrc"

今回はユーザ共通の設定をしたいので、”$VIM/vimrc”に設定を記述する。
“$VIM/vimrc”の場所は、Vimを起動した状態で以下のコマンド入力する。

:echo $VIM

ここで出てくるファイルを編集する。
以下MacOSXの場合は”/usr/share/vim/vimrc”だった。
ファイルをエディタで開き、「一時的な変更」で記載した内容を、「:」(コロン)を除いて「set」から始まる箇所から記入する。
以下記載例。

" Configuration file for vim
set modelines=0         " CVE-2007-2438

" Normally we use vim-extensions. If you want true vi-compatibility
" remove change the following statements
set nocompatible        " Use Vim defaults instead of 100% vi compatibility
set backspace=2         " more powerful backspacing

" Don't write backup file if vim is being called by "crontab -e"
au BufWrite /private/tmp/crontab.* set nowritebackup nobackup
" Don't write backup file if vim is being called by "chpass"
au BufWrite /private/etc/pw.* set nowritebackup nobackup

" 以下追加内容
set tabstop=4
set expandtab
set shiftwidth=4

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です