【簡単】viコマンドの基本操作やオプションを実例付きで丁寧に解説

※本サイトにはプロモーション・広告が含まれています。

(最終更新月:2023年4月)

✔このような方へ向けて書かれた記事となります

「viコマンドって何なの?」

「viコマンドの使い方が知りたい!」

「viコマンドを使った実例が見てみたい」

✔当記事を通じてお伝えすること

  • viコマンドの基本
  • viコマンドの書き方・使い方
  • viコマンドの実例

当記事では、viコマンドについての基本はもちろん、具体的な書き方や使い方、実例まで徹底して解説します。

ぜひ最後までご覧ください。

筆者プロフィール

筆者プロフィールアイコン

【現職】プロダクトマネージャー

【副業】ブログ(月間17万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

viコマンドについての基礎知識

viコマンドについての基礎知識をまずは見ていきましょう。

viコマンドの概要をわかっておけば、コマンドの使い分けなどにも役立ちます。

  • viコマンドとは?
  • viコマンドの概要と歴史
  • viとVim の違いとは?

viコマンドとは?

viは、UnixおよびUnix系オペレーティングシステム上で動作するテキストエディタの一種

コマンドラインから起動するため、GUIのエディタとは異なる操作感覚を持っているのが特徴です。

プログラマーやシステム管理者などがテキストファイルの編集や設定ファイルの編集などに利用されます。

viに備わっている操作モードは複数あり、以下のとおり。

  • ノーマルモード:テキストを移動、削除、コピー、貼り付けなどの編集操作をおこなう
  • 挿入モード:テキストを直接入力できる

ノーマルモードでは、ことができます。一方、挿入モードでは、することができます。

viは、LinuxやUnixシステムに標準でインストールされているため、多くの場合、ユーザーはそのまま利用できます。

viコマンドの概要と歴史

vi (Visual Interface) コマンドは、1976年に Bill Joy によって開発されました。

UNIX 系オペレーティングシステム用のテキストエディターです。

当時のコンピューター環境に合わせて設計されていたため、効率的にテキスト編集ができることが特徴です。

viとVimの違いとは?

Vim (Vi IMproved) は、viコマンドを拡張したテキストエディターです。

Bram Moolenaar によって開発され、viになかった機能を追加して、より強力なテキスト編集機能を提供しています。

多くの Linux ディストリビューションでは、デフォルトで Vim がインストールされており、viコマンドとして利用されています。

viコマンドのインストールと起動

viコマンドのはじめ方について詳しく見ていきます。

以下の順番でご覧ください。

  • インストール方法 (Linux, macOS, Windows)
  • viコマンドの起動方法

インストール方法 (Linux, macOS, Windows)

各OSのインストール方法を見ておきましょう。

  • Windows
  • macOS
  • Linux

Windows

以下の URL からインストーラをダウンロードしてインストールします。

download : vim online

macOS

Homebrew を利用してインストールできます。

brew install vim

Linux

ディストリビューションによっては、デフォルトでインストールされています。

そうでない場合、以下のコマンドでインストールできます。

Ubuntu/Debian

sudo apt install vim

CentOS/Fedora

sudo yum install vim

viコマンドの起動方法

コマンドラインで `vi` または `vim` と入力し、続けて開きたいファイル名を指定しましょう。

vi itc.txt

ファイル名は存在しないものを入力すると、自動で新規ファイルが作られます。

viのモード

viには3つのモードが存在します。

何をしたいのかにより、モードを切り替えて使うのです。

  • コマンドモード
  • インサートモード
  • ビジュアルモード

コマンドモード

vi は起動時にコマンドモードで開始されます。

このモードでは、編集操作やカーソル移動、保存、終了などのコマンドを入力できます。

インサートモード

インサートモードでは、テキストの挿入ができます。

コマンドモードで 、「i」キーを押すとインサートモードに移行します。

インサートモードからコマンドモードに戻るには、「Esc」キーを押します。

ビジュアルモード

ビジュアルモードでは、テキストを選択して操作できます。

コマンドモードで 「v」キーを押すとビジュアルモードに移行します。

選択範囲を変更するには、カーソルキーで移動します。

ビジュアルモードからコマンドモードに戻るには、「Esc」キーを押します。

操作コマンド一覧

以下が操作コマンドの一覧です。

基本操作コマンド
上へ移動k
下へ移動j
左へ移動h
右へ移動l
挿入モードへ移行i
文字の削除x
文字の置換r
行の追加(下)o
行の追加(上)O
行の削除dd
行のコピーyy
ペースト(カーソル位置の後ろ)p
ペースト(カーソル位置の前)P
検索/検索ワード
置換:s/検索ワード/置換ワード/g
保存:w
終了:q
保存して終了:wq
変更なしで強制終了:q!

テキストの編集

テキストの編集についてはこちらです。

テキストの編集コマンド
インデント> or >>
アンインデント< or <<
コメント追加I(コメント記号)
コメント削除x
一括削除(行末まで)D
一括削除(行頭まで)d0
次の単語へ移動w
前の単語へ移動b
行末へ移動$
行頭へ移動0
正規表現検索/正規表現
正規表現置換:s/検索正規表現/置換ワード/g

高度なテクニック

高度なテクニックとして、以下のようなコマンドもあります。

高度なテクニックコマンド
ウィンドウ分割(横):split
ウィンドウ分割(縦):vsplit
ウィンドウ間の移動Ctrl-w h/j/k/l
マクロの記録開始q(任意のアルファベットキー)
マクロの記録終了q
マクロの実行@(記録したアルファベットキー)

設定ファイルとカスタマイズ

設定ファイルとカスタマイズ方法について見ていきましょう。

設定ファイルは毎起動時に必ず読み込まれています

  • vimrc の概要
  • 主要な設定オプション
  • プラグインのインストールと管理

vimrcの概要

.vimrc は Vim の設定ファイルで、ホームディレクトリに配置されます。

vim の振る舞いをカスタマイズすることができるファイルです。

具体的には、以下のようなことが設定できます:

  • キーバインドの変更
  • 色やフォントの変更
  • スクロールの設定
  • タブ、スペース、改行などのテキストフォーマットの設定
  • プラグインの設定や有効化
  • コマンドの設定やエイリアスの作成
  • ファイルタイプごとの設定
  • インデントの設定
  • 折り返し表示の設定
  • 自動保存やバックアップの設定

設定ファイルの変更を反映するためには、Vim を再起動する必要があることも覚えておきましょう。

主要な設定オプション

.vimrcで設定できる項目をご紹介します。

各設定オプションの説明と例を記載しています。

設定オプション説明
syntax enableシンタックスハイライトを有効にするsyntax enable
filetype plugin onファイルタイプごとのプラグインを有効にするfiletype plugin on
set number行番号を表示するset number
set relativenumber相対行番号を表示するset relativenumber
set tabstopタブの幅を設定するset tabstop=4
set softtabstopタブキーで挿入されるスペースの数を設定するset softtabstop=4
set shiftwidthインデントの幅を設定するset shiftwidth=4
set expandtabタブをスペースに変換するset expandtab
set autoindent自動インデントを有効にするset autoindent
set smartindentスマートインデントを有効にするset smartindent
set wrap行の折り返しを有効にするset wrap
set nowrap行の折り返しを無効にするset nowrap
set ignorecase検索時に大文字と小文字の区別を無視するset ignorecase
set smartcase検索時に大文字と小文字の区別を自動で切り替えるset smartcase
set incsearch検索時に逐次検索結果を表示するset incsearch
set hlsearch検索結果をハイライト表示するset hlsearch
set wildmenuコマンドライン補完時にポップアップメニューを表示するset wildmenu
set wildmodeコマンドライン補完の動作を設定するset wildmode=list:longest
set rulerステータスラインに現在の行と列の位置を表示するset ruler
set laststatusステータスラインの表示設定
(0: 非表示, 1: アクティブウィンドウのみ表示, 2: 常に表示)
set laststatus=2
set showcmdコマンド入力中に現在のコマンドを表示するset showcmd
set mouseマウス操作を有効にするset mouse=a
set clipboardクリップボードの設定set clipboard=unnamedplus
set encodingエンコーディングの設定set encoding=utf-8
set fileencodingファイルのエンコーディング設定set fileencoding=utf-8
set backspaceバックスペースキーの動作設定set backspace=indent,eol,start
set background背景色の設定(dark または light)set background=dark
set cursorlineカーソル行をハイライト表示するset cursorline
set scrolloff画面の上下端で何行分スクロールするか設定するset scrolloff=3
set showmatch対応する括弧をハイライト表示するset showmatch
set hidden他のバッファに移動する際に、現在のバッファを自動的に隠すset hidden
set splitbelowウィンドウを下に分割するset splitbelow
set splitrightウィンドウを右に分割するset splitright
set foldmethodフォールディングの方式を設定するset foldmethod=indent
set foldlevelstart起動時のフォールディングレベルを設定するset foldlevelstart=99

プラグインのインストールと管理

プラグイン管理ツールを利用し、.vimrc にプラグインのリポジトリを記述してインストール・管理できます。

ツールには以下のようなものがあります。

  • vim-plug
  • Vundle
  • Pathogen

vim-plugを例として、その使い方を見ていきます。

vim-plugをインストールする

LinuxおよびmacOS

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

Windows(管理者権限で実行)

md ~\vimfiles\autoload $uri = 'https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim' (New-Object Net.WebClient).DownloadFile($uri, $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("~\vimfiles\autoload\plug.vim"))

vimrcにプラグインの設定を追加する

以下の内容を.vimrcに追記します。

プラグインのリポジトリは、Plugコマンドの後にGitHubのリポジトリURLを記述して指定します。

call plug#begin('~/.vim/plugged') 
" ここにプラグインのリポジトリを記述 
Plug 'tpope/vim-sensible' Plug 'scrooloose/nerdtree' call plug#end()

Vimを開いて、プラグインをインストールする

Vimを起動し、以下のコマンドを実行してプラグインをインストールします。

:PlugInstall

プラグインのアップデートと削除

以下のコマンドを実行してプラグインをアップデートします。

:PlugUpdate

プラグインを削除する場合は、まず.vimrcからプラグインのリポジトリを削除し、次のコマンドを実行してください。

:PlugClean

これで、vim-plugを使ってプラグインのインストールと管理ができるようになりました。

必要に応じて、.vimrcにプラグインのリポジトリを追加・削除して、自分に合ったVim環境を構築してください。

viコマンドを使いこなすためのコツ

viコマンドを使いこなすためには以下を心がけましょう。

  • ショートカットキーの練習
  • 便利なコマンドまとめ
  • コミュニティとリソース

ショートカットキーの練習

よく使うコマンドやキー操作を練習し、編集効率を向上させましょう。

こちらに記載しています。

便利なコマンドを覚える

よく使われるコマンドをまとめたチートシートを参照し、操作に慣れていきましょう。

上記に大半のものを載せていますので、参考にしてください。

まとめ:viコマンドはOSに備わっている編集エディタ

この記事では、vi コマンドの基本操作から高度なテクニックまでを解説しました。

練習を重ねることで、テキスト編集の効率が大幅に向上し、日々の作業がスムーズになります。

また、Vim の豊富な機能やプラグインを活用することで、より高度な編集が可能になります。ぜひとも、vi コマンドを使いこなし、作業効率をアップさせましょう。

タイトルとURLをコピーしました