Vim インストール


[sudo] password for elmarverde:

no terminal library found
checking for tgetent()... configure: error: NOT FOUND!
You need to install a terminal library; for example ncurses.
Or specify the name of the library with --with-tlib.

  • elmarverde% sudo yum install ncurses-devel

======================================================================

Package Arch Version Repository Size

======================================================================
Installing:
ncurses-devel i386 5.5-24.20060715 base 1.6 M
ncurses-devel x86_64 5.5-24.20060715 base 1.7 M

  • elmarverde% ./configure --enable-multibyte --with-features=huge --disable-selinux
  • elmarverde% make
  • elmarverde% sudo make install
  • elmarverde% which vim

/usr/local/bin/vim

  • elmarverde% vim --version
  • elmarverde% alias vi='vim'
  • elmarverde% which vi

alias vi='vim'
/usr/local/bin/vim

  • elmarverde% sudo vi /etc/bashrc
    • 最終行に以下を追記

alias vi='vim'

  • elmarverde% rm -f vim-7.3.tar.bz2
  • elmarverde% rm -f vim-7.2-lang.tar.gz
  • elmarverde% rm -f vim-7.2-extra.tar.gz
  • elmarverde% cd
  • elmarverde% vim .vimrc

"syntax コントロール
:syntax on
"カラースキーマの設定
:colorscheme elflord
"文字コードの設定
:set encoding=utf-8
:set termencoding=utf-8
:set fileencoding=utf-8
"インクリメンタルサーチを使わない
:set noincsearch
"タイトルをウインドウ枠に表示する
:set title
"行番号を表示しない
:set nonumber
"ルーラーを表示
:set ruler
"閉じ括弧が入力されたとき、対応する括弧を表示する
:set showmatch
"タブ文字(CTRL-I)、行末($)など不可視文字を表示する
:set list
"Listモードに使われる文字を設定する

set listchars=tab
>-,extends:<,trail:-,eol:

"最下へのステータス行表示設定(0:非表示 1:ウィンドウ数2以上時表示 2:常表示)
:set laststatus=2
"検索結果文字列のハイライトを有効にする
:set hlsearch
"全角スペースの表示
:highlight ZenkakuSpace cterm=underline ctermfg=lightblue guibg=darkgray
:match ZenkakuSpace / /
"タブの代わりに空白文字を挿入する
:set expandtab
"タブが対応する空白の数
:set tabstop=4
"タブやバックスペース使用等の編集操作時に、タブが対応する空白数
:set softtabstop=4
"インデントの各段階に使われる空白の数
:set shiftwidth=4

  • 参考
    • tab 設定

インデントに関係するオプションは 'tabstop'、'shiftwidth'、'softtabstop' の3つ
これらのうち 'softtabstop' はvimオリジナルのオプション
cindent や autoindent 時に挿入されるタブの幅は 'shiftwidth' を採用
各オプションの意味は下記のとおり


'tabstop' (短縮名'ts')
ファイル中の文字(キャラクターコード9)を、画面上の見た目で何文字分に展開するかを指定
既にあるファイルをどのように表示するのか指定したい時に便利


'shiftwidth' (短縮名 'sw')
vimが挿入するインデント('cindent')やシフトオペレータ(>>や<<)で挿入/削除されるインデントの幅を、画面上の見た目で何文字分なのか指定
自動的に挿入される量という感じ


'softtabstop' (短縮名'sts')
キーボードでキーを押した時に挿入される空白の量
'softtabstop' が 0以外の時には、例え'ts'を10に設定していても、を1度押しても 'softtabstop' 分だけ空白が挿入される
逆に 'softtabstop' が 0の場合には挿入されるのは 'ts' で指定した量となる


vimが自動的に挿入したかキーによって挿入された空白は、'ts'に設定された幅でTab文字へと自動的に置き換えられる ('expandtab' が設定されていない場合)
特に意識しなくても良いかも。


Tabを4文字 or 8文字で表示させたい場合は以下の設定
:set ts=4 sw=4 sts=0
or
:set ts=8 sw=4 sts=4