!!!参考 https://knowledge.sakura.ad.jp/21687/ http://sp.cei.uec.ac.jp/~yagihara/note/vim.html http://andosho.blog.fc2.com/blog-entry-21.html https://www.atmarkit.co.jp/ait/articles/1106/15/news127.html !!!メモ http://orebibou.com/2015/02/vim%E3%81%A7%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E5%85%88%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92ssh%E3%83%97%E3%83%AD%E3%83%88%E3%82%B3%E3%83%AB%E7%B5%8C%E7%94%B1%E3%81%A7%E7%B7%A8/ vim scp://ユーザ名@リモートホスト(IPアドレス)//編集対象のファイル !!!使い方 !!基本的概念 !!!参考 https://knowledge.sakura.ad.jp/21687/より ,モード,代表的な機能 ,ノーマルモード,カーソル移動、ヤンク(コピー)、貼り付け(プット)、削除など ,挿入モード,入力、貼り付け、入力補完、単語削除など ,ビジュアルモード,コピー、削除、フィルターなど ,コマンドラインモード,保存、終了、文字列置換など {{img vim_mode.jpg}} !!カーソル移動 ,入力,動作 ,h,左へ移動 ,j,下へ移動 ,k,上へ移動 ,l,右へ移動 ,0,行頭へ移動 ,^,行頭へ移動(インデントの後ろに移動) ,$,行末へ移動 ,gg,ファイルの先頭に移動 ,G,ファイルの最後尾に移動 ,数字G,指定行へ移動 ,gj,下へ移動(表示行単位) ,gk,上へ移動(表示行単位) ,ctr+u,半画面分上へ移動 ,ctr+d,半画面分下へ移動 ,ctr+b,1画面分上へ移動 ,ctr+f,1画面分下へ移動 ,w,次の単語の先頭へ移動 ,b,前の単語の先頭へ移動 ,e,次の単語の末尾へ移動 ,ge,前の単語の末尾へ移動 ,W,次の単語(.やカッコを含む)の先頭へ移動 ,B,前の単語(.やカッコを含む)の先頭へ移動 ,E,次の単語(.やカッコを含む)の末尾へ移動 ,gE,前の単語(.やカッコを含む)の末尾へ移動 !!編集 ,入力,動作 ,i,カーソル位置から編集モードへ遷移 ,I,行頭のインデントの後ろから編集モードへ遷移 ,a,カーソル位置の1文字後ろから編集モードへ遷移 ,A,行末から編集モードへ遷移 ,o,次の行を追加してから編集モードへ遷移 ,O,前に行を追加してから編集モードへ遷移 ,x,カーソル位置の文字を削除 ,[数字]dd,カーソル位置から行削除。数字指定されている場合は、指定行数削除 ,[数字]yy,カーソル位置から行コピー。数字指定されている場合は、指定行数コピー ,p,カーソル位置にペースト ,P,カーソル位置の前にペースト !!ファイラ ,入力,動作 ,:e ファイル,指定したファイルを開く。ディレクトリを指定した場合はnetrwでファイル選択。アーカイブファイルやscp等の指定も出来る !!バッファ ,入力,動作 ,:ls,バッファのリストを表示 ,:b [数字またはファイル名],:lsで表示される番号、または指定されたバッファを表示する ,:bd[elete] [数字またはファイル名],表示されているバッファを閉じる。バッファを指定されている場合は、指定されたバッファを閉じる ,:bw [数字またはファイル名],指定したバッファを閉じる !!ウインドウ ,入力,動作 ,:sp[it] [ファイル],水平分割する。ファイルが指定されている場合はそのファイルを開く ,ctrl+w [ctrl+]s,水平分割する。 ,:vsp[it] [ファイル],垂直分割する。ファイルが指定されている場合はそのファイルを開く ,ctrl+w [ctrl+]v,垂直分割する。 ,ctrl+w c,ウインドウを閉じる ,ctrl+w [ctr+]w,次のウインドウへ移動 ,ctrl+w [ctr+]W,前のウインドウへ移動 ,ctrl+w [ctr+]h,左のウインドウへ移動 ,ctrl+w [ctr+]j,下のウインドウへ移動 ,ctrl+w [ctr+]k,上のウインドウへ移動 ,ctrl+w [ctr+]l,右のウインドウへ移動 !!タブ ,入力,動作 ,:tabnew [ファイル],新しくタブを開く ,:tabclose,タブを閉じる ,gt,次のタブへ移動 ,gT,前のタブへ移動 !!コマンドラインモード ,入力,動作 ,:,コマンドのモードに遷移 ,q:,コマンドの履歴表示 !!ビジュアルモード ,入力,動作 ,v,ビジュアルモード(文字単位)へ遷移 ,V,ビジュアルモード(行単位)へ遷移する ,Ctrl+v,ビジュアルモード(矩形)へ遷移する ,y,選択範囲をコピー ,x,選択範囲を削除 ,d,選択範囲を削除 ,":'<,'>s/^\(.*\)$/\/* \1 *\//",選択後の置換の例 !!その他 !検索 ,入力,動作 ,/[文字列],検索 ,?[文字列],検索(逆順) ,*,カーソル位置の単語を検索 ,#,カーソル位置の単語を検索(逆順) ,%,対応するカッコへ移動 ,n,次の検索結果へ移動 ,N,前の検索結果へ移動 ,q/,検索履歴を表示 ,q?,検索履歴を表示(検索を逆順で実行) !置換 ,入力,動作 ,:s/hoge/fuga/,hogeをfugaに置換(カーソル行のみ) ,:%s/hoge/fuga/g,hogeをfugaに置換(ファイル内) ,:%s/hoge/fuga/gc,確認しながらhogeをfugaに置換 ,:10,20s/hoge/fuga/gc,10-20行を確認しながら置換 !矩形編集 矩形選択後に I で編集モード入り、編集後にESCで抜けると矩形編集される !リモート先のファイル編集 :e scp://ユーザ名@ホスト名/ !アーカイブ内のファイル編集 :e ディレクトリ で表示されたアーカイブを選択するとアーカイブ内のファイルを編集できる。また、上記と組み合わせてリモート先のアーカイブも編集できる !!!設定 !!プラグイン プラグインマネージャ等は利用せずに必要なものだけ !DirDiff ディレクトリ比較ができるようになる curl --create-dirs -o ~/.vim/plugin/dirdiff.vim https://raw.githubusercontent.com/will133/vim-dirdiff/master/plugin/dirdiff.vim vim -c "DirDiff test1 test2" !!.vimrc " 行数 set number " Beep音を消す set vb t_vb= " 貼り付け時にコメントを自動的に付加しない autocmd FileType * setlocal formatoptions-=ro " パス補完をbashっぽく set wildmode=list:longest " diff 表示の色を見やすく " highlight DiffAdd cterm=bold ctermfg=10 ctermbg=22 " highlight DiffDelete cterm=bold ctermfg=10 ctermbg=52 " highlight DiffChange cterm=bold ctermfg=10 ctermbg=17 " highlight DiffText cterm=bold ctermfg=10 ctermbg=21 set background=dark highlight DiffAdd cterm=bold ctermbg=22 highlight DiffDelete cterm=bold ctermbg=52 highlight DiffChange cterm=bold ctermbg=94 highlight DiffText cterm=bold ctermbg=21 {{category2 ツール,エディタ}}