====== vi ====== 主にvimの話 ===== プラグイン ===== ''~/.vim/plugin''に入れるだけ * [[http://www.vim.org/scripts/script.php?script_id=1567|rails.vim - Ruby on Rails plugin]] * [[http://www.vim.org/scripts/script.php?script_id=922|svncommand.vim - Subversion (svn) integration plugin]] ===== vimrc ===== Mac の vim のデフォルト設定は非常に寂しいので色々設定してやる。ホームディレクトリに''.vimrc''を作って以下の記述 " ライン番号を表示 set number " インデント制御 set ai set cindent " タブ幅制御 set tabstop=4 set softtabstop=4 set shiftwidth=4 " タブをスペースで入力(タブを入力する時はCtrl-v tab) set expandtab=on " 折り返しの設定 set nolinebreak set nowrap " ステータス行の表示 set laststatus=2 " シンタックスハイライト syntax on " 検索結果をハイライト set hlsearch " インラインモードでCtrl Spaceを押したらノーマルモードに戻る imap " ノーマルモードでCtrl a、Ctrl eで行頭、行末へ移動 nmap 0 nmap $ " CJK記号の幅を調整 set ambiwidth=double 色々設定があるので試して自分好みに改良してみるがよろし。 ===== ファイルタイプ別の設定 ===== 例えば基本は上記の設定でrubyスクリプトファイルだけインデント幅を2スペースにして、タブ文字をスペースに置き換えたいならば、''~/.vimrc'' に以下を追記 filetype on filetype plugin on ''~/.vim/ftplugin/ruby.vim'' というファイルを作成し、 setlocal expandtab setlocal shiftwidth=2 setlocal tabstop=2 setlocal softtabstop=2 setではなく**setlocal**を使うこと。setでは.vimrcの設定を完全に上書きし、rubyファイルと同時に他の種類のファイルを開くとそちらにも影響してしまう。 ===== コマンドいろいろ ===== 今開いているエディタに指定のファイルの中身をコピー :read filename 分割オープン :split filename :vsplit filename 分割画面の移動は Ctrl-w p 画面間の移動 Ctrl-w k 上の画面に移動 Ctrl-w j 下の画面に移動 Ctrl-w l 右の画面に移動 Ctrl-w h 左の画面に移動 サイズ調整は Ctrl-w + 選択中の画面を一行分大きくする Ctrl-w - 選択中の画面を一行分小さくする Ctrl-w = 画面のサイズを同じにする 一時的にシェルへ(exitでviに戻る) :shell :sh コマンド実行 :!cmd 指定の文字までカット df 指定文字 繰り返し . 文字コードを指定して再読み込み :e ++enc=utf8 ファイルタイプを指定(シンタックス指定) :set filetype=html タブ・スペースの変換 :retab ここみれ http://tonetsutomu.com/tone/linux/Reference/Vi/ViReference1.htm