Vim(ヴィム)を使っていると、「このファイル、全部消して最初から書き直したい」と思うことがあるはずです。
しかし、マウスも使えず、通常のエディタとは違う操作体系に戸惑い、「全削除ってどうやるの?」と困る初心者も少なくありません。
この記事では、Vimでファイル内の全テキストを一気に削除する方法を、初心者向けにわかりやすく解説します。
誤操作によるリスクも防ぐために、安全な使い方もあわせて紹介します。復元方法もしっかり覚えて、安心してVimを使いこなしましょう
基本操作:全テキストを削除する確実な方法

方法1:ggdG コマンド(最も効率的)
最もシンプルで確実な全削除方法です。
コマンドの構成:
コマンド | 意味 | 詳細説明 |
---|---|---|
gg | ファイルの先頭へ移動 | 1行目の最初の文字に移動 |
d | 削除コマンド | 次に指定する範囲を削除 |
G | ファイルの末尾まで | 最後の行まで指定 |
実行手順:
- Escキーを押してノーマルモードに入る
ggdG
と順番にタイプ- ファイル全体が削除される
詳細な動作説明:
実行前の状態:
カーソルがファイルのどこかにある状態
gg: カーソルがファイルの1行目先頭に移動
d: 削除コマンドが待機状態
G: 削除範囲が「現在位置からファイル末尾まで」に確定
→ 全体が削除され、空のファイルになる
方法2:ビジュアルモードでの安全な削除
視覚的に範囲を確認しながら削除できる方法です。
実行手順:
- Escキーでノーマルモードに入る
gg
でファイル先頭に移動V
を押して行単位のビジュアルモードに入るG
でファイル末尾まで選択範囲を拡張d
で選択範囲を削除
この方法の利点:
- 削除範囲が視覚的にハイライト表示される
- 削除前に範囲を確認できる
- 初心者にとって安心感がある
- 操作を途中でキャンセルできる(Escキー)
方法3:コマンドラインモードでの削除
より高度な削除方法です。
基本的な全行削除:
:%d
コマンドの説明:
:
:コマンドラインモードに入る%
:ファイル全体を指定(1,$と同じ意味)d
:削除コマンド
範囲指定での削除例:
:1,$d # 1行目から最後の行まで削除(%dと同じ)
:1,10d # 1行目から10行目まで削除
:5,$d # 5行目から最後まで削除
実践的な使用例とシチュエーション

プログラミングでの実践例
設定ファイルの初期化:
# シナリオ:Nginx設定ファイルを一から作り直す
$ vim /etc/nginx/nginx.conf
# ファイルを開いた後
1. Escキーでノーマルモード
2. ggdG で全削除
3. i でインサートモード
4. 新しい設定を入力
5. :wq で保存して終了
ログファイルのクリア:
# シナリオ:アプリケーションログを定期的にクリア
$ vim /var/log/myapp.log
# 内容確認後、全削除
1. gg で先頭確認
2. G で末尾確認(:set number で行番号表示推奨)
3. ggdG で全削除
4. :w で保存(ファイルは残るが内容は空)
文書作成での実践例
レポートの下書きやり直し:
# シナリオ:論文の構成を大幅変更
1. 現在の内容をざっと確認(gg → G で先頭から末尾へ)
2. V で行選択モード → G で全選択
3. 選択範囲を目視確認
4. d で削除実行
5. 新しい構成で執筆開始
テンプレートファイルの準備:
# シナリオ:毎回使うテンプレートの内容クリア
1. cp template.txt new_document.txt
2. vim new_document.txt
3. :%d でテンプレート内容を全削除
4. i で新しい内容を入力開始
安全対策:誤操作の防止と復旧方法

削除前の予防策
バックアップの作成:
# ファイル編集前のバックアップ作成
cp important_file.txt important_file.txt.backup
# 日時付きバックアップ
cp config.conf config.conf.$(date +%Y%m%d_%H%M%S)
# Vim内でのバックアップ設定
:set backup
:set backupdir=/tmp
読み取り専用での確認:
# 読み取り専用でファイルを開いて内容確認
vim -R filename.txt
# または
view filename.txt
削除したテキストの復旧方法
Undoによる復旧:
コマンド | 機能 | 使用場面 |
---|---|---|
u | 直前の操作を取り消し | 削除を1回取り消したい |
U | 行全体の変更を取り消し | その行の全変更を取り消し |
Ctrl + r | Undoの取り消し(Redo) | Undoしすぎた場合 |
:earlier 1m | 1分前の状態に戻る | 時間指定での復旧 |
:later 30s | 30秒後の状態に進む | 時間指定での進行 |
ヤンクバッファからの復旧:
削除したテキストの復旧手順:
1. p(小文字): カーソル位置の後に貼り付け
2. P(大文字): カーソル位置の前に貼り付け
3. "0p: 最後にヤンクした内容を貼り付け
4. ":reg で レジスタ内容確認
ファイルの再読み込み:
:e! # 保存していない変更を破棄して再読み込み
:w # 現在の状態を保存
:q! # 保存せずに強制終了
:wq # 保存して終了
緊急時の対処法
操作中にパニックになった場合:
1. Escキーを複数回押してノーマルモードに確実に戻る
2. :q! で保存せずに終了(変更を破棄)
3. 再度ファイルを開き直す
意図しない削除をしてしまった場合:
即座に行うべき操作:
1. u キーで Undo(何度でも押せる)
2. :earlier 5m で5分前の状態に戻る
3. :w で現在の状態を保存(必要な場合のみ)
高度な削除テクニック

条件付きの削除
特定パターンの行を削除:
:g/pattern/d # patternを含む行を削除
:g!/pattern/d # patternを含まない行を削除
:g/^$/d # 空行を削除
:g/^#/d # #で始まる行(コメント)を削除
範囲指定での削除:
:10,20d # 10行目から20行目まで削除
:/start/,/end/d # startからendまでの範囲を削除
:1,/pattern/d # 1行目からpatternが見つかる行まで削除
マクロを使った効率的な削除
削除操作のマクロ記録:
1. qa # マクロの記録開始(aレジスタに記録)
2. ggdG # 全削除操作
3. q # マクロ記録終了
4. @a # マクロ実行
5. @@ # 直前のマクロを再実行
複数ファイルでの一括削除:
# 複数ファイルを開いて一括処理
vim file1.txt file2.txt file3.txt
# Vim内で
:bufdo %d | w # 全バッファで全削除して保存
:argdo %d | w # 全引数ファイルで全削除して保存
パフォーマンスと効率性
大きなファイルでの考慮事項
メモリ使用量の最適化:
" 大きなファイル用の設定
:set nobackup
:set noswapfile
:set noundofile
:set lazyredraw
高速な削除のための設定:
" 削除時の表示更新を抑制
:set eventignore=all
:%d
:set eventignore=
作業効率の向上
よく使う削除パターンのキーマッピング:
" .vimrcでの設定例
nnoremap <leader>da ggdG " 全削除
nnoremap <leader>dl dd " 行削除
nnoremap <leader>dw dw # 単語削除
エイリアスでの効率化:
# .bashrcでの設定例
alias vimclear='vim -c "%d" -c "w" -c "q"' # ファイルクリア
alias vimempty='vim -c "%d" -c "w"' # ファイルを空にして保存
トラブルシューティング

よくある問題と解決策
問題1:削除コマンドが効かない
原因と対策:
□ インサートモードになっている → Escでノーマルモード
□ 読み取り専用ファイル → :w! で強制保存
□ ファイルの権限不足 → sudo vim で開き直し
□ Caps Lockが有効 → キーボード設定確認
問題2:Undoが効かない
原因と対策:
□ undolevelsが0に設定 → :set undolevels=1000
□ ファイルを再読み込みした → :earlier で時間指定復旧
□ 別のファイルを開いた → :bn、:bp でバッファ移動確認
問題3:削除後にファイルが見つからない
確認すべきポイント:
□ :pwd で現在のディレクトリ確認
□ :ls で開いているバッファ確認
□ :args で引数ファイル確認
□ ls -la でファイルシステム確認
デバッグとログ確認
操作履歴の確認:
:history # コマンド履歴表示
:history / # 検索履歴表示
:changes # 変更履歴表示
:jumps # ジャンプ履歴表示
まとめ:安全で効率的なVim全削除
推奨される操作手順
初心者向けの安全な手順:
- 事前準備:重要なファイルはバックアップを作成
- 確認作業:ファイル内容をざっと確認(gg → G)
- 削除実行:
V
→G
→d
(視覚確認付き) - 結果確認:削除結果を確認
- 保存判断:
:w
で保存するか:q!
で破棄するか決定
中級者以上向けの効率的な手順:
- 即座削除:
ggdG
で高速全削除 - Undo準備:必要に応じて
u
で復旧可能 - 保存実行:
:w
で確定
コメント