Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

【Vim】Vim入門

More than 5 years have passed since last update.

※ 追記中です。
※ 初心者向けです。

前提

Macの人はiTermを入れましょう!!
http://iterm2.com/

Vimを使えると良い理由

Vimというより、Viを使えると良い理由ということになりますが、
ViはあらゆるUnix, Linux系OSにおいてデフォルトでプリインストールされているエディタです。
そのため、その基本的な使い方に慣れておくと、
どのようなサーバ環境に放り出されても、最低限のファイル編集が行えるようになるので、ベーシックな使い方に慣れておくと良いです。
(emacs, nanoなどのエディタは、プリインストールされているOSは少なかったはずです)

Vimの基本的な使い方

前提: Viを起動するとコマンドモードで立ち上がります。

コマンドモード

編集モードへの移行方法4種類

i ----- コマンドモードから編集モードへ移行
a ----- 今カーソルがあるところの一文字右側に移動して、編集モードとして入る
o ----- 次の行へ移動して、編集モードに入る

Shift+i ----- 行頭へ移動して編集モードへ入る
Shift+a ----- 行末へ移動して編集モードへ入る

文字削除系コマンドなど

x ----- 今カーソルがある一文字を削除

コピー&ペースト

dd ----- 今カーソルがある行1行を切り取ります
4dd ----- 今カーソルがある行から4行を切り取ります
yy ----- 今カーソルがある行1行をコピーします
4yy ----- 今カーソルがある行から4行分をコピーします
p ----- 今ヤンクしている文字列を貼り付けます

保存系コマンド

:w ----- 保存するコマンド(名前をつけて保存する場合は「:w [ファイル名]」みたいな感じ)
:q ----- ファイルを閉じるコマンド

進む×戻る系コマンド

u ---- 一つ前の操作に戻る
Ctrl+r ----- 一つ先の操作に再度進む

ビジュアルモード

Ctrl+v Shift+i ----- ビジュアルブロックで複数行を選択して、複数行への編集を行える

編集モード

Esc || Ctrl+[ ----- 編集モードを抜けてコマンドモードへ

Vimの使い方基本を復習するために

vimtutorをやりましょう!!

$ vimtutor

Vimの設定とは

Vimのコマンド

vimを開いた状態で、コマンドで行数表示をできるようにする

:set number # 行数を表示するようにするコマンド

.vimrcというファイル

上記のような、vimの設定を変更するコマンドを毎回打つのは煩わしいので、vimを起動するたびに自動的に設定を読み込ませるようにすると便利です。
そのような自動で読み込ませたい設定を記載しておくのが、".vimrc"というファイルとなります。
該当ファイルをユーザのホームディレクトリ直下に以下のように作成します。

$ cd ~/ # ユーザのホームディレクトリに移動
$ touch .vimrc  # .vimrcというファイルを作成
$ vim .vimrc        # .vimrcを編集していく

Vimの便利なプラグイン

NeoBundle・プラグイン管理ツール

NeoBundleとは

NeoBundleとはVimのプラグイン管理を便利にしてくれるツールです。

NeoBundleのインストール

$ mkdir -p ~.vim/bundle
$ git clone https://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim

NeoBundleの基本設定

.vimrcを開いて、下記の設定内容を追記します。

$ vim .vimrc

"---------------------------
" Start Neobundle Settings.
"---------------------------
" bundleで管理するディレクトリを指定
set runtimepath+=~/.vim/bundle/neobundle.vim/

" Required:
call neobundle#begin(expand('~/.vim/bundle/'))

" neobundle自体をneobundleで管理
NeoBundleFetch 'Shougo/neobundle.vim'

" 今後このあたりに追加のプラグインをどんどん書いて行きます!!"

call neobundle#end()

" Required:
filetype plugin indent on

" 未インストールのプラグインがある場合、インストールするかどうかを尋ねてくれるようにする設定
" 毎回聞かれると邪魔な場合もあるので、この設定は任意です。
NeoBundleCheck

"-------------------------
" End Neobundle Settings.
"-------------------------

プラグインをインストール

プラグインのインストールをするためには、
インストールしたいプラグインの設定を上記追記した設定項目の、
「call neobundle#begin」と「call neobundle#end()」の間に書いていきます。
試しに、下記のプラグインをインストールしてみます。

NERDTReeをインストール

.vimrcを開いて、「call neobundle#begin」と「call neobundle#end()」の間に、下記の二行を追加します。

" NERDTreeを設定
NeoBundle 'scrooloose/nerdtree'

上記二行を追加して保存後、再度vimを開こうとすると、下記のように尋ねられるので「y」を入力してインストール。

Not installed bundles: ['nerdtree']
Install bundles now?
(y)es, [N]o:    <----- yを入力
[neobundle/install] Update started: (2014/06/02 20:44:22)
[neobundle/install] (1/1): |nerdtree| git clone --recursive https://    github.com/scrooloose/nerdtree.git "/Users/${USER}/.vim/bundle/nerdtree"
[neobundle/install] (1/1): |nerdtree| Updated
[neobundle/install] |nerdtree|  -> b0bb781fc73ef40365e4c996a16f04368d64fc9d
[neobundle/install] Installed/Updated bundles:nerdtree
Press ENTER or type command to continue

ここまで来てEnterを入力すると、通常通りVimが立ち上がり、コマンドモードで「:NERDTree」と入力するとNERDTreeが立ち上がります。

便利なプラグイン一覧

knife0125
東南アジアでスタートアップする会社のお手伝いとかをしています。 FabLabなどのアジアの活動の支援もしています。 フィリピン人の優秀なエンジニアの採用・管理などの経験もあります。
http://knife0125.net
awesome_ars_academia
アジアに5ヶ国7拠点1300人で活動するソフトウェア・アプリ開発会社が提供する「英語」と「プログラミング」が学べるグローバルテックスクール。アジア各国の大学へIT教育も提供し、年間に育成するエンジニアは1000名以上。21世紀を変えるテクノロジーを多国籍環境で学べるグローバルテックスクールです。
https://awesome-ars-academia.net/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away