Vi-Improved

武士にとっての刀
プログラマーにとってのエディタ
Simple is the BEST! We are "vimer".

ウガンダの恵まれない子供達に援助を!

困ったときは

ヘルプを見よう。

:help commandname

たとえば

:help :w
:help :syn
:help i
:help /

省略形とか完全系とかも:helpで一撃。

:help smarttab
→se smarttabと書かなくともse staでOKということがわかる

本当に困ったときは

キー入力がバグった!そんなときは慌てず

Ctrl-C

を連打するんだ!!

emacsでいうC-gですね。

Frequently Asked 困った

:ex

と間違って打ってしまい、変な状態になったら

:vi

と打てば戻ります。

Qを押したときにもExモードになるらしいです。とにかくExモードというのになってしまった!というときは:viを実行すればOK。

基本操作++

%

で対応する括弧に飛びます。

d%

でブロック一個を削除/カットします。

ct"

printf("Hogehoge");

のHの部分でやると

printf("");

となり、さらに""の間に挿入モードでカーソルが置かれるので、文字列を変更するときに便利です。

設定全般

とりあえず

:set ほにゃらら

略して

:se ほにゃらら

でもOK!

今の設定は

:set all

smarttabっていまONだっけ?と思ったときは

:set sta?

のように?を付ければ"smarttab"とか"nosmarttab"とかいってくれます。

インデントとか

普通にインデント

:se ai

C言語によさそうなインデント

:se cin

case:文がインデントされるのは頭狂ってる!Vimだいきらい!!

:se cino+=:0

やっぱりVimだいすき!!

タブストップとか

:se ts=4 sw=4

(ts=TabStop、sw=ShiftWidth(Tab押したときのインデント幅))

タブじゃなくてスペースで

:se et
:se sta

インデントが狂いまくった。もうだめだ!

gg=G

設定じゃないね

カラーリング

文字に色がついて逆に見にくい

:syn off

逆に色がついてない

:syn on

このとき「そんなオプションはない」といわれたらそれきっとvim.tinyです。vim.basicかvimパッケージを入れましょう。

黒背景じゃ見づらい/白背景じゃ見づらい

:se bg=dark   (黒背景)
:se bg=light  (白背景)

このコマンド自体は背景色を変えません。色の明るさを変えるだけです。(ボールドとか高輝度とかいわれてるはず…)

検索/置き換え

検索は

/

置き換えは

:%s/元文字列/置き換え文字列/g

(%が文書全て、s///gは置き換え。実際はregexが使えたりして便利)

繰り返しの動作

面倒なときは

qq
(一通り操作)
q

(qはキー記録、qaだと"a"に保存、qqだと"q"に保存)で記録して、

@q

で実行("q"を実行)

別に

qa
(一通り動作)
q

して

@a

でもOKだったりする。

マーク

おもむろに

ma

(mark、"a"に。)適当にほかの場所を修正して

'a

(go "a"に。)で元に戻れる。

ちなみに

''

という裏技があったりする。(たまに役に立つ)

tags

ctagsしてから関数の上で

Ctrl-]

でふっとべる。元に戻るには

Ctrl-T

でOK。実は:helpにも書いてあったりする。

スクロール

1行ずつ

Ctrl-E
Ctrl-Y

半ページずつ

Ctrl-U
Ctrl-D

1ページずつ

Ctrl-F
Ctrl-B

範囲選択

おもむろに

v
V
Ctrl-V

してからカーソルを移動し、yなりdなり押す。おためしあれ。

文字コード

これEUCじゃねーよ、UTF-8だよ

:e ++enc=utf8 hogehoge.txt

EUCじゃなくてUTF-8で保存したい!

:se fenc=utf8
:w

vimrc

.exrcは、VIとVim両方読みます。

.vimrcは、Vimのみ読みます。

viminfo

.viminfoがうざいときは

:se viminfo=

(自信なし)

マルチウィンドウ

分割(同じファイルが2つ)

:sp
:vsp

分割(新しいファイル)

:vnew

起動時に分割

$ vim -o hoge.txt fuga.txt
$ vim -O hoge.txt fuga.txt

ウィンドウのフォーカス移動

Ctrl-W Ctrl-W
Ctrl-W h
Ctrl-W j
Ctrl-W k
Ctrl-W l

ウィンドウの移動

Ctrl-W H
Ctrl-W J
Ctrl-W K
Ctrl-W L

ウィンドウのリサイズ(最大と均等)

Ctrl-W |
Ctrl-W _
Ctrl-W =

ウィンドウのリサイズ(ちょっと)

Ctrl-W (prefix)+
Ctrl-W (prefix)-
Ctrl-W (prefix)<
Ctrl-W (prefix)>

(prefix)を指定するとその数分変化します。(Ctrl-W 22>とすると22文字分広がる)

ウィンドウのリサイズ(指定サイズに)

Ctrl-W <prefix>|
Ctrl-W <prefix>_

<prefix>分の桁/行数にします。最小桁数はあるみたい。

diff

差分も表示できます。おもむろに2つ以上分割して開き、それぞれに対して

:diffthis

とするとすばらしくなります。

fold

:se foldmethod=syntax

として、

zo
zc

などとするとおいしいと思います。

zM
zR

というのもあります。

執筆中

リンクとか

5月2日の技術勉強会 - はてな技術発表会日記 - 機能変更、お知らせなど
http://hatena.g.hatena.ne.jp/hatenatech/20060508/1147073721
from [備忘録][vim] textwidth について | コンピュータ!
http://sugi3.jugem.jp/?eid=61
from Google検索: vim textwidth

たぶん九州大のどこか
http://www.c.csce.kyushu-u.ac.jp/kb/wiki/index.php?%A5%BD%A5%D5%A5%C8%A5%A6%A5%A8%A5%A2%2FVim%2FFAQ
from Google検索: vim textwidth

ツッコミ欄

  • sbjibw1 まじ大興奮なんですけどwwww 何コレ! http://www.shavitrue.com/sbjibw1/ -- [2011-08-07 21:59:27.823]
お名前:
  • HTML
  • PDF
RSS2.0 RSS1.0 Atom1.0