Skip to content

Commit 65ad6ec

Browse files
authored
Merge pull request #853 from tsuyoshicho/update/misc-20200907
Update misc files
2 parents 43ea30c + 74e3b46 commit 65ad6ec

16 files changed

+354
-271
lines changed

doc/cmdline.jax

+11-8
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*cmdline.txt* For Vim バージョン 8.2. Last change: 2020 Apr 23
1+
*cmdline.txt* For Vim バージョン 8.2. Last change: 2020 Aug 09
22

33

44
VIMリファレンスマニュアル by Bram Moolenaar
@@ -838,7 +838,7 @@ Note: "#<n" 以外は、ユーザーに打ち込まれた通りのファイル
838838
*:<cword>* *<cword>* *:<cWORD>* *<cWORD>*
839839
*:<cexpr>* *<cexpr>* *:<cfile>* *<cfile>*
840840
*:<afile>* *<afile>* *:<abuf>* *<abuf>*
841-
*:<amatch>* *<amatch>*
841+
*:<amatch>* *<amatch>* *:<stack>* *<stack>*
842842
*:<sfile>* *<sfile>* *:<slnum>* *<slnum>*
843843
*:<sflnum>* *<sflnum>* *E499* *E500*
844844
Note: これらは文字通りに打ち込まれる、これらは特別なキーではない!
@@ -863,12 +863,14 @@ Note: これらは文字通りに打ち込まれる、これらは特別なキ
863863
SpellFileMissing 用)。
864864
<sfile> コマンド ":source" の実行時、取り込まれたファイルのファイル
865865
名に置き換えられる。 *E498*
866-
関数の実行時はこのように置き換えられる:
867-
"function {関数名}[{行番号}]"
868-
関数呼び出しのネスト (入れ子状態) はこのように表される:
866+
関数の実行時は、<stack> と同様にコールスタックに置き換えら
867+
れる(これは後方互換性のためであり、<stack> を使うのが望しい)
868+
Note: スクリプト内で <sfile> が使われていない場合、ファイル
869+
名修飾子は無効になることに注意。
870+
<stack> コールスタックに置き換えられ、"function {関数名}[{行番号}]"
871+
が関数行としてまた "script {ファイル名}[{行番号}]" がスクリ
872+
プト行として、そして要素間は ".." が使われる。例:
869873
"function {関数名1}[{行番号}]..{関数名2}[{行番号}]"
870-
Note 関数内で <sfile> が使われている場合、ファイル名修飾子
871-
は無効になることに注意。
872874
<slnum> コマンド ":source" の実行時、行番号に置き換えられる。 *E842*
873875
関数の中では、関数の先頭からの相対的な行番号になる。
874876
<sflnum> スクリプトを実行すると、行番号に置き換えられる。<slnum>
@@ -1079,7 +1081,8 @@ CTRL-C コマンドラインモードとして継続する。カーソル下の
10791081
が引き継がれる。挿入モードとノーマルモードの両方で有効である。
10801082
再描画は行われないので、ウィンドウは可視状態のままになる。
10811083
:quit コマンドラインを破棄してノーマルモードに戻る。
1082-
":close", ":exit", ":xit" や CTRL-\ CTRL-N も有効である。
1084+
":close", CTRL-W c, ":exit", ":xit" や CTRL-\ CTRL-N も有効で
1085+
ある。
10831086
:qall Vimを終了する (他のバッファに変更がない限り)。
10841087
:qall! Vimを終了し、どのバッファの変更も破棄する。
10851088

doc/helphelp.jax

+11-9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*helphelp.txt* For Vim バージョン 8.2. Last change: 2020 Mar 01
1+
*helphelp.txt* For Vim バージョン 8.2. Last change: 2020 Jul 27
22

33

44
VIMリファレンスマニュアル by Bram Moolenaar
@@ -366,14 +366,16 @@ Vim ヘルプファイルでは以下のものがそれぞれハイライトさ
366366
詳細は $VIMRUNTIME/syntax/help.vim を見てください。
367367

368368
*inclusion*
369-
一部の人々は、ユーザーに言及するときに "his" を使うことに大騒ぎし、我々がユー
370-
ザーを男性であると仮定しているかのように考えています。もちろんそういう意図では
371-
ありません、ヘルプテキストを書く際の習慣になっているだけで、多くの場合、何年も
372-
昔からそう書かれてます。また、多くの文章は、英語が第一言語{訳注: 母語のこと}
373-
ではない貢献者によって書かれています。私たちはテキストの言い回しなどに関係な
374-
く、ユーザーのジェンダーがどうなのか仮定することはありません。そのような相談に
375-
時間を無駄にしたくありません。目標は、読者が Vim がどのように動くかの仕組みを
376-
理解することで、正しい言葉遣いは二の次です。
369+
Vim はみんなのもので、人種、性別、その他何も関係しません。一部の人々は、ユー
370+
ザーに言及するときに "he" や "his" を使うことに大騒ぎし、我々がユーザーを男性
371+
であると仮定しているかのように考えています。もちろんそういう意図ではありませ
372+
ん、ヘルプテキストを書く際の習慣になっているだけで、多くの場合、何年も昔からそ
373+
う書かれてます。また、多くの文章は、英語が第一言語{訳注: 母語のこと} ではない
374+
貢献者によって書かれています。私たちはテキストの言い回しなどに関係なく、ユー
375+
ザーのジェンダーがどうなのか仮定することはありません。そのような相談をする人達
376+
は "they" を使うようにと提案しますが、しかしそれは通常の英語ではありません。そ
377+
のような相談に多くの時間を費やしたくありません。目標は、読者が Vim がどのよう
378+
に動くかの仕組みを理解することで、正しい言葉遣いは二の次です。
377379

378380

379381
vim:tw=78:ts=8:noet:ft=help:norl:

doc/map.jax

+45-31
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*map.txt* For Vim バージョン 8.2. Last change: 2020 Apr 23
1+
*map.txt* For Vim バージョン 8.2. Last change: 2020 Sep 06
22

33

44
VIMリファレンスマニュアル by Bram Moolenaar
@@ -188,6 +188,12 @@
188188
引数に <nowait> を追加します。そしてそのマップは一致する場合に使用され、Vimは
189189
それ以上入力される文字を待ちません。しかし、既に文字が入力されていた場合はそれ
190190
が使われます。
191+
Note: これが動作するのは <nowait> なマッピングが完全にマッチし、なんらかの部分
192+
マッチの前に見付かるときです。これが動作するのは:
193+
- バッファローカルなマッピングで唯一のマッチがあるとき。なぜなら常にグローバル
194+
なマッピングより先に見付かるからです。
195+
- これとは別のバッファローカルなマッピングが部分マッチするが、より早く定義され
196+
ているとき (最後に定義したマッピングが最初に見付かる)。
191197

192198
*:map-<silent>* *:map-silent*
193199
実行するコマンドがコマンドラインに表示されないようにするには、マップコマンドの
@@ -275,16 +281,8 @@ getchar() によって取得され、返されます。
275281
CTRL-L で次の番号を挿入し、CTRL-R で番号をリセットします。CTRL-R は空文字列を
276282
返すので、何も挿入されません。
277283

278-
Note: 特殊キーが機能するようにしたり、テキスト中の CSI バイトをエスケープした
279-
りするために、特別な処理が行われています。|:map| コマンドも同様の処理を行うの
280-
で、それが二重に実行されるのを防ぐ必要があります。次のものは機能しません: >
281-
:imap <expr> <F3> "<Char-0x611B>"
282-
なぜなら、<Char- で表記した文字 (あるいは本物の文字) のバイト列は |:imap| コマ
283-
ンドが解釈されるときにエスケープされ、<expr> で使われるときにもう一度エスケー
284-
プされるからです。次のものは機能します: >
285-
:imap <expr> <F3> "\u611B"
286-
テキストの末尾以外で 0x80 をシングルバイトとして使った場合、それは機能しませ
287-
ん。特殊キーとして認識されます。
284+
Note: テキストの末尾以外で 0x80 をシングルバイトとして使った場合、それは機能し
285+
ません。特殊キーとして認識されます。
288286

289287

290288
1.3 マップとモード *:map-modes*
@@ -864,34 +862,46 @@ g@{motion} 'operatorfunc' に設定された関数を実行します。
864862

865863
例を示します。これは <F4> を使ってスペースの数を数えます: >
866864
867-
nmap <silent> <F4> :set opfunc=CountSpaces<CR>g@
868-
vmap <silent> <F4> :<C-U>call CountSpaces(visualmode(), 1)<CR>
865+
nnoremap <expr> <F4> CountSpaces()
866+
xnoremap <expr> <F4> CountSpaces()
867+
" <F4> 2回で行に作用
868+
nnoremap <expr> <F4><F4> CountSpaces() .. '_'
869869
870-
function! CountSpaces(type, ...)
871-
let sel_save = &selection
872-
let &selection = "inclusive"
873-
let reg_save = @@
874-
875-
if a:0 " ビジュアルモードから呼び出すのに、gv コマンドを使用します。
876-
silent exe "normal! gvy"
877-
elseif a:type == 'line'
878-
silent exe "normal! '[V']y"
879-
else
880-
silent exe "normal! `[v`]y"
870+
function CountSpaces(type = '') abort
871+
if a:type == ''
872+
set opfunc=CountSpaces
873+
return 'g@'
881874
endif
882875
883-
echomsg strlen(substitute(@@, '[^ ]', '', 'g'))
884-
885-
let &selection = sel_save
886-
let @@ = reg_save
876+
let sel_save = &selection
877+
let reg_save = getreginfo('"')
878+
let cb_save = &clipboard
879+
let visual_marks_save = [getpos("'<"), getpos("'>")]
880+
881+
try
882+
set clipboard= selection=inclusive
883+
let commands = #{line: "'[V']y", char: "`[v`]y", block: "`[\<c-v>`]y"}
884+
silent exe 'noautocmd keepjumps normal! ' .. get(commands, a:type, '')
885+
echom getreg('"')->count(' ')
886+
finally
887+
call setreg('"', reg_save)
888+
call setpos("'<", visual_marks_save[0])
889+
call setpos("'>", visual_marks_save[1])
890+
let &clipboard = cb_save
891+
let &selection = sel_save
892+
endtry
887893
endfunction
888894
895+
<expr> のマッピングを使うことでなんらかのカウントかレジスタの接頭詞を取ること
896+
が可能になります。それにより、CmdlineEnter と CmdlineLeave の自動コマンドをト
897+
リガーするコマンドラインの使用も回避します。
898+
889899
Note: 一時的に 'selection' を "inclusive" に設定し、'[ から '] まで選択した範
890900
囲を正しくヤンクできるようにしています。
891901

892-
Note: ビジュアルモードのために別のマップを定義しています。ビジュアルモードで
893-
":" を押した場合に挿入される "'<,'>" を削除し、関数に visualmode() の値と追加
894-
の引数を渡しています
902+
Note: 'clipboard' オプションの値に `unnamed``unnamedplus` が含まれている場
903+
合、レジスタの `"*``"+` が上書きされることを防ぐため、一時的に空に設定され
904+
ます
895905

896906
==============================================================================
897907
2. 短縮入力 (Abbreviations) *abbreviations* *Abbreviations*
@@ -1152,6 +1162,10 @@ non-id マッチした場所の前がスペース、タブ、行頭、挿入
11521162
行されます。そのコマンドからローカル関数を呼び出したり、ローカルマップを使用す
11531163
ることができます。
11541164

1165+
<SID> が正しく展開されないコンテキストで値が使われる場合は、expand() 関数を使
1166+
います: >
1167+
let &includexpr = expand('<SID>') .. 'My_includeexpr()'
1168+
11551169
スクリプト以外の場所で "<SID>" を使うとエラーになります。
11561170

11571171
複雑な処理をするスクリプトで、スクリプト番号が必要な場合は、次の関数で番号を得

doc/mlang.jax

+11-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*mlang.txt* For Vim バージョン 8.2. Last change: 2019 May 05
1+
*mlang.txt* For Vim バージョン 8.2. Last change: 2020 Aug 15
22

33

44
VIMリファレンスマニュアル by Bram Moolenaar
@@ -38,22 +38,26 @@ Vimはシステム環境からロケール(地域情報)を判定する。ほと
3838
:lan[guage] mes[sages]
3939
:lan[guage] cty[pe]
4040
:lan[guage] tim[e]
41+
:lan[guage] col[late]
4142
現在の言語(言い換えればロケール)を表示する。
4243
引数 "message" を使用するとメッセージに利用されている
4344
言語が表示される。専門的には: LC_MESSAGES
4445
引数 "ctype" を使用すると文字エンコードに利用されてい
4546
る言語が表示される。専門的には: LC_CTYPE
4647
引数 "time" を使用するとstrftime()が表示に利用する言語
4748
が表示される。専門的には: LC_TIME
49+
引数 "collate" を使用すると照合に利用する言語が表示さ
50+
れる。専門的には: LC_COLLATE
4851
無引数ならばロケールの全体が表示される(どのように表示
4952
されるかはシステムに依存する)。
50-
現在の言語は|v:lang|, |v:ctype| そして |v:lc_time|の各
51-
変数で取得することもできる
53+
現在の言語は|v:lang|, |v:ctype|, |v:collate| そして
54+
|v:lc_time| の各変数で取得することもできる
5255

5356
:lan[guage] {name}
5457
:lan[guage] mes[sages] {name}
5558
:lan[guage] cty[pe] {name}
5659
:lan[guage] tim[e] {name}
60+
:lan[guage] col[late] {name}
5761
現在の言語(言い換えればロケール)を{name}に設定する。
5862
{name}というロケールがシステムに存在していなければなら
5963
ない。あるシステムでは "en" とか "en_US" と言った別称
@@ -72,7 +76,10 @@ Vimはシステム環境からロケール(地域情報)を判定する。ほと
7276
引数 "time" を使用すると時刻と日付のメッセージに利用さ
7377
れる言語を設定する。strftime()に影響を与える。これは
7478
$LC_TIME を設定する。
75-
無引数ならば両方が設定され、加えて $LANG が設定される。
79+
引数 "collate" を使用すると照合に利用される言語を設定
80+
する。照合順に影響を与える。これは $LC_COLLATE を設定
81+
する。
82+
無引数ならば全てが設定され、加えて $LANG が設定される。
7683
|+float| 機能付きでコンパイルされている場合は、常に
7784
LC_NUMERIC が "C" にセットされ、浮動小数点数が小数点と
7885
して '.' を使うようになる。

0 commit comments

Comments
 (0)