MENU
やすひら
やすひらと申します。
長靴を履いたタヌキ(ITエンジニア)です。
モノ作りの楽しさを発信中。
X(旧Twitter)のフォローもお願いします。

[Linux]vim/viの概要と使い方

vim/viはlinux OSで使用可能なエディタです。
UNIXから標準利用できる歴史のあるコマンドです。
vim/viではテキストファイルを更新することが可能です。

やすひら

vim/viの概要と使用方法を紹介します

この記事でわかること
  • vim/viの概要
  • vim/viの使い方
目次

vimとは

vim(vi/view)とはlinux OSで使用可能なエディタの一つです。
標準で利用でき、あらゆるテキストファイルを編集できます。
プログラミングや設定ファイルの変更なども可能です。

vimではショートカットキーが多いなど、メリットがたくさんあるため、Linux OSを使用している方には利用いただきたいエディタです。

vim/vi/viewの違い

vimは高機能なテキストエディタですが、関連コマンドにvi/viewがあります。
viはvimより古いエディタコマンドです。
viewは読み込み専用で閲覧するモードです。
ディストーションによっては、vi/viewとvimがシンボリックリンクとなっていることがあります。
筆者の環境でもシンボリックリンクでつながっているため、実質vim/viの差はありません。

コマンド実行例

$ ls -ltr /etc/alternatives/vi
lrwxrwxrwx 1 root root 18 Apr 27  2018 /etc/alternatives/vi -> /usr/bin/vim.basic

vimでテキストを操作する

vimでテキストを操作する時は以下のコマンドラインを実行します。

コマンド形式

vim [ファイル名]
vi [ファイル名]
view [ファイル名]

viewは読み取り専用モードです。

vimのインストール

vimをインストールする手順を紹介します。
OSによっては、viのみでvimをインストールされていない場合があるため、vimをインストールしておくことを推奨します。

コマンドライン

sudo apt install vim

コマンド実行例

$ sudo apt install vim
[sudo] password for user: 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  vim-runtime
Suggested packages:
  ctags vim-doc vim-scripts
The following NEW packages will be installed:
  vim vim-runtime
0 upgraded, 2 newly installed, 0 to remove and 6 not upgraded.
Need to get 8493 kB of archives.
After this operation, 37.5 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://ports.ubuntu.com jammy-updates/main arm64 vim-runtime all 2:8.2.3995-1ubuntu2.17 [6827 kB]
Get:2 http://ports.ubuntu.com jammy-updates/main arm64 vim arm64 2:8.2.3995-1ubuntu2.17 [1667 kB]
Fetched 8493 kB in 28s (299 kB/s)                                              
Selecting previously unselected package vim-runtime.
(Reading database ... 229970 files and directories currently installed.)
Preparing to unpack .../vim-runtime_2%3a8.2.3995-1ubuntu2.17_all.deb ...
Adding 'diversion of /usr/share/vim/vim82/doc/help.txt to /usr/share/vim/vim82/d
oc/help.txt.vim-tiny by vim-runtime'
Adding 'diversion of /usr/share/vim/vim82/doc/tags to /usr/share/vim/vim82/doc/t
ags.vim-tiny by vim-runtime'
Unpacking vim-runtime (2:8.2.3995-1ubuntu2.17) ...
Selecting previously unselected package vim.
Preparing to unpack .../vim_2%3a8.2.3995-1ubuntu2.17_arm64.deb ...
Unpacking vim (2:8.2.3995-1ubuntu2.17) ...
Setting up vim-runtime (2:8.2.3995-1ubuntu2.17) ...
Setting up vim (2:8.2.3995-1ubuntu2.17) ...
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vim (vim) in a
uto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vimdiff (vimdi
ff) in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/rvim (rvim) in
 auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/rview (rview) 
in auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/vi (vi) in aut
o mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/view (view) in
 auto mode
update-alternatives: using /usr/bin/vim.basic to provide /usr/bin/ex (ex) in aut
o mode
Processing triggers for man-db (2.10.2-1) ...

vimをインストールします。

vimでできること

vimの代表的な活用方法を紹介します。

vimにはモードという概念があります。
操作する前にモードを選択して操作していきます。

  • コマンドモード
  • 入力モード
  • ビジュアルモード

コマンドモードでは以下のキー入力により操作を行うことが可能です。

  • カーソル操作
  • スクロール
  • 文字操作(編集/削除/コピー/ペースト)
  • 文字検索
  • 文字置換
  • タグジャンプ

vimの操作方法

vimの代表的な操作方法についてご紹介します。

カーソル操作

テキストファイルの編集/閲覧をするに当たり、必要になるのがカーソル操作です。
カーソル操作を行うには、以下のキーを入力します。

キー操作内容
h左へ移動
j下へ移動
k上へ移動
l右へ移動

十字キーでもカーソル移動は可能ですが、カーソル移動する度に十字キーに指を置く必要があり、手の可動域が広くなってしまうので、キーによるカーソル移動が結果的には楽になります。
最初は気持ち悪いかもしれませんが、繰り返す度に慣れていきますので、キーで操作することをお勧めします。

スクロール

スムーズに画面遷移するための操作を紹介いたします。
画面を上下に移動する際、ブラウザではマウスのホイールで操作しますよね。
vimでスクロールを行うには、以下のキーを入力します。

キー操作内容
Ctrl + b上へ1ページスクロール
Ctrl + f下へ1ページスクロール
Ctrl + u上へ半ページスクロール
Ctrl + d下へ半ページスクロール
Ctrl + y上へ1行スクロール
Ctrl + e下へ1行スクロール

文字数が大きなテキストファイルを操作する場合、上下に素早く移動できると作業効率が向上します。
まずは上下のスクロール操作を1つずつ覚えて実践してみることをお勧めします。

コピー/ペースト

文章を執筆するのに重要なのはコピー&ペーストです。
ソースコードを作成するときにも、同じ処理を別の場所に記述したいことは多々あります。
こんな時、必要になる操作を紹介します。

コピーを行うには以下のキーを入力します。

キー操作内容
yy1行コピー
yw1単語コピー

ペーストを行うには以下のキーを入力します。

キー操作内容
pカーソル箇所にペーストする

本記事では代表的なキーを紹介しております。
覚えることで作業効率が向上します。

モード変更

vimで編集する場合、編集モードに変更する必要があります。
閲覧のみの場合は、編集モードを解除してカーソルモードに戻ります。

キー操作内容
i編集モードに変更
Escカーソルモードに戻る

文字削除

テキストを編集している時、誤って記述したものを削除したいのなら以下を入力します。

キー操作内容
dd1行削除
d(行数)行削除(行数は%dで指定)
dw1単語削除

検索

テキストファイル中の文字列を検索したい場合は、以下のコマンドを入力します。

キー操作内容
/(検索文字列)文字列を検索
?(検索文字列)文字列を検索

置換

テキストファイルの文字を置換したい場合は、以下のコマンドを入力します。

キー操作内容
%s/(置換前文字列)/(置換後文字列)/g指定文字を一括置換
%s/(置換前文字列)/(置換後文字列)/c指定文字を確認して置換

保存

エディタでテキストファイルを編集しただけでは保存できません。
保存したい時は以下のコマンドを実行します。

キー操作内容
:wカーソルモードを継続して上書き保存
:w (ファイル名)カーソルモードを継続して別ファイルに保存
:wq上書き保存してvimを終了
:wq (ファイル名)別ファイルに保存してvimを終了

読み込み専用モードでファイルを閲覧している場合は、:w!または:wq!で強制的にファイル保存することが可能です。

vim終了

テキストファイルの操作を終了したい場合は、以下のコマンドを実行します。

キー操作内容
:qvimを終了
:q!vimを強制終了

タグジャンプ

ソースコードを作成したり閲覧したりする際に、関数の中身を確認したい時が多くあります。
そのときに、タグジャンプを利用して関数の中身を見に行くことができます。
タグ情報を作成するために、ctagsコマンドを実行してtagsファイルを作成します。

コマンド実行例

$ ctags -R

tagsファイルが参照可能なディレクトリへ移動してvimを実行してファイルを閲覧することでタグジャンプを実行できます。

キー操作内容
Ctrl + ]関数へタグジャンプ
Ctrl + t呼び出し元へ戻る

vimの設定

vimの設定について紹介します。

日本語表示/入力

vimを日本語で扱いたい場合は、以下の設定が必要な場合があります。

:set encoding=utf-8
:set fileencodings=iso-2022-jp,euc-jp,sjis,utf-8
:set fileformats=unix,dos,mac

ホームディレクトリの.vimrcに日本語設定を行うことで、vimで日本語を扱うことができます。

.vimrcが存在しない場合は、作成する必要があります。

vimのメリット

vimはコマンドによる操作が可能なため、基本的にキーボードのみでテキストファイルを編集可能です。
Linux OSを使用する方はCUIでの操作を好むため、vimによるテキスト操作を好む傾向にあります。
vimは、キーボードのみで操作したいエンジニアにお勧めのエディタです。
vimのメリットを紹介します。

ショートカットが豊富

vimはショートカットキーが多く、慣れれば多様な操作を短時間で作業することが可能です。
単語のみをコピーしたり、行数指定でテキスト削除したりなど、ショートカットキーで細かい操作ができるのも特徴で、他のエディタにはない便利さがあります。

タグジャンプが便利

ソースコードを操作している時に便利なのが、タグジャンプです。
カーソルで指定している関数の呼び出し元にジャンプするというものですが、ソースコードを読んだり書いたりしている際に、対象の関数の操作を確認することがあり、タグジャンプを使用します。
有能なエンジニアでも処理を丸暗記しているわけではないため、その都度確認しながらソースコードを書いていきます。
呼び出し元をいちいち検索していては効率が悪いため、タグジャンプを使用して作業を進めれば、生産性が向上します。

カスタマイズできる

vimは自分好みにカスタムすることが可能です。
vimの設定を変更することで、表示内容等もカスタマイズすることができます。

vimのデメリット

vimのデメリットを紹介します。

導入のハードルが高い

vimはモードという概念があることと、ショートカットキーなどの操作方法を知らないとテキストファイルを操作することができません。
まずは操作方法を知るところから始まるため、Linux初心者は導入するのが難しいことがデメリットです。

まとめ

vimの概要と使い方を紹介しました。

vimは
  • Linuxのエディタ
  • ショートカットキーが多数あり便利
  • 慣れが必要なエディタ

vimはキーボードのみで操作が可能なため、慣れればテキスト操作がスムーズに行えます。
Linux OSでプログラミングを行う際に、vimでテキスト操作を試しに行ってみましょう。
慣れるまでには時間がかかりますが、生産性が上がっていくことでしょう。

  • URLをコピーしました!
目次