この記事は、vimに全然慣れていない人向けの内容です。以下に当てはまる方でしたら、良ければご参照ください。 - 特に vi (vim) とかに興味はない。使い方を極めたいわけではない。
テキストエディター Vim の魅力、使い方のコツを初心者にも分かりやすく伝えていきたいと思います。
ファイル操作で便利な機能やプラグインに頼らなくてもできることなどをまとめていこうと思います。
ciw, ciW テキストオブジェクトを削除して挿入モードになります。
コマンド | 操作 |
f | 行の順方向に一文字検索 |
; | 行の順方向に繰り返し検索 |
F | 行の逆方向に一文字検索 |
, | 行の逆方向に繰り返し検索 |
f その行の順方向に一文字検索 ; 順方向に繰り返し検索 , 逆方向に繰り返し検索
<C-u> 上方向 半画面分 up <C-d> 下方向 半画面分 down
:set scrolloff=3 を ~/.vimrc に書くと、3行余裕を持たせてスクロールするようになる。
水平分割 :split
<c-w>w/<c-w><c-w> 次のウィンドウに移動する w二回で手軽に移動 <c-w>c 現在のウィンドウを閉じる
* カーソル位置の単語を下方向に検索する。/[カーソル位置の単語]と同じ動作。 # カーソル位置の単語を上方向に検索する。?[カーソル位置の単語]と同じ動作。
:vim {pattern} {file} | cw | cw を書くのが面倒くさい場合はvimがQuickfixにフックするためのイベントを用意しているので、それを使うとよい。 autocmd QuickFixCmdPost *grep* cwindow
Normal modeでgdをタイプします。 gdはGo to local Declarationの略です。 これはカーソル下(あるいはカーソル近傍)の変数の宣言位置を検索するコマンドです。
「選択範囲内で検索する」ではなく、「選択した文字列で検索する」というTipです。 1. ヤンクする 2. /を入力する 3. <C-r>を押す 4. ヤンクしたレジスタ名を入力する(yでヤンクした場合は無名レジスタなので"を押せばOK)
mコマンドはマークをつけるコマンド。「ここから、あそこまで」ができるようになる。 1、カット(もしくはヤンク)したい範囲の開始の位置にカーソルを移動。 2、マークする(mmと入力)。 3、カット(もしくはヤンク)したい範囲の終了の位置にカーソルを移動。 4、d`m でカット、y`m でヤンク(コピー)できる。
:%s/hoge/fuga/gc とすればファイル内すべてのマッチした文字列を確認しながら置換できます
ここでは、知っておくべき、いくつかのエッセンスを取り上げます。
コマンドモードの状態で、Ctrl+r, Ctrl+w って押すとカーソル下の単語が挿入されます。
コマンドモードで、『Ctrl+V』を押してから、『Ctrl+M』を押すと、改行コードの^Mを入力することができました
:a! ペースト エスケープキー
直近のコマンド、検索の単純な再実行であれば、 ↑ 、 ↓ キーによる 履歴機能を使用する方がお手軽です。
このコマンドを使用すると、ファイルを開いてから、あるいは最後にファイルを保存してから、 どれくらいの作業を行ったかの確認ができます。
テキストオブジェクトを一言でいうと『任意の範囲』になります。
shift + v でVISUALモードで行選択 j(下)かk(上)でインデントしたい行を選択 shift + > でインデントされる
" 現在日時を入力 nmap <C-o><C-o> <ESC>i<C-r>=strftime("%Y-%m-%d %H:%M:%S ==========")<CR><CR>
vim . # カレントディレクトリを開く vim hoge/doc # 指定するディレクトリを開く
ディレクトリを開いた状態でiを押すたびに表示が切り替わります。このうちのツリー表示がなかなか便利。
標準のnetrwのファイルツリーでは、若干見づらいので、見た目をls -laコマンドに近づけます。
" グローバルなカレントディレクトリを変更する :cd %:h
より快適なVim × Ruby環境を目指して構築したvim環境について。 0からでも構築できるように整理した。
"カーソルキーで行末/行頭の移動可能に設定 set whichwrap=b,s,[,],<,> "カラーシンタックスを有効にする syntax on
これまでに紹介した基本的な設定項目を利用して、設定ファイルのサンプルを作ってみると以下のようになる。 コピー&ペーストして最初の足がかりとして使ってみるといいだろう。
unite-outline 今開いているファイルの関数リストを出力して,ジャンプできるようにします. texのlabelも拾えるので,寧ろ原稿を書くときに便利です.
fileformats=unix,dos,mac
自分はターミナルの設定を半透明にしていたため、黒背景を前提としているcolorschemeだと、全体的に濃淡の差が少ない見た目になってしまい、 濃淡がはっきりしているschemeがいいのかな、と。
vimエディタにデフォルトで添付しているカラースキーマの一覧です。 これらのカラースキーマは新たに入手する必要はありません。
Vimのコア機能を徹底解説。古くて新しいUnixのエディタVim--このVimのエディタとしてのコア機能をマスターするためのレシピ集。
この記事では、Ruby に特化したプラグイン/設定の紹介をしたいと思います。
定義元を知りたいメソッドにカーソルを合わせて、<CTRL-]>をタイプすると、定義元にジャンプできます。 戻りたい時は、<CTRL-T>をタイプします。スタックを辿って戻っていけます。
Macに標準でインストールされているVimではクリップボード連携が出来ません。ヤンク(y)でコピーしても、メモ帳など他の場所にペーストが出来ないということです。
恥ずかしながらmvim -vというコマンドを初めて知りました。