スパム対策として書込み時にID/PWを要求されますが、ローマ字で ほげ/ホゲ で書き込めるようになります。

インデント操作

  • ページ: faq
  • カテゴリー: 編集
  • 投稿日: 2005-02-02 01:52:33 (水)

メッセージ

インデント幅、TAB幅の指定とインデントを行うキー操作

インデントは4つずつ、TABはスペース8個分のときは、次のようなオプションの設定になる。

:set shiftwidth=4
:set tabstop=8

インデントするには、ノーマルモードでは<<,>>でカーソルのある行の行頭が4つずつ左右へ移動し、 挿入モードでは、<C-D>,<C-T>で左右の4の倍数の位置へ行頭が移動する。 このインデント動作はtabstop分スペースがたまると自動的にスペースをTABに変換してくれる。

インデントするときTABに変換されるのが嫌だ

インデント時にTABに変換されることを嫌う場合は以下のオプションを指定すればインデントを常にスペースのみで行うことができる。

:set expandtab

ただし、TABキーで常にスペースが挿入されるようになるので、実際にTABを入力したい場合は<C-V><TAB>と入力する必要がある。

<<,>>の移動でインデントをshiftwidthの倍数の位置に移動したい

ノーマルモードで<<,>>でshiftwidthの倍数の位置へ行頭を移動する場合は次のオプションを設定する。

:set shiftround

TABキーでインデントしたい(その1)

挿入モードではTABキーでTABではなくインデントを挿入したい場合は次のオプションを指定する。

:set smarttab

ただし、TAB入力は行頭でのみshiftwidth分空白を入力し、行頭以外(空白以外が書かれて以降)ではtabstop分空白を入力する。<BS>は行頭のみshiftwidth分の空白の削除を行う。

TABキーでインデントしたい(その2)

次のオプションはTABキーで常に指定した分だけ空白を入力する。

:set softtabstop=4

このようにshiftwidthと同じ値を指定すればTABキーでインデントするのと同様となり、 更に行頭以外でもTABキーで同様の空白を入力できる。 このとき、<BS>は常にshiftwidth分の空白削除となる。 このオプションとsmarttabを同時に指定した場合は行頭ではsmartabが優先される。(行頭ではsofttabstop分ではなくshiftwidth分空白が入力・削除される。)

省略形と反対の動作

オプションには省略形があるが、それはヘルプを参照のこと。 たとえば:help shiftroundでヘルプを見るとsrが省略形、:set noshiftroundがshiftroundと反対の動作であると分かる。


  • う〜む、FAQに書いてみたけど分かりにくくなってしまった。。。 -- 2005-02-02 01:59:40 (水)
  • 基本は,タブ文字(0x09)を画面上スペースいくつで表示するかを決めるのが 'tabstop'. タブキーを押したときスペースをいくついれるかが 'softtabstop'. オートインデントや >>, = に関係するのが 'shiftwidth' ということだね. -- 2005-02-02 13:03:59 (水)
  • んで,よくわからない人は全部同じ値にしておけ,と. -- 2005-02-02 13:12:33 (水)



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-10-14 (火) 01:13:17 (1320d)