LoginSignup
1
0

More than 5 years have passed since last update.

vim(ビム)入門編

Last updated at Posted at 2016-11-30

定番といえば
vimかemacsですね。
私の場合はvimなのでこちらを扱っていきます。

vimの起動、終了、保存など

起動 vim
終了 :q
保存 :w
名前を付けて保存 :w ファイル名
強制終了 :q!
他のファイルを開く :e ファイル名

vimチュートリアル

$ vimtutor

vimのモード

そのまま ノーマルモードから
i insert(入力モード)
: コマンドモード
v ViSUALモード(選択モード)
各モードからノーマルモードに戻る時はESCキーを押す

ノーマルモードで移動を使う

gg 先頭に戻る
G 一番最後の行
control+f 一画面下
control+b 一画面上
単語単位で
w 前に進む
b 後ろに進む

^ 行頭に
$ 行末に
f 文字 その行の指定された文字にカーソル移動 その次に;を押すと次の文字(検索文字)に移動
かっこの上で%で対応するカッコ末に移動

ビジュアルモード

ノーマルモードからvを押す 文字単位で選択
ノーマルモードからVを押す 行単位で選択
ノーマルモードからCTL+v ブロック選択 びっくり

応用
すべての内容を選択
gg
shift+v
G

カット、コピー、ペイスト

x 一文字カット
dd 行カット
数字+dd 数字分行をカット
p (ペイスト)貼り付け
yy(ヤンク)コピー 数字指定すればその分コピー

検索

ノーマルモード
/文字列 下方向n 上方向N
*下検索 #上検索 今カーソルがある位置の単語を検索

置換

コマンドモードで
:s/state/State/ 指定した文字列を変換(一箇所)

:s/i/I/g 行内の指定文字列を全て変換

:%s/i/I/g ファイル内の指定文字列を変換

:%s/i/I/gc ファイル内の指定文字列を確認しながら変換

操作の取り消し

UNDO処理 u 取り消し
REDO処理 CTL+r UNDO処理の取り消し

ウィンドウの分割

:sp (スプリット) 上下分割
上下移動は CTL+w w

:vs (ブイスプリット) 左右分割

いらないウィンドウは :close

タブを使う

ノーマルモード上で :tabnew
指定したファイルは新しいタブで開く :tabe ファウル名

タブ間の移動はgt(go to next tab)
タブを閉じる :tabclose
タブを初めから使う場合 vim -p ファイル名1 ファイル名2
全てのタブで置換
:tabdo %s/html/HTML/g

直前の操作を繰り返す

. 直前の操作を実行

インデントを揃えよう

インデントが崩れているときに便利
行単位で選択できる

gg SHIFT+v SHIFT+g =

補完機能

INSERT中に 文字列途中 ctrl+n

矩形(ブロック)選択後の編集

ノーマルモード ctl+v shift+i or x 矩形の指定部分をいっぺんに編集

テキストオブジェクト

htmlタグや""の中身を編集するのに便利
ノーマルモード c i t
c/d/y change(delete & insert)
i/a 中身or全体
t/"/)/}/] タグ

便利な設定

コマンドモード
:set number 行番号
:set nonumber
:syntax on コードの色分け
:syntax off
:set tabstop=4 タブが4
:set ignorecase 大文字小文字両方検索
:set noignorecase

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0