#contents;
set number
set title
set tabstop=4find . -type f -not -regex '\./\.git.*' -print | xargs cat | wc -l
set showmatch
set noautoindent
set nowrap
set listchars=tab:>-
set list
highlight Comment ctermfg=DarkRed
set encoding=utf-8
set fileencodings=ucs-bom,iso-2022-jp-3,iso-2022-jp,eucjp-ms,euc-jisx0213,euc-jp,sjis,cp932,utf-8
| b | 前の単語にカーソルを移動 |
| w | 次の単語にカーソルを移動 |
| ctrl + f | 一画面分進める |
| ctrl + b | 一画面分戻る |
| i | カーソルの前に入力 |
| a | カーソルの後に入力 |
| I | カーソルを行頭に移動し、その直前に入力 |
| A | カーソルを行末に移動し、その直後に入力 |
| o | カーソル行の下に空行を作成し入力 |
| O | カーソル行の上に空行を作成し入力 |
| .[Enter] | 直前のコマンドの中止(UNDO) |
| u(小文字) | 直前に実行したコマンドの取り消し ↑と同じかな?(要調査) |
| U(大文字) | カーソル行に行った変更を全て取り消す |
| 0(zero) | 行頭に移動 |
| $ | 行末に移動 |
| M | 画面の中央行に移動 |
| (行末で) 大文字 J | 改行の削除 |
| ~(にょろ) | 大文字小文字変換 |
| :e![Enter] | ファイルの読み直し (保存前の変更を全て取り消す) |
| yy | カーソル行をコピー |
| 10yy | カーソル行から10行をコピー |
| a10yy | カーソル行から10行を コピーバッファ[a-z]にコピー |
| D (D$) | カーソルから行末までを削除 (D$ と書いても同じ) |
| d0 | 行頭からカーソルまでのを削除 |
| dd | カーソル行を削除 |
| dG | カーソルからファイルの最後までを全て削除 |
| p(小文字) | カーソル行の下に ペースト |
| P(大文字) | カーソル行の上に ペースト |
| ctrl + v | ビジュアルモード 矩形選択 |
| "aP(大文字) | カーソル行の上に バッファー[a-z]をペースト |
| :%s/置換前/置換後/[Enter] | カーソル付近の一文字置換 |
| :%s/置換前/置換後/g[Enter] | 文書全体の一括置換 |
| :g/^$/d | 空行の削除 |
| B,Es/置換前/置換後/g[Enter] | B行目〜E行目までの一括置換 |
| C | カーソルから右を削除して入力モードに遷移 |
| :noh | 検索によるハイライトを消す |
| :!(UNIX コマンド) | コマンドの実行 |
| :r(ファイル名) | カレント行にファイルを読み込む |
| :r!(UNIX コマンド) | コマンド実行結果をカレント行に貼り付ける |
| mx(x はアルファベット) | マーク |
| ‘x(x はアルファベット) | ジャンプ |
| set listchars=tab:>- | tab の可視化 |
| set list |
| ls | バッファーリストの表示 |
| b数字 | N番目のバッファーに切り替え |
| bn | 次のバッファーに切り替え |
| bp | 前のバッファーに切り替え |
| badd | 追加でファイルをバッファーに読み込み |
| :ccl[ose] | QuickFixウィンドウを閉じる |
- 起動時の設定 (ルートディレクトリの .exrc ファイル)
- 日本語の文字コードを自動判別
set encoding=utf-8
set fileencodings=ucs-bom,iso-2022-jp-3,iso-2022-jp,eucjp-ms,euc-jisx0213,euc-jp,sjis,cp932,utf-8
- 文字コードを変更して保存
| set fileencoding=文字コード | set fenc(短縮形) |
| set fileencoding=euc-jp | エンコーディングEUC-JPに変更 |
| set fileencoding=shift_jis | エンコーディングSHIFT_JISに変更 |
| set fileencoding=utf-8 | エンコーディングUTF-8に変更 |
- 改行コードを変更して保存
| set fileformat=ファイルフォーマットの種類 | set ff(短縮形) |
| set fileformat=dos | 改行をWindowsの形式に変更 |
| set fileformat=mac | 改行をMacの形式に変更 |
| set fileformat=unix | 改行をUnixの形式に変更 |
- vi を使いやすくするため、 半角/全角キーも ESC に割り当てる (for Ubuntu 12.04)
- vi を使いやすくするため、 半角/全角キーも ESC に割り当てる (for Ubuntu 14.04)
- Xmodmap によるキーマップの変更は Ubuntu 14.04 では使えなかった。
- ここを参考に xkb でキーマップを変更する
- vi で編集中に誤って ctrl-z で抜けてしまった時の対処 ---- ctrl-z は処理を終了せず中断させた状態
- 中断中のジョブを確認するのは、jobs コマンドです。
- 中断したジョブを再開させるのは、fg コマンドです。
- 中断したジョブを強制終了させるには、kill コマンドです。
- 中断中のまま強制終了したり、ウィンドウを閉じてしまうと viが編集中状態を保持していますので vi -r でリカバリが必要
- vimgrep の使い方
- :vim(grep) 検索文字 *.txt |cw
- Quickfix window との行き来 = ctrl+w
vi の強制保存(sudo を付けずに起動した時に後から sudo する方法)†
- Vimのコマンドで「:w」とする代わりに、「:w !sudo tee % > /dev/null」
- vim-plug は vim のプラグインを管理するソフトウエアで Ubuntu repo には無いので github から直接設定する。
- 今回は vim の中で latex をコンパイルする環境を [vimtex:]]