マニュアル: Vim

投稿日: 更新日:

インストール

CentOSではデフォルトでsyntax on未対応のため、 vim-enhancedを入れる必要がある。

デフォルト(vim-minimal)は、Small版になっている。

/usr/bin/vi --version | grep -e Huge -e Small -e Normal
Small version without GUI.  Features included (+) or not (-):

vim-enhancedは、Huge版になっている。

/usr/bin/vim --version | grep -e Huge -e Small -e Normal
Huge 版 without GUI.  機能の一覧 有効(+)/無効(-)

キーバインド

ファイル名は補完可能です。

  • 次の単語: w
  • 前の単語: b
  • 行末まで削除: D
  • Undo: u
  • Redo: Ctrl + r
  • ファイルオープン: :e <ファイル名>
    • :eのようにファイル名を指定しないと、現在のファイルを再読込します1
  • ファイルを読み込んで挿入: :r <ファイル名>
  • インデント解除: Ctrl + D
  • ウィンドウ分割: :sp(:split)
    • ウィンドウ移動(上下左右): Ctrl + w + hjkl
    • 次のウィンドウに移動: Ctrl + w + w
  • 折りたたみ
    • 折りたたみの開閉: za
  • 検索: /, ?
    • 特殊文字をそのまま検索したい場合は\Vから始めるとよい2

書式指定

以下のようにする。例えば、SQLの場合。

:set syntax=sql

ファイルのエンコーディングを変更

Shift-JIS(MS932)のファイルを開く場合は以下のようにする。

:e ++enc=cp932

改行を変更して保存

:set ff=unix
:w

クリップボードの中身をそのままペーストする

デフォルトだとインデントされてしまうので、ペーストモードにする。

:set paste

set_pasteを自動で設定したい

検索したが複雑な模様。

a!やi!を使うことで自動でペーストモードになるらしい。

現在ロードされているプラグインを表示する方法

:scriptnamesコマンドを打つ3

.vimrcの書き方

  • コメント: "(ダブルクォート)を使用してください。閉じる必要はありません。

ファイル名補完

デフォルトでは、最初にマッチしたファイルを補完しますが、 この挙動はbashと違っているため、使いづらいです。

.vimrcに以下の設定を入れることで、bashと同じような挙動になります。

set wildmode=longest,list

Vundleによるプラグイン管理

Quick Startより。

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

vimに入って以下のコマンドを打ちます。

:PluginInstall

.vimの設定

必要なのは以下の行のようです。

  • 先頭の2行(requiredと書かれている)
  • call vundle#begin()
  • Plugin 'VundleVim/Vundle.vim' (requiredと書かれている)
  • call vundle#end()
  • filetype plugin indent on もしくは filetype plugin on
set nocompatible
filetype off

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'

" All of your Plugins must be added before the following line
call vundle#end()            " required

外部サイト