「プログラミングを本格的に始めたい」
「コマンドラインでの作業効率を上げたい」
「Linux環境と同じエディタをWindowsでも使いたい」
そんな思いをお持ちではありませんか?
Vim は世界中のプログラマーやシステム管理者に愛用されている高機能なテキストエディタです。
最初は独特の操作に戸惑うかもしれませんが、慣れると驚くほど高速で効率的な編集作業ができるようになります。
この記事では、Windows環境でVimを始める方法から、実用的な活用法まで、初心者の方にもわかりやすく解説します。
Vimの基本知識

Vimとは
Vim(ヴィム)は「Vi Improved」の略で、Unix系システムで広く使われているテキストエディタ「vi」を拡張・改良したエディタです。
Vimの特徴
- キーボード中心の操作:マウスを使わずに高速編集
- モード型エディタ:入力モードとコマンドモードを切り替えて使用
- 豊富なコマンド:テキスト操作のためのコマンドが充実
- 高いカスタマイズ性:設定ファイルやプラグインで機能拡張
- 軽量で高速:大きなファイルも快適に編集可能
なぜVimを選ぶのか
学習するメリット
- 効率的な編集作業:慣れると通常のエディタより圧倒的に高速
- サーバー作業での必須スキル:Linux環境では標準装備
- クロスプラットフォーム:Windows、Mac、Linux で同じ操作
- プログラミング向け機能:シンタックスハイライト、コード補完
- 職業的価値:IT業界では重要なスキルとして評価される
他のエディタとの違い
- Visual Studio Code:GUI中心、プラグイン豊富
- Notepad++:Windows専用、シンプル
- Vim:コマンドライン、学習コストは高いが効率は最高
モード型エディタの概念
Vimは複数の「モード」を持つエディタです。これが初心者には難しく感じる部分ですが、理解すると強力な武器になります。
主要なモード
- ノーマルモード:コマンド入力やカーソル移動
- インサートモード:文字の入力・編集
- ビジュアルモード:テキストの選択
- コマンドラインモード:ファイル操作や設定
Windows環境でのVimインストール

インストール方法の比較
方法 | 難易度 | メリット | デメリット |
---|---|---|---|
公式インストーラー | 簡単 | 確実、初心者向け | 手動更新が必要 |
パッケージマネージャー | 普通 | 自動更新、複数ツール管理 | 初期設定が必要 |
WSL経由 | やや難しい | Linux環境と同じ | Windows統合が制限的 |
方法1:公式インストーラーでのインストール(推奨)
手順
- 公式サイトにアクセス
- ブラウザで「vim.org」と検索
- 「Download」ページに移動
- Windows版のダウンロード
- 「PC: MS-DOS and MS-Windows」セクションを確認
- 最新の「gvim##.exe」ファイルをダウンロード
- 例:gvim90.exe(バージョン9.0の場合)
- インストール実行
- ダウンロードしたファイルをダブルクリック
- UAC(ユーザーアカウント制御)で「はい」をクリック
- セットアップウィザードの指示に従う
- インストールオプションの選択
- Full installationを選択(推奨)
- デスクトップアイコンの作成:チェック推奨
- スタートメニューへの追加:チェック推奨
- インストールの確認
- コマンドプロンプトで「vim –version」を実行
- バージョン情報が表示されれば成功
方法2:Chocolateyを使ったインストール
Chocolateyとは Windows用のパッケージマネージャーで、コマンドラインからソフトウェアを簡単にインストール・管理できます。
事前準備:Chocolateyのインストール
- PowerShellを管理者として起動
- 「スタート」を右クリック→「Windows PowerShell(管理者)」
- Chocolateyのインストール
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
- インストールの確認
choco --version
Vimのインストール
# Vimのインストール
choco install vim
# インストール確認
vim --version
方法3:WSL(Windows Subsystem for Linux)でのインストール
WSLとは Windows上でLinux環境を動かすことができる機能です。
手順
- WSLの有効化
- 「設定」→「アプリ」→「オプション機能」→「その他のWindows機能」
- 「Windows Subsystem for Linux」をチェックして再起動
- Linuxディストリビューションのインストール
- Microsoft StoreでUbuntuをインストール
- Vimのインストール
sudo apt update sudo apt install vim
Vimの基本操作

起動と終了
Vimの起動方法
# 新規ファイルの作成
vim
# 既存ファイルを開く
vim filename.txt
# 複数ファイルを開く
vim file1.txt file2.txt
# 特定の行番号から開始
vim +10 filename.txt
Vimの終了方法
コマンド | 動作 | 使用場面 |
---|---|---|
:q | 保存せずに終了 | 変更がない場合 |
:q! | 変更を破棄して強制終了 | 変更を取り消したい場合 |
:w | 保存(終了しない) | 途中で保存したい場合 |
:wq | 保存して終了 | 作業完了時 |
:x | 保存して終了(:wqと同じ) | 短縮コマンド |
ZZ | 保存して終了(さらに短縮) | 素早く終了したい場合 |
モードの切り替え
ノーマルモードからインサートモードへ
キー | 動作 | 説明 |
---|---|---|
i | カーソル位置から入力開始 | 最も基本的な入力方法 |
a | カーソルの後ろから入力開始 | append(追加)の意味 |
o | 下に新しい行を作成して入力 | 新しい行での入力 |
O | 上に新しい行を作成して入力 | 上への新しい行 |
I | 行の先頭から入力開始 | 行頭での入力 |
A | 行の末尾から入力開始 | 行末での入力 |
インサートモードからノーマルモードへ
- Escキー:最も一般的な方法
- Ctrl + C:Escキーの代替(一部設定で微妙に動作が異なる)
基本的なカーソル移動
文字単位の移動
キー | 動作 | 覚え方 |
---|---|---|
h | 左 | left(左)の意味 |
j | 下 | down(下)の意味 |
k | 上 | up(上)の意味 |
l | 右 | right(右)の意味 |
単語単位の移動
キー | 動作 | 説明 |
---|---|---|
w | 次の単語の先頭 | word(単語)の意味 |
b | 前の単語の先頭 | backward(後ろ)の意味 |
e | 単語の末尾 | end(末尾)の意味 |
行単位の移動
キー | 動作 | 説明 |
---|---|---|
0 | 行の先頭 | 数字の0 |
^ | 行の最初の非空白文字 | 行の実質的な開始 |
$ | 行の末尾 | 正規表現の行末記号 |
ページ単位の移動
キー | 動作 | 説明 |
---|---|---|
gg | ファイルの先頭 | go to top |
G | ファイルの末尾 | go to end |
Ctrl + f | 1ページ下 | forward |
Ctrl + b | 1ページ上 | backward |
基本的な編集操作
削除・切り取り
コマンド | 動作 | 説明 |
---|---|---|
x | カーソル位置の文字を削除 | 1文字削除 |
dd | 行全体を削除 | delete line |
dw | 単語を削除 | delete word |
d$ | カーソル位置から行末まで削除 | delete to end |
d0 | カーソル位置から行頭まで削除 | delete to beginning |
コピー・貼り付け
コマンド | 動作 | 説明 |
---|---|---|
yy | 行全体をコピー | yank line |
yw | 単語をコピー | yank word |
y$ | カーソル位置から行末までコピー | yank to end |
p | カーソル位置の後に貼り付け | paste |
P | カーソル位置の前に貼り付け | paste before |
元に戻す・やり直し
コマンド | 動作 | 説明 |
---|---|---|
u | 元に戻す | undo |
Ctrl + r | やり直し | redo |
U | 行全体の変更を元に戻す | undo line |
検索と置換
基本的な検索
# 前方検索(下向き)
/検索文字列
# 後方検索(上向き)
?検索文字列
# 次の検索結果に移動
n
# 前の検索結果に移動
N
置換操作
# 現在行の最初のマッチを置換
:s/置換前/置換後/
# 現在行のすべてのマッチを置換
:s/置換前/置換後/g
# ファイル全体のすべてのマッチを置換
:%s/置換前/置換後/g
# 確認しながら置換
:%s/置換前/置換後/gc
Vimの設定とカスタマイズ

.vimrcファイルの作成
.vimrcとは Vimの設定ファイルで、起動時に自動的に読み込まれます。
Windowsでの.vimrcの場所
C:\Users\[ユーザー名]\_vimrc
基本的な設定例
" 行番号を表示
set number
" 相対行番号を表示(現在行からの相対位置)
set relativenumber
" シンタックスハイライトを有効化
syntax on
" 自動インデントを有効化
set autoindent
set smartindent
" タブ設定
set tabstop=4 " タブ文字の表示幅
set shiftwidth=4 " 自動インデントの幅
set expandtab " タブ文字をスペースに変換
" 検索設定
set hlsearch " 検索結果をハイライト
set incsearch " インクリメンタル検索
set ignorecase " 大文字小文字を無視
set smartcase " 大文字が含まれる場合は区別
" 見た目の設定
set cursorline " カーソル行をハイライト
set ruler " カーソル位置を表示
set showcmd " 入力中のコマンドを表示
" エンコーディング設定
set encoding=utf-8
set fileencoding=utf-8
" バックアップファイルを作らない
set nobackup
set noswapfile
" クリップボード連携(Windows)
set clipboard=unnamed
" マウス操作を有効化
set mouse=a
色設定とテーマ
カラースキームの変更
" ダークテーマ
colorscheme slate
" ライトテーマ
colorscheme morning
" 人気のテーマ(要インストール)
colorscheme solarized
colorscheme gruvbox
256色対応
set t_Co=256
キーマッピングのカスタマイズ
基本的なキーマッピング
" Escキーの代替(jj で Escと同じ動作)
inoremap jj <Esc>
" 保存のショートカット
nnoremap <C-s> :w<CR>
" コピー・ペーストのショートカット
vnoremap <C-c> "+y
nnoremap <C-v> "+p
" 行の移動を画面行基準にする
nnoremap j gj
nnoremap k gk
" ウィンドウ分割時の移動
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l
プラグインシステムの活用

プラグインマネージャーの導入
vim-plug(推奨)
" .vimrcに追加
call plug#begin('~/.vim/plugged')
" プラグインをここに記述
call plug#end()
インストール手順
- vim-plugのダウンロード
- .vimrcへの設定記述
:PlugInstall
コマンドでインストール
おすすめプラグイン
ファイル管理
" NERDTree - ファイルツリー表示
Plug 'preservim/nerdtree'
" 使用方法
:NERDTreeToggle
ファジーファインダー
" fzf - 高速ファイル検索
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
" 使用方法
:Files " ファイル検索
:Rg pattern " テキスト検索
ステータスライン
" vim-airline - 美しいステータスバー
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Git統合
" vim-fugitive - Git操作
Plug 'tpope/vim-fugitive'
" 使用方法
:Git status
:Git add %
:Git commit
コード補完
" coc.nvim - 言語サーバープロトコル対応
Plug 'neoclide/coc.nvim', {'branch': 'release'}
プラグインの設定例
NERDTreeの設定
" .vimrcに追加
" NERDTreeのトグル
nnoremap <C-n> :NERDTreeToggle<CR>
" ファイルが指定されていない場合、NERDTreeを開く
autocmd vimenter * if !argc() | NERDTree | endif
" NERDTreeのみが残った場合、Vimを終了
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
Windows特有の機能と設定

GVim(GUI版Vim)の活用
GVimの特徴
- グラフィカルユーザーインターフェース
- マウス操作に対応
- メニューバーとツールバー
- フォント設定が簡単
GVim固有の設定
" .gvimrcファイル(GVim専用設定)
set guifont=Consolas:h12 " フォント設定
set columns=120 " ウィンドウ幅
set lines=40 " ウィンドウ高さ
set guioptions-=T " ツールバーを非表示
set guioptions-=m " メニューバーを非表示
Windows Terminalとの統合
Windows Terminalでの利用
// Windows Terminalの設定(settings.json)
{
"name": "Vim",
"commandline": "vim",
"icon": "vim.ico"
}
PowerShellでのエイリアス設定
# PowerShellのプロファイルに追加
Set-Alias vi vim
Set-Alias notepad vim
ファイル関連付け
レジストリ編集でのファイル関連付け
# .txtファイルをVimで開く設定
reg add "HKEY_CLASSES_ROOT\txtfile\shell\Edit with Vim\command" /ve /d "\"C:\Program Files (x86)\Vim\vim90\gvim.exe\" \"%%1\""
実践的な使用例
プログラミングでの活用
Python開発環境の設定
" Python用設定
autocmd FileType python setlocal tabstop=4 shiftwidth=4 expandtab
autocmd FileType python setlocal foldmethod=indent
" Python実行のキーマッピング
autocmd FileType python nnoremap <F5> :!python %<CR>
Web開発での設定
" HTML/CSS/JavaScript用設定
autocmd FileType html,css,javascript setlocal tabstop=2 shiftwidth=2 expandtab
" HTMLタグの自動補完
autocmd FileType html inoremap </ </<C-X><C-O>
システム管理での活用
設定ファイル編集
" 設定ファイル用のシンタックスハイライト
autocmd BufRead,BufNewFile *.conf setfiletype conf
autocmd BufRead,BufNewFile *.log setfiletype messages
ログファイルの解析
" ログファイル用の設定
autocmd FileType messages setlocal nowrap
autocmd FileType messages setlocal number
" タイムスタンプでの検索
/\d\{4\}-\d\{2\}-\d\{2\}
トラブルシューティング

よくある問題と解決方法
日本語文字化け
" .vimrcに追加
set encoding=utf-8
set fileencodings=utf-8,euc-jp,sjis,cp932
Escキーが効かない
" 代替キーマッピング
inoremap jj <Esc>
inoremap <C-c> <Esc>
クリップボードが使えない
" Windows用クリップボード設定
set clipboard=unnamed
" レジスタ経由でのコピー・ペースト
"+y " システムクリップボードにコピー
"+p " システムクリップボードから貼り付け
ファイルが保存できない
- 管理者権限が必要なファイルの場合
:w !sudo tee %
(Unix系の場合)- Windowsでは管理者として起動
パフォーマンス最適化
起動速度の改善
" 起動時間計測
vim --startuptime startup.log
" プラグインの遅延読み込み
Plug 'preservim/nerdtree', { 'on': 'NERDTreeToggle' }
大きなファイルの対応
" 大きなファイル用の設定
autocmd BufReadPre * if getfsize(expand("%")) > 10000000 | syntax off | endif
まとめ
Windows でVim を始めることは、エディタスキルの大幅な向上をもたらします。
学習のポイント
- 段階的な習得:基本操作から始めて徐々に高度な機能へ
- 継続的な練習:毎日少しずつでも触れることが重要
- 設定の蓄積:.vimrcを育てて自分専用の環境を構築
- コミュニティ活用:わからないことは積極的に質問
長期的なメリット
- 他のエディタでもVimキーバインドが使える(VS Code、IntelliJ など)
- サーバー管理での必須スキル
- 生産性の大幅な向上
- キーボード中心の作業スタイル確立
コメント