Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Vim 設定ガイド

$
0
0

Vimは設定を変更することで、更に快適にファイルの編集ができるようになる。

関連する拙稿

設定ファイル?

要するに、vimの起動時にexモードのコマンドを実行してくれるもの。
設定ファイルというよりは、.bashrcなどのファイルと同様の性質のもの。
まずは、設定ファイルを置く場所を確認する。
vimがインストールされているなら

$ vim --version

と入力すると、こんな感じの情報が出てくる。

システム vimrc: "$VIM/vimrc"
    ユーザ vimrc: "$HOME/.vimrc"
 第2ユーザ vimrc: "~/.vim/vimrc"
     ユーザ exrc: "$HOME/.exrc"
   省略時の $VIM: "/usr/share/vim"

$HOMEや~の解釈はログインユーザによって変わるので、私はrootでvimを起動した時などに設定が反映されるように、"$VIM/vimrc"に設定ファイルを置いている。

$VIMの場所については、vimを起動した状態

:echo $VIM

と入力すれば確認できる。

内容を見てみる

大抵の場合は、初期状態でもある程度の設定がされているか、コメントアウトしてある。(vimのコメントは、ダブルクォート)

Ubuntu13.10で確認できた初期設定を紹介するので、必要とあればアンコメントする。

if has("syntax")
  syntax on
endif

"set showcmd        " Show (partial) command in status line.
"set showmatch      " Show matching brackets.
"set ignorecase     " Do case insensitive matching
"set smartcase      " Do smart case matching
"set incsearch      " Incremental search
"set autowrite      " Automatically save before commands like :next and :make
"set hidden     " Hide buffers when they are abandoned
"set mouse=a        " Enable mouse usage (all modes)

このあたりの設定は有効化してもいいだろう。

コメントに設定の内容も書いてあるので、詳細な解説は省略。

カスタマイズ

今回の本題。
まずは私が環境を作る度に設定している内容をそのまま。

set number
set title
set ambiwidth=double
set tabstop=4
set expandtab
set shiftwidth=4
set smartindent
set list
set listchars=tab:»-,trail:-,eol:↲,extends:»,precedes:«,nbsp:%
set nrformats-=octal
set hidden
set history=50
set virtualedit=block
set whichwrap=b,s,[,],<,>
set backspace=indent,eol,start
set wildmenu

読んだだけではパッとわからなそうなものについての解説

項目名内容
number行番号の表示
titleターミナルのタイトルをセットする
e.g.) vimrc=(/usr/shere/vim...)
ambiwidth=double文脈によって解釈が異なる全角文字の幅を、2に固定する
tabstop=4タブ幅をスペース4つ分にする
expandtabtabを半角スペースで挿入する
shiftwidth=4vimが自動で生成する(読み込み時など)tab幅をスペース4つ文にする
smartindent改行時などに、自動でインデントを設定してくれる
list空白文字の可視化
listchars=tab:»-,trail:-,eol:↲,extends:»,precedes:«,nbsp:%可視化した空白文字の表示形式について。詳細な解説は、こちら
nrformats-=octal"0"で始まる数値を、8進数として扱わないようにする
hiddenファイルの保存をしていなくても、べつのファイルを開けるようにする
virtualedit=block文字のないところにカーソル移動できるようにする
whichwrap=b,s,[,],<,>カーソルの回り込みができるようになる
(行末で→を押すと、次の行へ)
backspace=indent,eol,startバックスペースを、空白、行末、行頭でも使えるようにする

大雑把な解説なため、詳しく知りたい場合は適宜調べて欲しい。(いつか書くかもしれない)
後は、好みに合わせて設定していただきたい。

補足

  • 起動しているvim上で設定を切るには

    :set noXXXX

を入力すればいい。

  • smartindentについて

    これが有効化されていると、複数行のクリップボードからの貼付けがおかしくなる。

    :set paste

を入力してから貼り付けをすれば、問題なく貼り付けができる。

これらの設定をしておけば、結構高性能なエディタであると感じられるようになるはず。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>