内容へ移動
Cat Paw Software
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
•
s2jdbc
vim
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== vim ====== ===== プラグイン ===== ''~/.vim/plugin''に入れるだけ * [[http://www.vim.org/scripts/script.php?script_id=1567|rails.vim]] - Rails用のプラグイン * [[http://www.vim.org/scripts/script.php?script_id=922|svncommand.vim]] - SVNを操作する * [[http://www.vim.org/scripts/script.php?script_id=13|closetag.vim]] - HTML/XMLタグを閉じる * [[http://www.vim.org/scripts/script.php?script_id=2419|quickrun.vim]] - その場で実行する * unite.vim - ファイルを簡単に開くなど * tagbar.vim - コードのアウトラインを作成し、見出しジャンプ vbaやvmbのプラグインはファイルは開いて :so % でインストールできる ==== プラグイン管理 ==== プラグインを個別にインストールせずに、vundle.vim や neobundle.vim を使って管理するのが今時なやり方。 <code> $ mkdir .vim $ cd .vim $ git init $ git submodule add git://github.com/gmarik/vundle.git $ git submodule init $ git submodule update </code> さらに ~/.vim/vimrc というファイルを作り、ln -s .vim/vimrc .vimrc のようにして使えば vimrc もgit管理下に置けるので良いかも ===== vimrc ===== Mac の vim のデフォルト設定は非常に寂しいので色々設定してやる。ホームディレクトリに''.vimrc''を作って以下の記述 <code vim> " ライン番号を表示 set number " タブ幅制御 set tabstop=4 set softtabstop=4 set shiftwidth=4 " タブをスペースで入力(タブを入力する時はCtrl-v tab) set expandtab=on " 単語途中で折り返しせず、ホワイトスペースで折り返しする set linebreak " 折り返し表示しない set nowrap " ステータス行の表示 set laststatus=2 " シンタックスハイライト syntax on " ファイルタイプ別の設定 filetype on filetype indent on filetype plugin on " 検索結果をハイライト set hlsearch " インラインモードでCtrl Spaceを押したらノーマルモードに戻る imap <C-space> <ESC> " ノーマルモードでCtrl a、Ctrl eで行頭、行末へ移動 "nmap <C-a> 0 "nmap <C-e> $ " 行頭、行末への移動をシェルと同じに map <C-a> <Home> map <C-e> <End> " CJK記号の幅を調整 set ambiwidth=double </code> 色々設定があるので試して自分好みに改良してみるがよろし。以下の設定は環境によって最初から有効になってる場合もある <code vim> " 一番下まで検索したら最初の検索結果に戻る set wrapscan " インサートモード時にバックスペースで空行を削除できる set backspace=2 </code> ===== インデント制御 ===== <html> <dl> <dt>autoindent</dt> <dd>改行したときにインデントを前の行と同じにする。</dd> <dt>smartindent</dt> <dd>C言語風のインデントを自動的に行うが、C言語系の場合はcindentを使うのが良い。CSSの編集に相性が良い</dd> <dt>cindent</dt> <dd>smartindentより高度なC言語風のインデントを自動的に行う。C言語はもちろんJava等のC風シンタックスの言語に有効。</dd> </dl> </html> ただし各言語用のindent定義が最初から入っているので上の設定は不要 filetype on filetype plugin on filetype indent on としておく ===== ファイルタイプ別の設定 ===== 例えばvimrcでインデントがスペース4つ分のタブに設定されているが、rubyファイルを編集する時はインデント幅を2スペースにし、タブではなくスペースを使いたいというならば、''~/.vimrc'' に以下を追記 <code> filetype on filetype plugin on </code> ''~/.vim/ftplugin/ruby.vim'' というファイルを作成し、 <code> setlocal expandtab setlocal shiftwidth=2 setlocal tabstop=2 setlocal softtabstop=2 </code> setではなく**setlocal**を使うこと。setでは.vimrcの設定を完全に上書きし、rubyファイルと同時に他の種類のファイルを開くとそちらにも影響してしまう。 ===== コマンドいろいろ ===== ==== ノーマルモード ==== 移動 0 行頭へ ^ 行頭へ(空白無視) $ 行の末尾へ j 一行下へ k 一行上へ h 右へ l 左へ gg ファイルの最初の行へ G ファイルの最後の行へ H 画面最初の行へ L 画面の最後の行へ Ctrl-d 半画面下へ Ctrl-f 1画面下へ Ctrl-u 半画面上へ Ctrl-b 半画面上へ w 次の語までカーソルを移動(W: 空白までを語として扱う) e 次の語の末尾までカーソルを移動(E:同上) b 前の語までカーソル移動(B:同上) 分割画面の移動は Ctrl-w p 画面間の移動 Ctrl-w k 上の画面に移動 Ctrl-w j 下の画面に移動 Ctrl-w l 右の画面に移動 Ctrl-w h 左の画面に移動 サイズ調整は Ctrl-w + 選択中の画面を一行分大きくする Ctrl-w - 選択中の画面を一行分小さくする Ctrl-w = 画面のサイズを同じにする 行内で指定文字まで移動(;で次へ、,で前へ) f文字 範囲指定削除(d:カットのみ、c:カットしてインサートモードに、f:指定文字までカット、t:指定文字の前までカット) df指定文字 cf指定文字 dt指定文字 ct指定文字 繰り返し . カーソルの下の文字列をパスとみなしてファイルを開く gf 戻る場合は Ctrl-o 分割して開く Ctrl-w f タブで開く Ctrl-w gf タブ移動は… gt gT カーソル下の単語を検索 <code>*</code> 次を検索 ; 前回のビジュアルモード選択を再度行う gv 大文字小文字切り替え ~ ==== ビジュアルモード ==== ノーマルモードからビジュアルモードへ移行 v 文字選択モード V 行選択モード gv 再選択 Ctrl-v 矩形選択 > 右シフト < 左シフト ~ 大文字小文字切り替え J 連結 d 削除してノーマルモードに c 削除してインサートモードに y ヤンク = インデント整形 w カーソル位置から右に単語区切りまで選択 iw カーソルの下の単語を選択 aw カーソルの下の単語を選択 b カーソル位置から左に単語区切りまで選択 W vwと同じだが、記号も選択する B vbと同じだが、記号も選択する is 文を選択 as 文を選択 ip パラグラフを選択 ap パラグラフを選択 ib ()内を選択 ab ()を選択 iB {}内を選択 aB {}を選択 it ()内を選択 at ()を選択 ※ iとaの違い、iは後ろの空白を含まない、wは後ろの空白を含む。カッコ選択の場合はカッコを含むかどうか w等の選択方法は、ノーマルモードで削除やヤンクと組み合わせられる d 削除 c 削除してインサートモードへ y ヤンク 例 diw 単語の削除 yw カーソル位置から右単語区切りまでヤンク ==== コマンドモード ==== 今開いているエディタに指定のファイルの中身をコピー :read filename 分割オープン :split filename :vsplit filename 空のページを分割で開く :new :vnew 全部閉じる :qa 自分以外閉じる :on 一時的にシェルへ(exitでviに戻る) :shell :sh コマンド実行 :!cmd 文字コードを指定して再読み込み :e ++enc=utf8 ファイルタイプを指定(シンタックス指定) :set filetype=html タブ・スペースの変換 :retab ここみれ http://tonetsutomu.com/tone/linux/Reference/Vi/ViReference1.htm ===== RSpecを実行する ===== rspec.vimというファイルを作って ~/.vim/plugin/ に設置 <code vim> function RunRspec () :!rspec -cfs % endfunction function RunRspecLine () exe '!rspec -cfs -l ' . line('.') . ' %' endfunction au BufRead,BufNewFile *_spec.rb :command! Rspec :call RunRspec() au BufRead,BufNewFile *_spec.rb :command! Rspecl :call RunRspecLine() function RunSpec () :!spec -cfs % endfunction function RunSpecLine () exe '!spec -cfs -l ' . line('.') . ' %' endfunction au BufRead,BufNewFile *_spec.rb :command! Spec :call RunSpec() au BufRead,BufNewFile *_spec.rb :command! Specl :call RunSpecLine() </code> :Rspecで今開いているRSpecファイルを全体を、:Rspeclで現在カーソルのある行を含むテストケースをRSpec2で実行する。RSpec1を実行したい場合は、:Spec、:Specl
vim.txt
· 最終更新: 2019/07/25 05:06 by
nullpon
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ