vim 設定 - 編集 -

テキストの編集に関する設定になります。
" edit
set autoindent          " automatically set the indent of a new line
"set smartindent        " do clever autoindenting
set backspace=indent,eol,start
                        " backspace behavior in insert mode
"set textwidth=78       " maximum width of text
"set formatoptions+=mB  " automatic formatting
実際に有効化して使っているのは autoindent と backspace だけですね。。。他のコメントアウトしている設定は、普段は使わないけどもごく稀に使うことがあるので備忘メモ的な感じで残しています。


  • インデント
  • set autoindent
    "set smartindent
    
    autoindent, smartindent ともに自動インデントを利用するための設定です。 行末で [enter] キーで改行する、もしくはコマンドモードで [o] [O] で次の行を挿入した場合に、編集していた行のインデントが新しい行にコピーされます。プログラムを書いたり設定ファイルのコメント行を編集したりする場合に便利ですね。
    smartindent は C でプログラムを書くときによく働いてくれるようですが、普段プログラムを書くことないのでコメントアウトして使っていません。

    自動インデントは普段は便利なんですが、意図しないインデントが挿入されることも多々あります。例えばマウスを使ってコメント文をコピペしたりするとコメント開始文字が階層的に増えたりとか。
    そういうときは設定ファイルの autoindent をコメントアウトしてから編集するか、コマンドモードから set noautoindent として一時的に off にするとよいかと思います。


  • バックスペース
  • set backspace=indent,eol,start
    
    バックスペースキーを入力した時の挙動の設定です。通常このまま設定しておけば問題ないかと。


  • 文書整形
  • "set textwidth=78
    "set formatoptions+=mB
    
    編集している文書の自動整形に関する設定です。 textwidth で文書の幅が設定されている場合に formatoptions の設定に従って自動的に改行を入れたり行を連結してくれたりします。
    長いコメント文を書いたり日本語の長文を作成する場合に便利なんですが、スクリプト等を書いているときに勝手に改行されたりするのも困りものなので、必要に応じて設定を有効化して使うのがよいかと。

    formatoptions に設定できるオプションについての詳細は vi のコマンドモードで help fo-table で確認できます。私は上記で設定しているように formatoptions のデフォルトの設定に mB を足して使うことが多いです。(デフォルトだと tcq がセットされるので tcqmB となります。)



【関連】

このブログの人気の投稿

zsh 設定 - プロンプト -

テンションを上げたいときにおすすめの曲(StarrySky YEAH! Remix)

OpenLDAP のログ周りの設定をする