1. Home
  2. Archive
  3. ちょっと便利なvimのTips

ちょっと便利なvimのTips

vimのTipsをいくつか紹介してみます。vim使い始めて半年くらいたつけど全然使いこなせてないなー。使いこなしたいー。

選択した部分を検索

ビジュアルモード選択した部分を*で検索できる。これはかなり便利です。

vnoremap * "zy:let @/ = @z<CR>n

ディレクトリ自動移動

.vimrcにこれを書いておくと開いたファイルのディレクトリがカレントディレクトリに変わります。

au BufEnter * execute ":lcd " . expand("%:p:h")

空行を削除する

これでできるかと思ったけど消えなかったorz

:%s/^$//g

これでおk

:g/^$/d

選択範囲の全行に文字列追加

ブロック選択モード(C-v)で範囲指定して、Iで挿入モードになって、任意の文字列を入力した後ノーマルモードに戻ると選択した全行に挿入されます。複数行を一気にコメントアウトとかインデントしたいときに便利です。

  1. ブロック選択で行を選択して
    ブロック選択モードで3行の先頭行を選択
  2. Iで入力モードになって文字入力
    入力モードにもどって#を入力
  3. ノーマルモードに戻ると選択範囲に挿入される
    全行の先頭に#が挿入される

文字コードを指定して開き直す

文字化けしたときは文字コード変更して読み込み直しましょう。

:e ++enc=euc-jp

この辺とかも色々試してみたけど、たまにUTF-8がSJISに認識されて文字化けするのが直らないので、諦めてUTF-8に決め打ちしてます。文字コード判別どうにかしたい。。。

文字コードを変更する

逆に開いてるファイルの文字コードを変更するコマンドはこうです。

:set fenc=euc-jp

コマンドモードでemacs風キーバインドにする

シェルはemacsのキーバインドで使ってるのでこっちのほうがしっくりきます。

cmap <C-f> <Right>
cmap <C-b> <Left>
cmap <C-a> <Home>
cmap <C-e> <End>
cmap <C-d> <Del>
cmap <C-h> <BackSpace>

以上です。もっと便利な使い方をぜひ教えて下さい><

コメントフォーム

※HTMLタグは使用できません。