Vimとは
Vim (Vi IMproved) は、Unix系システムで標準的に利用されるテキストエディタであるViの拡張版です。軽量かつ高速な動作が特徴で、サーバー管理やプログラミングにおいて広く採用されています。
インストール方法
主要なLinuxディストリビューションでは、パッケージマネージャーを使用して簡単にインストールできます。
# Debian / Ubuntu系
sudo apt update && sudo apt install vim
# CentOS / RHEL / Fedora系
sudo dnf install vim-enhanced
# Arch Linux
sudo pacman -S vim
Vimのモード概念
Vimを扱う上で最も重要なのが「モード」の概念です。主に以下の3つのモードを使い分けます。
- ノーマルモード: 起動直後の状態。カーソル移動やテキスト操作のコマンドを受け付けます。
- 挿入モード: テキストを入力する状態。
- コマンドラインモード: 保存や終了などのコマンドを入力する状態。
モードの切り替え
iノーマルモードから挿入モードへ(カーソルの前から入力)Esc挿入モードからノーマルモードへ:ノーマルモードからコマンドラインモードへ
基本的な操作一覧
ファイル操作と終了
| コマンド | 動作 |
|---|---|
:w | ファイルを保存する |
:q | エディタを終了する(変更がない場合) |
:wq | 保存して終了する |
:q! | 保存せずに強制終了する |
カーソル移動
ノーマルモードでの基本的な移動キーです。
h ... 左へ移動
j ... 下へ移動
k ... 上へ移動
l ... 右へ移動
0 ... 行の先頭へ
$ ... 行の末尾へ
gg ... ファイルの先頭行へ
G ... ファイルの最終行へ
編集操作(ヤンク・削除・プット)
- 削除:
ddで行全体を削除(カット)、xで1文字削除。 - コピー (ヤンク):
yyで現在の行をコピー。 - ペースト (プット):
pでカーソルの後に貼り付け、Pで前に貼り付け。
検索と置換
- 検索:
/キーワードで下方向へ検索、?キーワードで上方向へ検索。nで次の結果へ移動。 - 置換:
:s/置換前/置換後/gで現在の行を置換。
設定ファイル (.vimrc) のカスタマイズ
Vimの挙動はホームディレクトリにある ~/.vimrc ファイルで設定します。以下は、開発作業において有用な基本的な設定例です。
" 表示設定
set number " 行番号を表示
set cursorline " 現在行をハイライト
set showcmd " 入力中のコマンドを表示
" インデント設定
set tabstop=4 " タブを表示する幅
set shiftwidth=4 " 自動インデントの幅
set expandtab " タブをスペースに変換
set autoindent " 自動インデントを有効化
" 検索設定
set incsearch " インクリメンタルサーチを有効化
set hlsearch " 検索結果をハイライト
set ignorecase " 大文字小文字を区別しない
" エンコーディング設定
set encoding=utf-8
プラグインによる拡張
Vimの機能はプラグインで拡張可能です。ここでは、定番のプラグインマネージャーである Vundle の導入方法と、推奨プラグインの設定例を示します。
Vundleのインストール
Gitを使用してVundleをインストールします。
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
.vimrcへの設定追記
.vimrc の先頭に以下を追記し、プラグイン管理の準備をします。
set nocompatible
filetype off
" Vundleのパスを設定
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" ここに利用したいプラグインを記述
Plugin 'VundleVim/Vundle.vim'
Plugin 'scrooloose/nerdtree' " ファイルエクスプローラ
Plugin 'vim-airline/vim-airline' " ステータスバーの視覚強化
call vundle#end()
filetype plugin indent on
設定後、Vimを開いて :PluginInstall コマンドを実行すると、記述したプラグインがインストールされます。
有用なリソース
- Vim公式ドキュメント (
:helpコマンドでも閲覧可能) - オンライン学習ツール: Vim Adventures, OpenVim