1
- *change.txt* For Vim バージョン 7.3. Last change: 2012 Jan 04
1
+ *change.txt* For Vim バージョン 7.3. Last change: 2012 Apr 30
2
2
3
3
4
4
VIM REFERENCE MANUAL by Bram Moolenaar
79
79
[range] 行目 (既定: 現在行 | cmdline-ranges | ) から
80
80
{count} 行を [レジスタ x に入れ] 削除する。
81
81
82
- これらのコマンドはテキストを削除する。これらは (":d" を除いて) コマンド "." で
82
+ これらのコマンドはテキストを削除する。これらは (`: d ` を除いて) コマンド `.` で
83
83
繰り返したり、アンドゥできる。テキストのブロックを削除するには、ビジュアルモー
84
84
ドを使う。レジスタの説明については、| registers | を参照。
85
85
@@ -123,7 +123,7 @@ gJ [count] 行を連結する (最低は 2 行)。空白の挿入や削除を
123
123
[flags] については| ex-flags | を参照。
124
124
125
125
これらのコマンドは、行の間の <EOL> を削除する。この結果、複数行が1行に連結され
126
- る。これらのコマンド (":j" 以外) は、繰り返しやアンドゥができる。
126
+ る。これらのコマンド (`: j ` 以外) は、繰り返しやアンドゥができる。
127
127
128
128
これらのコマンド ("gJ" 以外) は <EOL> の場所に空白を1個挿入する。ただし行末に
129
129
空白が付いていたり、次の行が ')' で始まるときは挿入しない。これらのコマンド
@@ -246,6 +246,12 @@ r{char} カーソル下の文字を {char} に置き換える。
246
246
CTRL-V <NL> は文字を <Nul> に置き換える。
247
247
{Vi: CTRL-V <CR> は改行に置き換わり、何かの文字を <CR>
248
248
に置き換えることはできない}
249
+
250
+ {char} が CTRL-E または CTRL-Y のとき、ちょうど
251
+ | i_CTRL-E | と | i_CTRL-Y | と同じように、下の行または上
252
+ の行の文字が使われる。回数も指定することができるため、
253
+ `10 r<C-E> ` は下の行から 10 文字をコピーすることになる。
254
+
249
255
[count] を指定すると、[count] 文字が [count] 個の
250
256
{char} に置き換わる。しかし {char} が <CR> か <NL> の
251
257
場合、挿入される <CR> はただ1個である。"5r<CR> " は5文
@@ -448,9 +454,9 @@ Note: 'nrformats' が "octal" を含んでいるとき、0で始まる10進数
448
454
使う。">><<" によって、空白のみで構成されたインデントを、<Tab> (と必要ならばい
449
455
くつかの空白) で構成されたインデントに置換できる。'expandtab' がオンのときは、
450
456
Vimは空白のみを使う。">><<" によって、インデント内の <Tab> を空白に置換できる
451
- (あるいは " :retab!" を使う)。
457
+ (あるいは ` :retab ! ` を使う)。
452
458
453
- 行を 'shiftwidth' の複数個分ずらすには、ビジュアルモードかコマンド ":" を使う。
459
+ 行を 'shiftwidth' の複数個分ずらすには、ビジュアルモードかコマンド `:` を使う。
454
460
例: >
455
461
Vjj4> 3行をインデント4個分右に移動
456
462
:<<< 現在の行をインデント3個分左に移動
@@ -468,7 +474,7 @@ Vimは空白のみを使う。">><<" によって、インデント内の <Tab>
468
474
Cのプログラムを整形する "indent" (ただし、フィルタ機能を持ったバージョンが必要。
469
475
全てのバージョンでできるわけではない) などがある。オプション 'shell' は、Vimが
470
476
フィルタコマンドを実行するときに使うシェルを指定する ('shelltype' も参照)。フィ
471
- ルタコマンドはコマンド "." で繰り返せる。Vimは ":!" の後のコメント ('"' で始ま
477
+ ルタコマンドはコマンド "." で繰り返せる。Vimは `: ! ` の後のコメント ('"' で始ま
472
478
る行) を認識しない。
473
479
474
480
*!*
@@ -554,34 +560,34 @@ MS-Windows ではシステム関数 GetTempFileName() が使われる。
554
560
最後の置換を同じパターンかつ同じ置換文字列で、フラグを
555
561
つけずに繰り返す。フラグを追加することもできる
556
562
(| :s_flags | を参照)。
557
- Note " :substitute" の後ではフラグ '&' は使えないことに
563
+ Note ` :substitute ` の後ではフラグ '&' は使えないことに
558
564
注意。パターンの区切り文字だと認識されてしまう。
559
- " :substitute" とフラグ 'c', 'g', 'r' の間の空白は必要
565
+ ` :substitute ` とフラグ 'c', 'g', 'r' の間の空白は必要
560
566
不可欠ではない。しかしスクリプト内では、混乱しないよう
561
567
に空白を入れておくのはよい考えである。
562
568
563
569
:[range] ~[&][flags] [count] *:~*
564
570
最後の置換を同じ置換文字列で、最後の検索パターン {訳注:
565
- "/" で使ったもの} に対して繰り返す。" :&r" に似ている。
571
+ "/" で使ったもの} に対して繰り返す。` :&r ` に似ている。
566
572
フラグについては | :s_flags | を参照。
567
573
568
574
*&*
569
- & ":s" と同義 (最後の置換を繰り返す)。 Note 同じフラグが
575
+ & `: s ` と同義 (最後の置換を繰り返す)。 Note 同じフラグが
570
576
使われるわけではないので注意。実際の動作は違うかもしれ
571
- ない。フラグも同じにするには " :&&" を使うこと。
577
+ ない。フラグも同じにするには ` :&& ` を使うこと。
572
578
573
579
*g&*
574
- g& " :%s//~/&" と同義 (全ての行に対し、同じフラグで最後の
580
+ g& ` :% s // ~/& ` と同義 (全ての行に対し、同じフラグで最後の
575
581
置換を繰り返す)。
576
582
覚え方: 「グローバル (global --全体的な) 置換」
577
583
{Vi にはない}
578
584
579
585
*:snomagic* *:sno*
580
- :[range] sno[magic] ... " :substitute" と同じだが、常に 'nomagic' を使う。
586
+ :[range] sno[magic] ... ` :substitute ` と同じだが、常に 'nomagic' を使う。
581
587
{Vi にはない}
582
588
583
589
*:smagic* *:sm*
584
- :[range] sm[agic] ... " :substitute" と同じだが、常に 'magic' を使う。
590
+ :[range] sm[agic] ... ` :substitute ` と同じだが、常に 'magic' を使う。
585
591
{Vi にはない}
586
592
587
593
*:s_flags*
@@ -591,7 +597,7 @@ g& ":%s//~/&" と同義 (全ての行に対し、同じフラグで最後の
591
597
例: >
592
598
:&&
593
599
:s/this/that/&
594
- < Note コマンド ":s" と ":&" では、前回と同じフラグは使われない。
600
+ < Note コマンド `: s ` と `: & ` では、前回と同じフラグは使われない。
595
601
{Vi にはない}
596
602
597
603
[c] 置換前に毎回確認する。マッチしている文字列を (強調表示グループ
@@ -648,12 +654,12 @@ g& ":%s//~/&" と同義 (全ての行に対し、同じフラグで最後の
648
654
649
655
[l] [p] と同様だが、| :list | のように表示する。
650
656
651
- [r] 引数のない ":&" か ":s" との連携でのみ有効。" :&r" は ":~" と同様に動作
652
- する。検索パターンが空のとき、最後の置換コマンドや " :global" でのパター
657
+ [r] 引数のない `: & ` か `: s ` との連携でのみ有効。` :&r ` は `:~` と同様に動作
658
+ する。検索パターンが空のとき、最後の置換コマンドや ` :global ` でのパター
653
659
ンではなく、最後の検索パターンを使用する。最後に検索パターンを使用した
654
- コマンドが置換や " :global" だったときは、何もしない。最後のコマンドが
660
+ コマンドが置換や ` :global ` だったときは、何もしない。最後のコマンドが
655
661
"/" のような検索コマンドだったときは、そのコマンドの検索パターンを使う。
656
- 引数付きの ":s" では、すでにそう動作するようになっていた。 >
662
+ 引数付きの `: s ` では、すでにそう動作するようになっていた。 >
657
663
:s/blue/red/
658
664
/green
659
665
:s//red/ または :~ または :&r
@@ -671,8 +677,8 @@ NOTE パターンに 'magic' が適用されるかどうかを変更するフラ
671
677
どうにもならないという意味}
672
678
673
679
置換コマンドで {pattern} が空のときは、最後に使われた置換コマンドまたはコマン
674
- ド " :global" のパターンが使われる。それが無い場合は、直前の検索パターンがあれ
675
- ばそれが使われる。フラグ [r] を指定すると、最後の置換、" :global" 、または検索コ
680
+ ド ` :global ` のパターンが使われる。それが無い場合は、直前の検索パターンがあれ
681
+ ばそれが使われる。フラグ [r] を指定すると、最後の置換、` :global ` 、または検索コ
676
682
マンドのパターンが使われる。
677
683
678
684
{string} を省略した場合は、空文字列を指定したのと同じ結果になる。すなわち、マッ
@@ -820,7 +826,7 @@ NOTE: 以前のバージョンでは CTRL-V が特別に扱われていた。こ
820
826
821
827
822
828
4.4 タブの変換 *change-tabs*
823
- *:ret* *:retab*
829
+ *:ret* *:retab* *:retab!*
824
830
:[range] ret[ab][!] [new_tabstop]
825
831
新たに指定されたタブストップ (タブ幅) に基づき、<Tab>
826
832
を含む空白の連続を全て、新しい空白と <Tab> の列に置き
@@ -839,7 +845,7 @@ NOTE: 以前のバージョンでは CTRL-V が特別に扱われていた。こ
839
845
<Tab> 文字も修正する。これを避けるためには、プログラム
840
846
内では "\t" を使うとよい (そうでなくても、これはよい習
841
847
慣である)。
842
- " :retab!" も空白の連続を <Tab> 文字に変えてしまい、
848
+ ` :retab ! ` も空白の連続を <Tab> 文字に変えてしまい、
843
849
printf() の出力をめちゃくちゃにするかもしれない。
844
850
{Vi にはなく、Vim が | +ex_extra | 機能付きでコンパイル
845
851
されたときのみ有効}
@@ -949,8 +955,12 @@ NOTE: 以前のバージョンでは CTRL-V が特別に扱われていた。こ
949
955
タ x から] コピーする。このコマンドは常に行単位
950
956
| linewise | の動作をするので、コピーされたブロックを新
951
957
しい行として挿入するときに使える。
952
- カーソルは挿入された最後の行の最初の非空白文字の上に置
953
- かれる。
958
+ レジスタが指定されていないときのレジスタは 'cb' オプ
959
+ ションに依存する。'cb' が "unnamedplus" を含むときは
960
+ + レジスタ | quoteplus | からペーストする。そうではなく、
961
+ 'cb' が "unnamed" を含むときは * レジスタ | quotestar |
962
+ からペーストする。そうでなければ、無名レジスタ
963
+ | quote_quote | からペーストする。
954
964
レジスタには '=' に続けて式を指定することもできる。コ
955
965
マンドの末尾までが式として評価される。文字 '|' と '"'
956
966
がコマンドの末尾として解釈されないようにするには、それ
@@ -1151,20 +1161,20 @@ Note: "~ レジスタはプレインテキストをVimにドロップしたと
1151
1161
9. 最終検索パターン用レジスタ "/ *quote_/* *quote/*
1152
1162
最後に使われた検索パターンが蓄えられる。これはコマンド "n" やオプション
1153
1163
'hlsearch' による強調表示に使われる。
1154
- このレジスタは " :let" で変更できるので、'hlsearch' による強調表示を、実際に検
1164
+ このレジスタは ` :let ` で変更できるので、'hlsearch' による強調表示を、実際に検
1155
1165
索を行わずに別のマッチに適用することができる。このレジスタを使ってコピーしたり
1156
1166
削除することはできない。
1157
1167
Note 関数から抜けると、この値は関数に入る前の値に復元される。
1158
1168
| function-search-undo |
1159
1169
{Vi にはない}
1160
1170
1161
1171
*@/*
1162
- レジスタには、コマンド " :let" で書き込むことができる | :let-@ | 。例: >
1172
+ レジスタには、コマンド ` :let ` で書き込むことができる | :let-@ | 。例: >
1163
1173
:let @/ = "the"
1164
1174
1165
1175
レジスタを指定せずに貼り付けコマンドを使うと、最後に書き込みが行われたレジスタ
1166
1176
が使われる (その内容は無名レジスタと同じである)。混乱したときは、コマンド
1167
- " :dis" を使うとレジスタの内容が分かる (このコマンドは、全てのレジスタの内容を
1177
+ ` :dis` を使うとレジスタの内容が分かる (このコマンドは、全てのレジスタの内容を
1168
1178
表示する。無名レジスタは '"' と示される)。
1169
1179
1170
1180
以下の3個のコマンドは、必ず行全体に対して働く。
@@ -1456,6 +1466,12 @@ M 行の連結時に、マルチバイト文字の前後に空白を挿入しな
1456
1466
B 行の連結時に、マルチバイト文字同士の間に空白を挿入しない。こちらよりフ
1457
1467
ラグ 'M' の方が優先する。
1458
1468
1 1文字の単語の後では改行しない。代わりにその前で改行される (可能ならば)。
1469
+ j 可能ならば、行を連結する際にコメントリーダーを削除する。例えば、以下の
1470
+ 行を連結する場合:
1471
+ int i; // the index ~
1472
+ // in the list ~
1473
+ 以下のようになる:
1474
+ int i; // the index in the list ~
1459
1475
1460
1476
1461
1477
't' と 'c' でVimが自動折返しを行うタイミングを指定できる。
@@ -1497,7 +1513,7 @@ autocommand と連携して、クールに振舞うはずである。
1497
1513
:set fo=tcrq
1498
1514
<
1499
1515
1500
- 自動整形 *auto-format*
1516
+ 自動整形 *auto-format* *autoformat *
1501
1517
1502
1518
オプション 'formatoptions' にフラグ 'a' が含まれると、テキストを挿入したり削除
1503
1519
したときに自動整形が行われる。これはテキストの段落分けを編集するときに便利であ
@@ -1602,7 +1618,7 @@ Vimはソート関数とソートコマンドを備えている。ソート関
1602
1618
最後に使われた検索パターンが使われる。よって、まず検
1603
1619
索コマンドでパターンを確かめてみることができる。
1604
1620
1605
- Note: " :global" といっしょに " :sort" を使ってもマッチする行をソートすることに
1621
+ Note: ` :global ` といっしょに ` :sort ` を使ってもマッチする行をソートすることに
1606
1622
はならない。これはまったく無意味である。
1607
1623
1608
1624
ソートの詳細は使っているライブラリ関数による。ソートが「安定」であるとか現在の
0 commit comments