Linux/vimメモ
提供: 初心者エンジニアの簡易メモ
目次
保存
:wで書き込み :qで保存せず終了 :q!で保存せずに強制終了 aで編集 escでエスケープ
移動
上下左右
k,j,h,l
画面上,下
ctrl+u, ctrl+d
uはup, dはdown
最終行
G
先頭行
gg
次の単語
w
前の単語
b
一つ戻る
U
行末移動
$
最前行移動
^
shift+左右
単語ごとに、左右に移動できる。
行数表示
:set nu
行数非表示
:set nonu
検索
/[word] 後方検索 ?[word] 前方検索 n 続けて検索 N 続けて前を検索
複数業削除
2dd 2行削除 4dd 4行削除
〜で囲まれたワードを削除
di' で囲まれた文字列をカット di( ()で囲まれた・・・ diw ワードをカット
ウィンドウ系
横分割
:sp (:split
縦分割
:vs (:vsplit
新規横分割
:new test.txt
ウィンドウ間移動
:ctrl+w w
vi中に別コマンド実行
:!ls
vimカスタマイズ
$ vim ~/.vimrc
"色を付ける syntax on "tab可視化 set list set listchars=tab:>-,trail:-,extends:>,precedes:<,nbsp:% "eol:↲, "tab = 4space set tabstop=4 "phpコードフォーマット確認(phpをvimで開いて:makeでチェック autocmd filetype php :set makeprg=php\ -l\ % autocmd filetype php :set errorformat=%m\ in\ %f\ on\ line\ %l "ルーラーをつける set ruler "ステータスをつける set laststatus=2 "tab shift+v > set shiftwidth=4 "コメントを薄青 colorscheme ron
vimphp補完
mkdir -p ~/.vim/dictionary cd ~/.vim/dictionary wget http://www.vim.org/scripts/download_script.php?src_id=2367 mv download* php.dict
$ vim ~/.vimrc
"phpコード補完 autocmd FileType php :set dictionary=~/.vim/dictionary/php.dict set complete+=k
ctrl+n または ctrl+p で補完
複数行タブ挿入
shift+vで行を選択後、>>
- タブ2こ分挿入されるので、以下のようにすると良い
$ vim ~/.vimrc "tab shift+v > set shiftwidth=4
複数行文字挿入
- shift+vで行を選択後
- shift+gで最終行へ
- shift+lで挿入モードにして
- 文字入力
- esc
テキスト置換
:%s/hoge/piyo/g :63,79s/hoge/piyo/g #範囲行指定
現在場所からの置換
:,$s/hoge/piyo/g
viで^Mを表示する方法
$ vi ~/.vimrc :edit ++ff=unix
^Mを削除
%s/^M//g
^Mは、Control+VとControl+Mで、入力する