パーソナルツール

:set expandtab(:set et)設定の時に、タブ文字を挿入する

作者: 小見 拓 最終変更 2012年01月10日 01時06分

「:set expandtab」設定の時でも、Control-v Tabを使えば、タブ文字を入力できる。 (Windows, Mac)

概要

Vimエディタの設定ファイルで「:set expandtab」と設定しておくと、 入力モードでTabキー押下時やインデントの際、タブ文字ではなく、半角スペースが挿入されるようになります。

しかし、個人で作業している場合ならともかく、メンバーを組んで作業している場合には、 タブ文字の使われているファイルを編集しなければならないことも当然あり、 かつ、むやみに :retab コマンドでタブ半角スペース変換してしまうわけにもいきません。

さて、そのような場合、行いたい編集が大規模なものでなく、少数のタブ文字を入れたいだけなのであれば、 入力モードで Control-v <Tab> と入力すればタブ文字を挿入できるので、 これだけで十分、必要を満たせるでしょう。

Note

単純にタブを入力しようとすると、空白スペースが挿入されてしまう。

タブ文字挿入

まず、 i キーあたりを使用して入力モードになり、

入力モードになる

次に、 Control キーを押下しながら v キー、
最後に Tab キーを押す。
すると、「:set expandtab」の設定にしておいても、タブ文字を入力できる。

Control-v Tab入力

一時的に設定を切り替える

もし、編集箇所が多くて、タブ文字を多数入力しなければならない場合は、 いっそ、設定を一時的に切り替えてしまいましょう。

下記のコマンドで設定を変えてしまっても、Vimエディタの設定ファイルを変更さえしなければ、
次にVimエディタを起動した時には、前の設定でファイルが開かれます。

" 「:set noexpandtab」コマンドの省略形
" このコマンドを入力すると、Tabキーでタブ文字が入力されるようになる。
:set noet

モードラインを設定する

頻繁に開くファイルの場合は、 Control-v <Tab> でタブを挿入するのも、 「:set noet」で設定を毎回変えるのも面倒になってきます。
そこで、第三の解決方法として、モードラインを使う方法を紹介します。

Vimエディタにはモードラインという機能があり、
ファイルの上か下の端に、たとえば、

# vim:set noexpandtab :

などと書いておくと、そのファイルだけ「set noexpandtab」の設定を有効にできます。
モードラインについて詳しくは、下の専用ページをご覧ください。

モードラインを使って、ファイルごとにvimエディタのオプションを指定する。

ドキュメントアクション
コメント
blog comments powered by Disqus