Vim インストール
- Site : http://www.vim.org/
- Vim Souce : ftp://ftp.vim.org/pub/vim/unix
- Extra Souce : ftp://ftp.vim.org/pub/vim/extra
- MacBook% ssh -i .ssh/ssh.key elmarverde@サーバ
- elmarverde% mkdir src
- elmarverde% cd src
- elmarverde% wget ftp://anonymous@ftp.vim.org/pub/vim/unix/vim-7.3.tar.bz2
[sudo] password for elmarverde:
- elmarverde% wget ftp://anonymous@ftp.vim.org/pub/vim/extra/vim-7.2-extra.tar.gz
- elmarverde% wget ftp://anonymous@ftp.vim.org/pub/vim/extra/vim-7.2-lang.tar.gz
- elmarverde% tar jxvf vim-7.3.tar.bz2
- elmarverde% mv vim73 vim72
- elmarverde% tar zxvf vim-7.2-extra.tar.gz
- elmarverde% tar zxvf vim-7.2-lang.tar.gz
- elmarverde% mv vim72 vim73
- elmarverde% cd vim73
- elmarverde% sudo mkdir patches
- elmarverde% cd patches/
- elmarverde% sudo curl -O ftp://ftp.vim.org/pub/vim/patches/7.3/7.3.[001-011]
- elmarverde% cd ..
- elmarverde% cat patches/7.3.* | patch -p0
- elmarverde% ./configure --enable-multibyte --with-features=huge --disable-selinux
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% 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