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

おしい県でWebに携わって働く人のブログ

基本的にはIT&Web界隈に関する役に立ちそうなことをまとめていきます。

「vim」というエディタについて勉強したのでメモ。(ドットインストール)

毎度毎度お世話になっている「ドットインストール」さんで「vim入門」を勉強したので、備忘録としてメモしておきます。 

 

f:id:lord_cashew:20130207233238p:plain

 

 あくまでも個人的備忘録なメモなので、とっても見にくくて意味不明かもしれませんが、あしからずご了承下さい。

 

vim入門の勉強メモ 

ノーマルモード
入力モード(i)→ESC
コマンドモード(:)→ESC
ビュジュアルモード(v)→ESC 選択モード


// ファイルの保存・読み込み(コマンドモード)
:w 上書き保存
:w ***.php 名前をつけて保存
:q 終了
:q! 変更を無視して終了
:e ***.php 別のファイルを開く


// 移動系コマンド(ノーマルモード)
gg 一番上の行へ
G 一番下の行へ

CTRL+f 画面移動
CTRL+b 画面戻る

w 単語単位で移動
b 単語単位で戻る

^ 行頭に移動
$ 行末に移動
f+文字 文字までジャンプ、「;」で次の文字までジャンプ
% かっこの上で「%」入力→対応するかっこまで移動


// 選択系コマンド(ビジュアルモード)
v 文字単位のビジュアルモード・選択
V 行単位のビジュアルモード・選択
CTRL+v 矩形単位のビジュアルモード・選択
全選択 gg V G


// カット(削除)、コピー、貼付け(ノーマルモード)
x 1文字カット(削除)
dd 1行カット(削除)
5dd 5行カット(削除)
p 貼付け
yy コピー
3yy 3行コピー


// 検索(ノーマルモード)
/+文字  
n 下方向に検索
N 上方向に検索
* 今カーソルがある位置の単語を上検索(完全一致)
# 今カーソルがある位置の単語を下検索(完全一致)


// 置換(ノーマルモード)
:s/置換する文字/置換後の文字/
:s/i/I/g カーソルがある行を一気に置換)
:%s/i/I/g 全てを一気に置換 
:%s/i/I/gc 全てを一気に置換(一つずつ確認)


// undo u 元に戻す(何度でも戻れる)
// redo CTRL+r (undoを元に戻す)


// ウィンドウ分割(コマンドモード)
:sp 縦に並べて分割
CTRL+w w ウィンドウ間の移動
:vs 横に並べて分割
:close ウィンドウを閉じる


// タブ(コマンドモード)
:tabnew 新しいタブを作る
:tabe ***.php ファイルを指定して開く

gt タブ間を移動

:tabclose タブを閉じる

vimを起動する時にタブを開く
vim -p ***.php ***.php タブ2つ開く

:tabdo %s/html/HTML/g 全てのタブで置換


// 直前の動作を繰り返す
.(ピリオド)


// インデントを揃える
=(イコール)
gg V G =(全選択してイコール)


// 補完機能
CTRL+n(長い変数名など、入力途中に「CTRL+n」と入力すると補完) 


// 矩形選択後に編集
CTRL+v(矩形選択)→ I(挿入モード)→ 文字入力 →ESC(全て編集される)
CTRL+v(矩形選択)→ x (削除)


// テキストオブジェクト(ノーマルモード)
// 文書の構造を見てオブジェクトとして扱う
c/d/y change (delete & insert)
i/a 中身か全体か
t/"/}"] tagなど


// 設定(コマンドモード)
:set number (行番号を表示)
:set nonumber (行番号を非表示)
:syntax on (コードを色分け)
:syntax off (色分け終了)
:set tabstop=8 (タブの文字数を規定)
:set ignorecase (検索の時に大文字・小文字の区分けしない)
:set noignorecase (小文字だけに戻す)

 

最後に

「vim」はサーバー関連で設定ファイルを編集する時などに使っていたのですが、 実は普通にコーディングできるエディタだったんですねー。(←素朴に感動)

これで今後はビビらずにサーバーの設定が行なえます(笑)