読者です 読者をやめる 読者になる 読者になる

c-bata web

@c_bata_ のメモ。python多め

Vimの使い方,設定,プラグインのメモ

Macソフトウェア導入 Vim

そろそろVimにもだいぶ慣れてきたので一度設定やプラグインをメモ。

目次


vimrcについて

vimrcは,vimの設定ファイルです。Mac OS Xでは/usr/share/vim/vimrc,CentOSでは/etc/vimrcにあります。 全ユーザーに適用させたいならこのファイルを直接編集すればいいけど,通常は~/.vimrcを作成してそこに設定を記述するのが一般的らしい。

基本的なカスタマイズ

僕の場合はvimrcには↓のような設定をしてます。

" 行番号の表示
set number
" 色付け
syntax on
" タブをスペース4つ分の大きさにする
set tabstop=4
set shiftwidth=4
" インデントを自動で合わせてくれる
set autoindent
" ~.swpファイルを作らない
set noswapfile
" レジスタではなくクリップボードを使用
set clipboard=unnamed,autoselect

Python用のカスタマイズ

Pythonでのインデントは,タブではなく半角スペース4個が推奨されているので,vimrcに↓を記述することで,タブをスペースに変換しています。 普段Pythonの開発は,Vagrantで作成した仮想マシン上で行っているのでそちらのvimrcにだけ↓の設定を追加しています。

set expandtab


プラグイン

vimを使い出して半年ぐらいになりましたが,やっとプラグインを使い始めました。あまり複雑な設定をするのは好きではないので,避けてきたのですが↓のプラグインがとても便利そうなので入れてみました。

quickrun.vimとvimproc

quickrun.vimは,vimから直接プログラムの実行を行えるプラグイン。さらにvimprocというプラグインを入れると,プログラムの実行を別プロセスで行なうことが出来ます。 つまりquickrun.vimでコンパイルや実行中はvimの操作ができなくなってしまうので,vimprocを使ってプロセスを分けるということ。

Zen-Coding for Vim

HTML/XMLCSSを高速入力するためのテクニック/プラグイン。


vimの基本的な操作方法

vimを勉強し始めた時に使っていた自分用のメモを一応載せておきます。たくさんあるように見えるけど使ってたら案外すぐに覚えられた。

保存,終了

  • :w:上書き保存 スペースファイル名で名前を付けて保存
  • :q:終了
  • :q!:変更点を無視して終了
  • :e ファイル名:ほかのファイルを開く

操作の取り消し

  • u:undo 戻る
  • CTRL+r:redu 進む

移動

  • gg:先頭に戻る
  • G:一番最後に戻る
  • CTRL+f,CTRL+b:一ページ進む、一ページ戻る
  • w,b:単語単位で進む、戻る
  • ^,$:行頭、行末に飛ぶ
  • f:fを押した後に文字を押すと、その文字まで飛ぶ。但し、同じ行の中だけ。   ;を押すとさらに次の文字に移動
  • %:括弧の上で%を押すと対応する括弧まで飛ぶ

選択

  • v:vを押すとカーソルの移動により文字単位で選択
  • V:行単位で選択
  • CTRL+v:矩形選択
  • gg V G:全選択(行頭に戻って行単位で選択の後一番最後にジャンプ)

カット(削除)、コピー、貼付け

  • x:文字単位で消す
  • dd:行を全部消す
  • 3(数字)dd:3(入力した数字)行消す
  • p:カットしたものを貼付け
  • yy:コピー
  • 3(数字)yy:3(入力した数字)行コピー

検索

  • /正規表現:前方検索
  • ?正規表現:後方検索

  • n,N:下方向に検索、上方向に検索

  • *,#:今カーソルがある位置の単語を下方向に検索。上方向に検索     ※完全に一致する単語のみを検索

  • :set ignorecase:検索(/単語)のときに大文字と小文字の区別をしなくてよい

  • :set noignorecase:元に戻す(小文字のみをヒットさせる)

置換(コマンドモード)

  • 一カ所::s/元の単語/置き換えたい単語/
  • 行全体::s/小文字(アルファベット)/大文字/g
  • ファイル全体::%s/元の単語/置き換えたい単語/g
  • ファイル全体を置き換えたいけど、いちいち確認したいとき: :%s/元の単語/置き換えたい単語/gc

ウィンドウの分割

  • :sp:上下に分割htmlとcssを同時に編集できる
  • :vs:左右に分割
  • CTRL+W のあとに w ウィンドウ間を移動
  • :close:ウィンドウを閉じる

インデントを揃える 便利!!

  • =:タブを揃えてくれる(一行単位)
  • gg V G =:ファイル全体のインデントを揃える

テキストオブジェクト

citと押すとカーソルをあわせてあるタグの中身が消える。 しかもそのまま入力モードに移行してくれるので、簡単に書き換えれる。

一番最初の文字は c/d/y :change/delete/insert 真ん中の文字は i/a :タグの中身だけ/全体, 最後の文字は t/"/)/] :tag

この3種類の組み合わせでいろんなことができる。

  • cat:タグ全体を削除して入力モードになる
  • ci":""で囲まれたものの中身を削除して入力モードになる。

矩形選択後の編集

「ctrl+vで縦に一文字矩形選択」→ 「shift+iで挿入モード入れたいものを入力」→ 「ESCキーで戻る」→ 「選択したもの全部に適用される」

消したいときは矩形選択した後xを入力

直前の操作(コマンド)を実行

  • .:直前の操作を繰り返す

タブ

  • :tabnew:新しいタブを開く
  • :tabe ファイル名:指定したファイルを新規タブで開く
  • gt:タブ間を次々移動
  • tabclose:タブを閉じる
  • tabdo %s/元の単語/置き換える単語/gを入力した後enter:全てのタブで置換

※ タブを一気に起動したいときは vim -p ファイル名1 ファイル名2 で起動することによってファイルを同時に複数のタブで開く


MacVim-Kaoriyaについて

TerminalからVimを起動することも多いのですが,MacVimも使ってます。

ちなみにターミナルからも起動できるように~/.bash_profileにPATHを設定。

$ vim ~/.bash_profile
↓を追記
alias gvim="/Applications/MacVim.app/Contents/MacOS/Vim -g"
$ source .bash_profile


カラーテーマ

MacVimのカラーテーマはmolokaiを使っています。

カラースキーマの追加方法

  1. 上記のリンクからmolokai.vimをダウンロード。
  2. ~/.vim/colors/にダウンロードしたmolokai.vimを移動する。
  3. MacVim.app/Contents/Resources/vim/gvimrcの175行目ぐらいにある"colorscheme morning"を外し,morningをmolokaiに書き換え。保存して終了

f:id:nwpct1:20140106214219p:plain

以上でMacVimを起動するとカラーテーマが変更されています。

f:id:nwpct1:20140106214428p:plain

Vimテクニックバイブル ?作業効率をカイゼンする150の技

Vimテクニックバイブル ?作業効率をカイゼンする150の技