【初心者必見】最強エディタVimの使い方/コマンド30種まとめ

eyecatch_template
井上 慎也
書いた人 井上 慎也

こんにちは!インストラクターの井上(@InoIno_iesa)です。

ViおよびVimというテキストエディタ、聞いたことはあっても「なんだか難しそう!」と手を出せなかった人も多いのでは無いでしょうか?

実際、かなり特殊なテキストエディタなので、色々な事を覚えないといけませんし、使い慣れるまでとても時間がかかります。

しかし、高速にテキスト編集が出来るため、もう慣れれば他のテキストエディタを使うことが考えられなくなるでしょう。

今回はそんなVi/Vimの導入方法や、コマンドの使い方を、Vim歴5年の自分が徹底的に紹介していきます。

是非この機会に導入して、高速に編集が行えるVim、使えるようになってみてください。

Vimとは/Viとは

スクリーンショット 2016-06-02 21.25.00

Vim(ビム)とはVi(ブイアイ)という世界でも広く使われているテキストエディタの拡張版です。

そしてViとは、多くのWEBサーバとして広く使われている多くのLinuxOSに標準搭載されている、人気の玄人向けテキストエディタのひとつです。

ViおよびVimには根強いファンがおり、その使用者のことを一般にVimmer(ビマー)と呼びます。

Vimの特徴・メリット

Vimには愛されるテキストエディタとしての特徴があります。

ここでは紹介しきれない様々な特徴がありますが、ここでは代表的なものを順に紹介していきます。

1.コマンドで操作が可能

コマンドを利用することで様々な操作を高速に実施することが可能になります。

主なコマンドは後に紹介しますが、テキストエディタ上の移動・編集・ファイル操作などその殆どを独自のコマンドにて操作して行きます。

特に、「:10+コマンド」のように打ち込めば、その該当のコマンドの操作を10回分行ってくれます。

このような使い方だけでもとても編集スピードが上がることが想像していただけるでしょう。

2.モードを切り替えて操作する

Vim(Vi)にはコマンドモードというもので操作を切り替える事ができ、これによりキーボードから手を離すこと無くほぼ全ての操作が可能になります。

文字の編集や加筆を行う「インサートモード」で文字を編集し、移動や編集コマンドを実行するときには「コマンドモード」に変更するといった具合です。

もちろんこの「モード切り替え用のコマンド」もあります。

3.自由自在にカスタマイズが可能

特にVimにおいてはVimScriptというもので、Vimの拡張を自分で書いて表現することができます。

ただしものすごくマニアックな内容になるので、通常は他の人が書いてパッケージ化して配ってくれている「プラグイン」を使用します。

プラグインを導入することで、自分好みの操作方法を加えたりして、より早く・より使いやすくカスタマイズすることが可能です。

基本的な操作方法などを覚えたら、是非様々なプラグインを導入してみてください。

特にエンジニアの方は各プログラミング言語での開発などをサポートしてくれるプラグインが沢山有るので、是非チェックしてカスタマイズしてみてください。

4.動作が軽量

Vimはとても高性能なエディタですが、その実ものすごく軽快に操作することが可能です。

カスタマイズによっては、特定の開発などに特化した統合開発環境、通称IDEに近い性能を発揮しますが、立ちあげスピードや操作は、EclipseやVisualStudioなどとは比べ物になりません。

サクッと立ち上がり、さっと操作ができる。

その操作感に慣れている人にはIDEはとても鈍くさく感じてしまいます。

5.CUIでそのまま利用が可能

特にエンジニアの人にとって重要なのは、このCUIで操作ができるということです。

CUIとはターミナルと呼ばれる黒い画面などで、「文字だけで全ての操作を行う環境」のことです。

エンジニアの人は自分のコンピュータ上でソースコードを書くだけでなく、他のコンピュータにインターネットを介してログインして、他のコンピュータ上で操作を行うことが度々あります。

このときそのコンピュータ上ですぐに使えるエディタとして、Linuxであれば大体Vimが入っているのでそのまま操作が可能です。

逆にViなどが使えないと、遠隔のコンピュータじょうで 操作・編集を行うための特別な設定が必要になってしまいます。

さて、ここまででVimの素晴らしさの一片が理解頂けたかと思いますので、実際にインストールを行い、実際にコマンドなどを体験してみましょう。

Vimのダウンロード・インストール

各OS毎に若干準備方法が異なるため、簡単にダウンロードとインストール方法を記述していきます。

WindowsでVimを利用する

WindowsでVimを利用する場合「KaoriYa Vim」が有名です。

下記URLですぐに使えるVimのプログラムが配布されています。

URL:http://www.kaoriya.net/software/vim/

MacでVimを利用する

MacVimでもKaoriYa Vimの使い勝手を目指して開発されているものが有名です。

下記に導入に関する案内も記載されています。

導入自体はとても簡単なので時間があればすぐに導入してしまいましょう。

URL:https://github.com/splhack/macvim-kaoriya

Linux/UnixでVimを利用する

Viはデフォルトでインストールされていることが多いですが、Vimは別途インストールする必要があります。

ソースコードをインストールして自身のPC上で組み立てる(コンパイルする)場合もありますが、簡潔にインストールできるyumなどのパッケージ管理ソフトを利用するほうが、慣れていない人には良いでしょう。

例えばyumというものを使っている場合は、

[bash]
$ yum install vim
[/bash]

などでインストールを行って下さい。

パッケージ管理ソフトはデフォルトで利用しているものはLinuxOSによって異なるので注意して下さい。

それでは実際にVimを利用した時によく使うコマンドを30種類紹介していきます。

それぞれ利用シーンや利用例も記載していきますので、確かめながら練習もしてみてください。

Viの使い方

KaoriYa Vim/MacVimの場合

AtomやSublimeTextなどのテキストエディタと同様、アプリケーションを立ち上げると利用可能です。

実際のテキストの開き方なども変わりません。

ターミナルで利用する場合

Viはインストールして使用可能な状態になっていれば、

[bash]
$ vi
[/bash]

というコマンドだけで起動することが可能です。

特定のファイルを開きたい場合、開きたいファイルの名前を指定して、

[bash]
$ vi test.txt
[/bash]

というように編集することが可能です。

ファイル操作系Viコマンド

実際にコマンドによる操作の方法を見ていきましょう。

まずはじめに覚えるべきは「ファイル操作系のViコマンド」です。

Vim(Vi)は終了の仕方も特殊なテキストエディタなので、「間違えてViで開いてしまったけど閉じ方が分からない!」なんて話もよく聞きます。

そこで、はじめに次の5つのコマンドを覚えましょう。

「保存のコマンド :w」
コマンドモード(開いたばかりの状態)のときに、このコマンドを実施することで保存することが出来ます。

“vi”というコマンドのみでファイル名を指定せずに新しいファイルを開いた場合は、

:w new_file_name.txt

というようにすることでnew_file_name.txtという名前のファイルとして保存することも可能です。

「強制保存のコマンド :w!」
ファイルによっては「読み込み専用」であったり、「他の人が開いている状態」であったりして、その場で警告が出て保存できない場合があります。

それでも保存したい!という場合は、ビックリマークを付けて強制的に保存することも可能です。

「Viを閉じるコマンド :q」
特に編集をせずに、開いたViを閉じる場合は、 :q のコマンドを実行することで、テキストエディタを終了することが可能です。

「Viを強制的に閉じるコマンド :q!」
編集後に:qコマンドを実施しても、その編集が破棄されるという警告が出てそのままでは閉じることが出来ません。

それでもViを閉じたい場合には、 :q! のコマンドを実施して強制的に閉じましょう。

「保存してからViを閉じるコマンド :wq」
:w と :q を組み合わせたコマンドです。

編集内容を保存した上でViを閉じることが可能です。

「保存してからViを強制的に閉じるコマンド :wq!」
:w! と :q! を組み合わせたコマンドです。

編集内容を強制的に保存した上でViを閉じることが可能です。

モード変更系コマンド

Viの基本操作はモード変更が出来ないと行えません。

まずは基本的な編集が行えるように次の5つのコマンドを覚えましょう。

「カーソル位置の次の文字から編集を開始する a」
コマンドモードの時に a を押すことで、現在カーソルのある位置の次の文字から編集を開始することが可能です。

最もよく使うインサートモード変更用のコマンドのひとつです。

「インサートモードを抜けるキー Esc」
Escキーを押すことで、インサートモードを抜けて再びコマンドでの編集などが出来るようになります。

「カーソルがある場所から編集を開始する i」
コマンドモードの時にiを押すことで、現在カーソルのある場所から編集を開始することが可能です。

最もよく使うインサートモード変更用のコマンドのひとつです。

「先頭から編集を開始する I」
コマンドモードの時にI(shift + i)を押すことで、現在カーソルのある行の先頭へ移動してから編集を開始することが可能です。

「下に行を挿入して編集を開始する o」
コマンドモードの時にoを押すことで、現在カーソルのある行の下に1行追加して追加した行から編集を開始することが可能です。

移動系コマンド

Viにおけるスムーズな操作を支えている一つの要因は、様々なカーソル移動用のコマンドが存在していることです、

概ねはじめは次の10個のコマンドを抑えておけば、不便を感じることは無いでしょう。

「左へ移動する h」
コマンドモードのときカーソルを左へ移動します。

「下へ移動する j」
コマンドモードのときカーソルを下へ移動します。

「上へ移動する k」
コマンドモードのときカーソルを上へ移動します。

「右へ移動する l」
コマンドモードのときカーソルを右へ移動します。

「先頭行へ移動する gg」
コマンドモードのときファイルの一番上の行へ移動します。

「最終行へ移動する G」
コマンドモードのときファイルの一番下の行へ移動します。

「行末尾へ移動する $」
カーソルを行の最後に移動します。

「行先頭へ移動する 0」
カーソルを行の先頭に移動します。

「行の文字の開始位置へ移動する ^」
カーソルを行の最初の文字に移動します。

「次の単語へ移動する w」
カーソルを次の単語に移動します。

編集系コマンド

特に数字と組み合わせると便利な編集系コマンドも覚えておきましょう。

次の5つのコマンドを知るだけで、とても操作感が上がります。

「カーソル行をコピーする yy」
カーソルのある行をコピーします。

「カーソル行を削除する dd」
カーソルのある行を削除してコピーします。

「カーソル位置から後ろを削除する D」
カーソルがある位置から、後ろの部分を削除してコピーします。

「カーソル位置の後ろにペーストする p」
カーソルが有る位置の後ろにコピーしている内容を貼り付けます。

「カーソル位置にペースろする P」
カーソルが有る位置にコピーしている内容を貼り付けます。

検索系コマンド

「検索を行う /」
スラッシュの後に検索したい言葉を、

/検索したい言葉

のように入れることでその言葉がテキストエディタ内に存在するのか、どこにあるのかを検索することが出来ます。

非常によく使うコマンドのひとつです。

「該当の単語を検索する #」
カーソルがある位置にある「単語」を検索することが出来ます。

素早く検索が開始できる少し便利なコマンドです。

「検索結果を順にたどる n」
検索中に検索対象を次へ、次へ、とたどっていく事ができます。

「検索結果を逆順にたどる N」
検索中にnとは逆に前へ、前へ、とたどっていくことができます。

置換コマンド

少し指定方法が特殊で少し難しいですが、とても便利なコマンドなので是非覚えておきましょう。

「文字列をを別の文字列に置き換える :s」
検索範囲を指定して、検索後、該当の文字列を置き換えるためのコマンドです。

以下のように記述することで、テキストエディタ全体から特定の文字列を全て置き換えることが可能です。

:s/置換したい文字/置換後の文字/g

またオプションを指定することで細かなルールを追記できます。

例えば下記のように記述することで、

:s10,20/置換したい文字/置換後の文字/gc

10,20 => 10行目から20行目の間で、
g => 指定文字が1行に複数あっても全て対象として
c => 置換するか毎回チェックして実行

ということが可能になります。

まとめ

Vim/Viの使い方とコマンドについてまとめてきましたがいかがでしたでしょうか。

様々なコマンドが有りますが、この30個のコマンドが使えるだけでも、それなりにVimを利用する恩恵を得られるでしょう!

Vimなどはテキストエディタとしてはとても学習コストの高いエディタです。

ただ、テキストエディタはエンジニアなど常にPCでコードを書いたりする人にとっては仕事道具です。

生産性を向上させるためにもこだわってみてはいかがでしょうか?

関連記事


33歳、未経験だった僕がフリーエンジニアになれた理由
現在フリーでWEBエンジニアをやられている濱口直行さん。33歳で、プログラミングを学び始め、約半年という短い期間で独立までされた学習ログを余すことなくインタビューさせていただきました。

プログラミングを学習中の方はもちろん、独立をお考えの方まで幅広く活用できる記事になっています。この機会に是非活用していただければと思います。


自分にプログラミングなんて・・・と思っていませんか?

今後10年間で今ある職業の『77%』はなくなると言われています。

人工知能や機械学習を筆頭にVR、AR、ドローンなどの最先端技術の発達はこれからのあなたの働き方に間違いなく影響を与えるでしょう。

将来を見据えてプログラミングができるようになってエンジニアになりたい、自分だけにしかできないクリエイティブな仕事がしたい、、、とお考えの方も少なくないでしょう。

と、同時に「難しそう、、自分にはできないだろう、、、」と諦めている方も多いのではないでしょうか。

弊社マンツーマンレッスンは、お一人お一人に専属のインストラクターがつくので、通常のスクールでは難しい、オリジナルアプリ開発や、フリーランスとしての仕事獲得まで支援しています。

まずは『無料体験レッスン』で弊社コンサルタントと一緒にあなた専用の学習カリキュラムを考えてみてはいかがでしょうか?

詳しくは下の画像をクリックしてください。

cta_mtm2

学習者インタビュー

32歳ベンチャー企業元役員が起業してプログラミングを学んだ話
たった7ヶ月で2つのWebアプリを開発した最速プログラミング学習法
元ディスクユニオン店員が33歳からプログラミングを学びエンジニアになるまで
ヨガスタジオのマネージャーだった私が3ヶ月でWeb制作をマスターするためにした”たった1つ”のこと
Uターン女子がRubyを学んで理想のライフスタイルを手に入れた話
ダメ営業マンがわずか3ヶ月でエンジニアデビューできた理由

プログラミング学習者必見

専属講師に質問し放題、レッスンし放題!最短1ヶ月でフリーランスエンジニア
プログラミング学習カリキュラム無料公開中
Ruby学習カリキュラム無料公開中
Python学習カリキュラム無料公開中
 1記事最大11,000円!テックライター募集
LINEで送る
Pocket

この記事が気に入ったら
いいね!をしてフォローしよう

最新情報をお届けします

書いた人

井上 慎也

井上 慎也

侍エンジニア塾のインストラクター。フリーでWEB制作の受託や自身の事業の傍ら、侍ではWEBプログラミング方法の指導やプログラミング学習コミュニティの運用を行っている。
好きなショートカットキーは、command + w 。愛機はMac Book Pro。ブラウザのタブを大量に開きがち。