| 
				   | 
				
| 43行目: | 
43行目: | 
 | 
  |  | 
  | 
 | ==プラグイン==  |  | ==プラグイン==  | 
 | vimプラグインを使えば「軽量なデフォルトvim」をベースに「自分好みのIDE」にしていける。
  |  | vimプラグインを使えば「軽量なデフォルトvim」をベースに「自分好みのIDE」にしていける。軽量なまま。  | 
 | 
  |  | 
  | 
 |   # GPTおすすめのプラグイン  |  |   # GPTおすすめのプラグイン  | 
		2025年3月10日 (月) 21:38時点における版
Vi IMproved
天才ビル・ジョイが自身のプログラミング作業のために作ったエディタ。港の管理運営のために必須。
初期設定
ChatCWIが教えてくれた設定。
# vim .vimrc
" ========== 基本設定 ==========                                                                                                                                                         
set number          " 行番号を表示
set cursorline      " カーソル行をハイライト
set showcmd         " 入力中のコマンドを表示
set wildmenu        " コマンド補完を強化
set ruler           " ステータスラインにカーソル位置を表示
set laststatus=2    " ステータスラインを常に表示
" ========== タブ・インデント ==========
set tabstop=4       " タブ幅を4スペース
set shiftwidth=4    " 自動インデントも4スペース
set expandtab       " タブをスペースに変換
set autoindent      " 自動インデントを有効化
" ========== 検索設定 ==========
set hlsearch        " 検索結果をハイライト
set incsearch       " 入力と同時に検索
set ignorecase      " 検索時に大文字小文字を無視
set smartcase       " 大文字を含めたら区別
" ========== 表示設定 ==========
set nowrap          " テキストの折り返しを無効化
set background=dark " ダークテーマ用の配色
syntax enable       " シンタックスハイライトを有効化
colorscheme desert  " カラースキーム default でもOK
" ========== 便利なキーマッピング ==========
inoremap jj <Esc>   " jj で ESC にする(素早く抜けられる)
let mapleader = " "   " スペースキーをリーダーキーに設定
nnoremap <leader>s :w<CR>    " スペース + s で保存
nnoremap <leader>q :q<CR>    " スペース + q で終了
プラグイン
vimプラグインを使えば「軽量なデフォルトvim」をベースに「自分好みのIDE」にしていける。軽量なまま。
# GPTおすすめのプラグイン
1. fzf.vim(超高速ファイル・単語検索)
2. vim-airline(軽量なステータスバー)
3. nerdtree(ファイルエクスプローラー)
4. vim-gitgutter(git 連携)
環境とシェル
| コマンド
 | 
説明
 | 
:set | 
現在セッションのオプションを表示
 | 
:set shiftwidth=4 | 
インデントシフトの初期値
 | 
:set autoindent  | 
自動インデントモード
 | 
:set hlsearch | 
検索時のハイライト表示をオン
 | 
:set wrap | 
長文を折り返す
 | 
:set showmatch | 
()や{}の対応表示をオン
 | 
:set list | 
タグや空白などの見えない文字が確認できる
 | 
:set all | 
全てのオプションを表示
 | 
:sh, ^D | 
シェルを起動、終了
 | 
:!command | 
コマンドを実行
 | 
:n,m!command | 
n行目から m行目まで command でフィルタ処理
 | 
:r !date | 
日時情報がカレント行に書き込まれる
 | 
起動とファイル操作
| コマンド
 | 
説明
 | 
vi file1 file2 file3 | 
file1とfile2をオープン
 | 
:r file1 | 
現在行直下にfile1を全てコピー
 | 
:5r file1 | 
5行目にfile1を全てコピー
 | 
:w! newfile | 
書き込み権限がない場合の一時しのぎ
 | 
画面分割
| コマンド
 | 
説明
 | 
^w s, :sp file
 | 
(split) file を横分割で開く
 | 
^w v, :vs file
 | 
(Verticle Split) file を縦分割で開く
 | 
^w o, :on | 
(only) 編集中ファイル以外を全て閉じる
 | 
^w q
 | 
現在のウィンドウを閉じる
 | 
^w + j/k/l/h
 | 
下/上/右/左のウィンドウに移動
 | 
^w + [+/-]
 | 
ウィンドウの横軸を1行広げる/縮める
 | 
^w + [3>/3<]
 | 
ウィンドウの縦軸を3つ広げる/縮める
 | 
:ar | 
起動中のファイルをリスト表示
 | 
:n | 
(next) 次のファイルへ移動
 | 
:rew | 
先頭のファイルへ移動
 | 
:last | 
最後のファイルへ移動
 | 
:e file2 | 
file2を編集する
 | 
:e#, Ctrl + ^ | 
直前のファイル編集へ戻る
 | 
テキスト移動
| コマンド
 | 
説明
 | 
h, j, k, l
 | 
左、下、上、右
 | 
w, W, b, B
 | 
前、後の単語(大文字は大きいジャンプ)
 | 
e, E
 | 
単語の末尾(大文字は大きいジャンプ)
 | 
), (
 | 
次、前の文章へ
 | 
}, {
 | 
次、前の空行で区切られたブロックへ
 | 
%
 | 
括弧移動
 | 
行移動
| コマンド
 | 
説明
 | 
[Enter]
 | 
次の行
 | 
0, ^, $
 | 
カレント行の先頭、文字先頭、末尾
 | 
+
 | 
下の行の文字先頭
 | 
-
 | 
上の行の文字先頭
 | 
H
 | 
(Head) 画面の最上行
 | 
M
 | 
(Middle) 画面の中央行
 | 
L
 | 
(Lass) 画面の最下行
 | 
nH, nL
 | 
上、下から n行目
 | 
z[Enter]
 | 
カーソル位置を画面の一番上に
 | 
z.
 | 
カーソル位置を画面中央に
 | 
z-
 | 
カーソル位置を画面の一番下に
 | 
スクロール
| コマンド
 | 
説明
 | 
Ctrl + y, Ctrl + e
 | 
1行ずつ上、下にスクロール
 | 
Ctrl + u, Ctrl + d
 | 
半画面ずつ上、下にスクロール
 | 
Ctrl + b, Ctrl + f
 | 
1画面ずつ上、下にスクロール
 | 
検索
| コマンド
 | 
説明
 | 
tx
 | 
カレント行内でカーソルより後方にある x の直前にジャンプ
 | 
Tx
 | 
カレント行内でカーソルより前方にある x の直前にジャンプ
 | 
fx
 | 
カレント行内でカーソルより後方にある x にジャンプ
 | 
Fx
 | 
カレント行内でカーソルより前方にある x にジャンプ
 | 
;, ,
 | 
カレント行の文字検索を前方、後方に繰り返す
 | 
/pattern
 | 
前方にパターンを検索
 | 
?pattern
 | 
後方にパターンを検索
 | 
*
 | 
カーソル上のテキストを検索
 | 
n, N
 | 
直近の検索を前方、後方に繰り返す
 | 
置換
| コマンド
 | 
説明
 | 
:s/old/new/
 | 
カレント行の最初の old を new に置換
 | 
:s/old/new/g
 | 
カレント行の全ての old を new に置換
 | 
:5s/old/new/g
 | 
5行目の全ての old を new に置換
 | 
:23,44s/old/new/g
 | 
23~44行目内の全ての old を new に置換
 | 
:%s/old/new/, :1,$s/old/new/
 | 
ファイル全ての old を new に置換
 | 
:%s/old/new/c
 | 
ファイル全ての old を逐一確認しながら new に変換
 | 
:%s/\(That\) or \(this\)/\2 or \1/
 | 
ホールドバッファ1,2によりthis or That と置換
 | 
~
 | 
大文字/小文字に変換
 | 
パターンマッチング(正規表現)による高度な置換は『vi入門83~107p』を確認
ジャンプ
| コマンド
 | 
説明
 | 
Ctrl + G
 | 
ファイル名、状態、カレント行番号の表示
 | 
gg
 | 
ファイル先頭にジャンプ
 | 
G
 | 
ファイル末尾にジャンプ
 | 
23G, :23
 | 
23行目にジャンプ
 | 
mx
 | 
現在位置を x でマーク
 | 
'x
 | 
x がある行の先頭にジャンプ
 | 
`x
 | 
x にジャンプ
 | 
挿入と変更
| コマンド
 | 
説明
 | 
i, a | 
カーソルの前、後にテキストを挿入
 | 
I, A | 
行の先頭、末尾にテキストを挿入
 | 
O, o | 
カーソルの上、下にテキストを挿入
 | 
s, S | 
1文字、カレント行をテキストに変更
 | 
r | 
一文字変更
 | 
cw | 
単語変更
 | 
cc | 
カレント行を変更
 | 
c + [motion] | 
モーションで指定した場所までを変更
 | 
c + nG | 
カレント行からn行目までを変更
 | 
C | 
行末まで変更
 | 
R | 
重ね書き
 | 
10i#- | 
#- の組み合わせを10回入力。Vim によるテキスト編集はプログラミング
 | 
Ctrl + t | 
(挿入モード)右にインデント
 | 
Ctrl + d | 
(挿入モード)左にインデント
 | 
>> | 
右にインデント
 | 
3<< | 
3行まとめて左にインデント
 | 
:5,10 << | 
5~10行まとめて右に2インデント
 | 
削除とヤンク
| コマンド
 | 
説明
 | 
^w, ^u
 | 
入力中の単語を削除。入力中の行を削除
 | 
x, X
 | 
文字を前方、後方に削除
 | 
dw
 | 
単語を直後の空白とセットで削除
 | 
de
 | 
単語のみを削除
 | 
dd
 | 
カレント行を削除
 | 
D
 | 
行末までを削除
 | 
d + [motion]
 | 
モーションで指定した場所までを削除
 | 
d + 7G
 | 
カレント行から7行目までを削除
 | 
%d
 | 
全て削除
 | 
yw
 | 
単語のヤンク
 | 
yy, Y
 | 
カレント行のヤンク
 | 
y + [motion]
 | 
モーションで指定した場所までをヤンク
 | 
y + 7G
 | 
カレント行から7行目までをヤンク
 | 
P, p
 | 
削除、ヤンクしたテキストをカーソルの前、後にペースト
 | 
レジスタの活用
| コマンド
 | 
説明
 | 
:reg
 | 
レジスタ一覧
 | 
"a5Y
 | 
レジスタa にカレント行から5行を登録
 | 
"AY
 | 
レジスタa にカレント行を追記
 | 
"bp
 | 
レジスタb の内容をペースト
 | 
^r + a
 | 
(挿入モードで)レジスタa をペースト
 | 
^r +
 | 
(挿入モードで)クリップボードをペースト
 | 
Exモードの活用
| コマンド
 | 
説明
 | 
%, 1,$
 | 
ファイル内全ての行
 | 
0, ., $
 | 
ファイルの先頭、カレント行、最終行
 | 
x-n
 | 
xのn行前
 | 
x+n
 | 
xのn行後
 | 
Q
 | 
exエディタを起動
 | 
:vi
 | 
viモードへ戻る
 | 
:3,5d
 | 
3行目〜5行目を削除
 | 
:.,$d
 | 
カレント行からファイル最終行までを削除
 | 
:3,5m0
 | 
3行目〜5行目をファイル先頭に移動
 | 
:3,5m10
 | 
3行目〜5行目を10行目に移動
 | 
:13i → text → . | 
13行目に text を挿入
 | 
:12c → text → .
 | 
(change) 12行目を text で置き換える
 | 
その他
| コマンド
 | 
説明
 | 
.
 | 
直近の編集コマンドの繰り返し
 | 
v, V
 | 
文字、行の選択
 | 
ggVG
 | 
ファイル内全てを選択
 | 
u, U
 | 
アンドゥ、カレント行の復元
 | 
Ctrl + r
 | 
リドゥ
 | 
J
 | 
2行の連結
 | 
:ab
 | 
ab に登録されている略語の一覧
 | 
:ab IBM International Business Machines
 | 
IBM を入力すると勝手に正式名称を展開してくれる
 | 
:unab
 | 
ab に登録されている略語を解除
 | 
保存と終了
| コマンド
 | 
説明
 | 
ESC, Ctrl + [
 | 
挿入モードへ
 | 
:e!
 | 
一番最初の状態へ戻す
 | 
:w, :w!, :wa
 | 
保存、強制的に保存、オープンしているファイルを全て保存
 | 
:3,5w newfile
 | 
3〜5行目を newfile として保存
 | 
:3,5w>>file
 | 
3〜5行目を file に追記
 | 
ZZ
 | 
保存して終了
 | 
:q, :q!
 | 
終了、変更を破棄して終了
 |