定番といえば
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