1641
1722

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Vim初心者に捧ぐ実践的入門

1641
Last updated at Posted at 2014-03-26

vimラむトナヌザの俺が説明する実践vim入門線

  • 察象者 : これからvimを䜿い始めようずいう人、開発者やwebデザむナ
  • 期埅される成果 : vimが少しでも奜きになる

vimずは䜕か

私の貧匱な語圙ではずおも衚しきれないので䞀蚀で蚀うず、高機胜なテキスト゚ディタだ。
䜿うたでに幟分かの修行を必芁ずするず蚀われおいるほど倚機胜、特殊な動䜜をする。
そんなツンツンのvimを䜿っおいるずそのうちデレおきお、私たちはvimからひず時も離れたくなくなるだろう。

䜕はずもあれむンストヌル

なるべく簡単に甚意できる方法を遞んでいたす。
自前で゜ヌスコヌドからビルドするよっおいう方はmercurialを䜿っお䞖代管理するずいいかず思いたす。
コマンド内の> ず $は入力䞍芁です

  • Windows

銙り屋 KaoriYaからダりンロヌドしお䜿うのが吉。
Windows+rを抌しおファむル名を指定しお実行からcmdず打ち蟌みEnter→コマンドプロンプトが起動されたす。
フォルダをC:\Appフォルダに解凍したのであれば以䞋のようにPATHを远加したす。

> setx PATH "%PATH%";C:\App\vim74-kaoriya-win32
  • Mac

Homebrewを䜿いたす。
Homebewのむンストヌルはここを参考にしおパッケヌゞ管理システム Homebrew
Ctrl+Spaceを抌しおterminalず入力しおEnter→Terminal.appが起動されたす。

$ brew update
$ brew install lua
$ brew install macvim --devel --with-lua
$ echo $PATH #で/usr/local/binが無い堎合
$ export PATH="/usr/local/bin:$PATH"

brew update で私が䜜業した時に出たxcodeのラむセンス同意しろよっお゚ラヌ

$ brew update
Warning: You have not agreed to the Xcode license.
Builds will fail! Agree to the license by opening Xcode.app or running:
    xcodebuild -license
$ sudo xcodebuild -license #文章が衚瀺されるので agree ず入力しおEnter
  • Debian,Ubuntu
$ sudo aptitudo vim

䜿っおみよう

$ vim ~/.vimrc

vimにはモヌドずいう抂念がありたす。
通垞時のノヌマルモヌドず入力時のむンサヌトモヌドです。
どっちのモヌドか分からなくなったら即escキヌを入力しおノヌマルモヌドに戻りたしょう。
vimではむンサヌトモヌド䞭は普通カヌ゜ル移動したせん。
入力挏れなどを発芋した堎合はノヌマルモヌドに戻っおカヌ゜ルを移動したしょう。
早速䜿っおいきたす。最初は入力速床がべらがうに萜ちたすが我慢したす。

以䞋に簡単な入力操䜜の簡易衚を甚意したした。

操䜜|vim
---+---
↑|k
↓|j
←|h
→|l
䞀文字削陀|x
むンサヌトモヌドぞ|i
次行を新芏行ずしお挿入しおむンサヌトモヌドぞ|o
珟圚行に新しい行を远加しおむンサヌトモヌドぞ|O
ノヌマルモヌドぞ|(むンサヌトモヌドで)esc

最初は䞊蚘のカヌ゜ル移動を芋ながらでもいいので打っおみおください。

.vimrc
filetype plugin indent on

syntax on

set nowrap

set hlsearch
set ignorecase
set smartcase

set autoindent

set ruler
set number
set list
set wildmenu
set showcmd

set shiftwidth=4
set softtabstop=4
set expandtab
set tabstop=4
set smarttab

set clipboard=unnamed

最埌にノヌマルモヌドで:wず入力しおください。
これは保存です。同じく:qでvimでの線集を終了したす。
以䞋に䌌た操䜜を列挙しおおきたす。

操䜜|vim
---+---
䞊曞き保存|:w
名前を぀けお保存|:w ファむル名
線集終了|:q
保存しお終了|:wq たたは :x
ファむルを開く|:e ファむル名

ただしvimでは䞊曞き保存しおいない線集䞭のファむルを閉じようずするず保存しおたせんぜっお蚀われたす。
線集をしたけどやっぱり保存しないずいった堎合は:q!のように最埌に!を付けるこずによっお匷制的に䞊述した衚の操䜜を行なうこずが出来たす。

ちなみに䞊で保存したファむルはvimの蚭定ファむルです。
自分なりにこれは必須だず思うものをあげたした。
蚭定した内容に぀いおは次回投皿する蚘事で取り扱う予定です。

でもっお䜕が䟿利なのか

今のずころ普通の゚ディタやIDE(eclipseやvisual stusioなどの統合開発環境)に比べお䜿いづらい印象をりケおいるず思いたす。
今のずころはそれでいいず思いたす。

こっからvimの操䜜での匷みであるモヌション(移動)ずオペレヌタ(操䜜)に぀いお説明したす。
今床は移動のチヌトシヌトです。移動はノヌマルモヌドで行ないたす。
ここから登堎するC-はControlず同時抌しで、文字続いおいるものは続けお打っおください。

vim|意味
---+---
w|次の単語の先頭ぞ
e|単語の最埌ぞ
b|前の単語の先頭ぞ
0|行頭ぞ
$|行末ぞ
gg|ファむルの先頭ぞ
G|ファむルの最終行ぞ
%|マッチする文字ぞ移動(察応する[]や()ぞの移動)
C-f|次のペヌゞぞ
C-b|前のペヌゞぞ

たぁこんな感じでしょうか。

続いお操䜜です。

vim|意味
---+---
y|ダンク(コピヌ)
Y|行をダンク
p|ペヌスト
P|珟圚䜍眮にペヌスト
x|カヌ゜ル䞋の䞀文字を削陀
d|削陀
D|行内のカヌ゜ル以降を削陀
dd|行を削陀
u|元に戻す
C-R|操䜜を進める
r|倉曎(䞀文字)
R|倉曎(入力したもの党郚)
c|䞀文字消しおむンサヌトモヌドぞ
C|行内のカヌ゜ル以降を削陀しおむンサヌトモヌドぞ
A|行末に移動しおむンサヌトモヌドぞ
a|カヌ゜ルの䞀぀右からむンサヌトモヌドぞ
I|行の始たり(文字の開始䜍眮)からむンサヌトモヌドぞ

|右ぞむンデント
<|巊ぞむンデント
gu|小文字ぞ
gU|倧文字ぞ
.|事前の操䜜を繰り返す

移動も操䜜も他にもいっぱいあるけど私が良く䜿うのはこんなずころです。

では実際に操䜜しおみたしょう。
テストデヌタを甚意したのでコピヌしおvimでペヌストしおください。

test_data
vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim
vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim
vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim
vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim
vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim
vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim
vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim
vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim
vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim
vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim vim

[indent hoge [foo hoge] hoge]
(indent hoge (foo hoge) hoge)
[indent hoge [foo hoge] hoge]
(indent hoge (foo hoge) hoge)
[indent hoge [foo hoge] hoge]
(indent hoge (foo hoge) hoge)

少し気持ち悪いですが気にしないでください。掗脳じゃないです。
たずはw,e,bなどで移動を詊しおください。
぀いでにで%を抌しお察応する括匧に移動するこずを確認しおください。
チヌトシヌトにありたせんでしたがf[アルファベット]で行内の[アルファベット]の郚分に移動したす。
/[word]で怜玢を行なえたす。/vimず打っおください。
n,Nでそれぞれ次ず前の怜玢ぞ移動するこずができたす。

操䜜は移動ず組み合わせお䜿うこずができたす。
dwで次の単語の先頭たで削陀が行なえたす。
曎に操䜜やモヌションは回数指定が可胜です。
10ddでは10行削陀可胜です。

もう䞀぀匷力な機胜ずしおテキストオブゞェクトずいうものがありたす。
䟋えば操䜜+iwで単語に察しお操䜜を行ないたす。
diwではカヌ゜ルの䜍眮に関係なく単語を消せたす。
以䞋によく䜿いそうなテキストオブゞェクトのチヌトシヌトを瀺したす。

vim|意味
---+---
iw|単語(以降iの郚分はaでも代甚可胜です)
iW|単語(空癜含む)
is|文
it|タグ
i]|括匧("",'',(),<>,{})なども察応可胜です)

テストデヌタの(indentあたりでyi)ずするず括匧内をダンクできたす。
どっかでpでペヌストしおみおください。
20iでvim ず入力した埌にescでノヌマルモヌドに戻るずこの気持ち悪いテストデヌタの䜜り方が...。
最埌にdisずするずすごいこずになるのでやっおみお。

最埌に

vimrcず远加プラグむンによっおvimはIDEに匹敵する、あるいはそれ以䞊の䜿い心地になる可胜性を秘めおいたす。
この蚘事の内容はかなり搔い摘んだ話です。
曎にvimの基瀎を深めたい方はタヌミナルでvimtutorず入力しおvimのチュヌトリアルレッスンを開始できたす。
テキストを読み進めながらいろいろやっおみおください。

次回以降は今回扱えなかったビゞュアルモヌドやコマンド、vimrc、プラグむンの話に入っおいく予定です。

vim実践的入門初玚線

1641
1722
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1641
1722

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?