1
- *usr_41.txt* For Vim バージョン 8.2. Last change: 2020 Mar 15
1
+ *usr_41.txt* For Vim バージョン 8.2. Last change: 2020 Jun 13
2
2
3
3
VIM USER MANUAL - by Bram Moolenaar
4
4
@@ -41,6 +41,12 @@ Vim script 言語は vimrc ファイルや構文ファイルなど、さまざ
41
41
別にオプションを設定するファイルの一種です。複雑なマクロ定義を別ファイルに分け
42
42
て保存しておくこともできます。このように、いろいろな使用方法が考えられます。
43
43
44
+ あなたが Python に親しんでいるなら、Python と Vim script 間の比較につ
45
+ いて、以下で他のドキュメントへの参照を見付けることができます:
46
+ https://gist.github.com/yegappan/16d964a37ead0979b05e655aa036cad0
47
+ そしてあなたが JavaScript に親しんでいるなら:
48
+ https://w0rp.com/blog/post/vim-script-for-the-javascripter/
49
+
44
50
簡単な例から始めましょう: >
45
51
46
52
:let i = 1
@@ -88,6 +94,8 @@ Vim script 言語は vimrc ファイルや構文ファイルなど、さまざ
88
94
89
95
":let i += 1" は ":let i = i + 1" と同じ意味です。変数 i に 1 を加算し、新しい
90
96
値を同じ変数に代入します。
97
+ Note: これは旧来の Vim script で動かす方法で、このファイルで検討します。Vim9
98
+ script の場合はちょっと違います、参照 | usr_46.txt | 。
91
99
92
100
上述の例は、実際にはもっと簡潔に書くことができます: >
93
101
@@ -607,6 +615,7 @@ substitute() の呼び出しの前後にいろいろな処理を入れたりす
607
615
deepcopy() リストの完全なコピーを作成する
608
616
filter() リストから選択された要素を取り除く
609
617
map() リストの各要素を変換する
618
+ reduce() リストの畳み込みの値を算出する
610
619
sort() リストをソートする
611
620
reverse() リストの並び順を反転させる
612
621
uniq() 隣接して繰り返される要素のコピーを削除する
@@ -620,6 +629,7 @@ substitute() の呼び出しの前後にいろいろな処理を入れたりす
620
629
min() リスト中の最小値
621
630
count() ある要素がリスト中に出現する回数を返す
622
631
repeat() リストを複数回繰り返す
632
+ flatten() リストの平坦化
623
633
624
634
辞書操作: *dict-functions*
625
635
get() 辞書の要素を返す。存在しないキーでもエラーを出
@@ -664,6 +674,7 @@ substitute() の呼び出しの前後にいろいろな処理を入れたりす
664
674
sinh() 双曲線正弦 (ハイパボリックサイン)
665
675
cosh() 双曲線余弦 (ハイパボリックコサイン)
666
676
tanh() 双曲線正接 (ハイパボリックタンジェント)
677
+ isinf() 無限大かのチェック
667
678
isnan() 数値でないかどうかのチェック
668
679
669
680
その他の計算: *bitwise-function*
@@ -672,6 +683,8 @@ substitute() の呼び出しの前後にいろいろな処理を入れたりす
672
683
or() ビットごとの論理和
673
684
xor() ビットごとの排他的論理和
674
685
sha256() SHA-256 ハッシュ
686
+ rand() 疑似乱数を得る
687
+ srand() rand() を使うためのシード値の初期化
675
688
676
689
変数: *var-functions*
677
690
type() 変数の型
@@ -701,6 +714,7 @@ substitute() の呼び出しの前後にいろいろな処理を入れたりす
701
714
getcurpos() カーソルの位置を取得する
702
715
getpos() カーソルやマークなどの位置を取得する
703
716
setpos() カーソルやマークなどの位置を設定する
717
+ getmarklist() グローバル/ローカルのマークのリスト
704
718
byte2line() 指定のバイト位置の行番号を取得する
705
719
line2byte() 指定の行のバイト位置を取得する
706
720
diff_filler() ある行より上の詰め行の数を取得する
@@ -720,6 +734,7 @@ substitute() の呼び出しの前後にいろいろな処理を入れたりす
720
734
prevnonblank() 前の非空行を探す
721
735
search() パターンにマッチする場所を探す
722
736
searchpos() パターンにマッチする場所を探す
737
+ searchcount() カーソルの前後でマッチした数を得る
723
738
searchpair() start/skip/end の対を探す
724
739
searchpairpos() start/skip/end の対を探す
725
740
searchdecl() 名前が宣言されている場所を探す
@@ -768,6 +783,7 @@ substitute() の呼び出しの前後にいろいろな処理を入れたりす
768
783
hostname() システムの名称を得る
769
784
readfile() ファイルを読み込み、行のリストを得る
770
785
readdir() ディレクトリ内のファイル名のリストを得る
786
+ readdirex() ディレクトリ内のファイル情報のリストを得る
771
787
writefile() 行のリストまたは Blob をファイルに書き込む
772
788
773
789
日付と時刻: *date-functions* *time-functions*
@@ -804,9 +820,11 @@ substitute() の呼び出しの前後にいろいろな処理を入れたりす
804
820
listener_remove() リスナーコールバックを削除する
805
821
win_findbuf() バッファが含まれるウィンドウを探す
806
822
win_getid() ウィンドウのウィンドウIDを得る
823
+ win_gettype() ウィンドウの種別を得る
807
824
win_gotoid() IDで指定されたウィンドウへ移動する
808
825
win_id2tabwin() IDで指定されたタブとウィンドウの番号を得る
809
826
win_id2win() IDで指定されたウィンドウの番号を得る
827
+ win_splitmove() 分割したもう片方へウィンドウを移動する
810
828
getbufinfo() バッファの情報一覧を得る
811
829
gettabinfo() タブページの情報一覧を得る
812
830
getwininfo() ウィンドウの情報一覧を得る
@@ -883,6 +901,7 @@ Quickfixとlocationリスト: *quickfix-functions*
883
901
getchar() ユーザーが入力した文字を得る
884
902
getcharmod() 最後に入力した文字の修飾子(modifier)を得る
885
903
getmousepos() 最後に取得したマウスの位置を得る
904
+ echoraw() 文字をそのまま出力する
886
905
feedkeys() 先行入力キューに文字を入れる
887
906
input() ユーザーが入力した行を得る
888
907
inputlist() ユーザーにリストから項目を選択させる
@@ -924,6 +943,7 @@ Vimサーバー: *server-functions*
924
943
hasmapto() マップの存在をチェック
925
944
mapcheck() マッチするマップの存在をチェック
926
945
maparg() マップのrhs(展開結果)を得る
946
+ mapset() マップを復元
927
947
menu_info() メニュー項目の情報を取得
928
948
wildmenumode() wildmodeが有効かどうかをチェック
929
949
@@ -944,11 +964,13 @@ Vimサーバー: *server-functions*
944
964
test_autochdir() 起動中に 'autochdir' を有効にする
945
965
test_override() Vimの内部処理を置き換えてテストする
946
966
test_garbagecollect_now() 直ちにメモリを解放する
967
+ test_garbagecollect_soon() メモリを解放のフラグを設定する
947
968
test_getvalue() 内部変数の値を取得する
948
969
test_ignore_error() 特定のエラーメッセージを無視する
949
970
test_null_blob() null の Blob を返す
950
971
test_null_channel() null のチャネルを返す
951
972
test_null_dict() null の辞書を返す
973
+ test_null_function() null の Funcref を返す
952
974
test_null_job() null の Job を返す
953
975
test_null_list() null のリストを返す
954
976
test_null_partial() null の部分適用を返す
@@ -959,6 +981,10 @@ Vimサーバー: *server-functions*
959
981
test_option_not_set() オプションが設定されていることを示すフラグをリ
960
982
セットする
961
983
test_scrollbar() GUIでスクロールバーの動きをシミュレートする
984
+ test_refcount() 式の参照カウントを返す
985
+ test_srand_seed() srand() のテスト用の種を設定する
986
+ test_unknown() unknown 型の値を返す
987
+ test_void() void 型の値を返す
962
988
963
989
プロセス間通信: *channel-functions*
964
990
ch_canread() 何か読むものがあるかチェックする
@@ -984,7 +1010,7 @@ Vimサーバー: *server-functions*
984
1010
js_encode() 式をJSONの文字列にエンコードする
985
1011
js_decode() JSONの文字列をVimの型にデコードする
986
1012
987
- ジョブ: *job-functions*
1013
+ ジョブ: *job-functions*
988
1014
job_start() Job を開始する
989
1015
job_stop() Job を停止する
990
1016
job_status() Job のステータスを取得する
@@ -1029,6 +1055,8 @@ Vimサーバー: *server-functions*
1029
1055
term_setkill() 端末内のジョブを停止するシグナルを設定する
1030
1056
term_setrestore() 端末を復元させるためのコマンドを設定する
1031
1057
term_setsize() 端末のサイズを設定する
1058
+ term_setapi() 端末の JSON API 関数名のプリフィックスを設定す
1059
+ る
1032
1060
1033
1061
ポップアップウィンドウ: *popup-window-functions*
1034
1062
popup_create() 画面中央にポップアップを作成する
@@ -1069,8 +1097,27 @@ Vimサーバー: *server-functions*
1069
1097
prompt_setinterrupt() バッファの割り込みコールバックを設定する
1070
1098
prompt_setprompt() バッファのプロンプトテキストを設定する
1071
1099
1100
+ テキストプロパティ: *text-property-functions*
1101
+ prop_add() その位置にプロパティを付ける
1102
+ prop_clear() その複数行からプロパティをすべて取り除く
1103
+ prop_find() プロパティを検索する
1104
+ prop_list() その行の全プロパティのリストを返す
1105
+ prop_remove() その行からプロパティを取り除く
1106
+ prop_type_add() プロパティタイプの追加/定義
1107
+ prop_type_change() プロパティタイプの変更
1108
+ prop_type_delete() テキストのプロパティタイプの削除
1109
+ prop_type_get() プロパティのタイプを返す
1110
+ prop_type_list() プロパティの全タイプをリストで返す
1111
+
1112
+ サウンド: *sound-functions*
1113
+ sound_clear() 再生している全サウンドを停止する
1114
+ sound_playevent() イベントサウンドを再生する
1115
+ sound_playfile() サウンドファイルを再生する
1116
+ sound_stop() サウンドの再生を停止する
1117
+
1072
1118
その他: *various-functions*
1073
1119
mode() 現在の編集モードを得る
1120
+ state() 現在のビジー状態を得る
1074
1121
visualmode() 最後に使われたビジュアルモードの種類
1075
1122
exists() 変数、関数の存在をチェック
1076
1123
has() 機能がサポートされているかをチェック
@@ -1079,6 +1126,10 @@ Vimサーバー: *server-functions*
1079
1126
did_filetype() FileType自動コマンドが使用されたかどうか
1080
1127
eventhandler() イベントハンドラによって起動されたかどうか
1081
1128
getpid() Vim のプロセスIDを得る
1129
+ getimstatus() IME のステータスがアクティブかをチェック
1130
+ interrupt() スクリプト実行に割り込む
1131
+ windowsversion() MS-Windows バージョンの取得
1132
+ terminalprops() 端末の属性
1082
1133
1083
1134
libcall() 外部ライブラリの関数を呼ぶ
1084
1135
libcallnr() 同上、数値を返す
@@ -1087,6 +1138,7 @@ Vimサーバー: *server-functions*
1087
1138
undotree() アンドゥツリーの状態を返す
1088
1139
1089
1140
getreg() レジスタの値を得る
1141
+ getreginfo() レジスタの情報を得る
1090
1142
getregtype() レジスタのタイプを得る
1091
1143
setreg() レジスタの値を設定する
1092
1144
reg_executing() 実行中のレジスタ名を返す
@@ -1102,6 +1154,8 @@ Vimサーバー: *server-functions*
1102
1154
py3eval() | Python | の式を評価する (| +python3 | )
1103
1155
pyeval() | Python | の式を評価する (| +python | )
1104
1156
pyxeval() | python_x | の式を評価する
1157
+ rubyeval() | Ruby | の式を評価する
1158
+
1105
1159
debugbreak() デバッグ中のプログラムを中断する
1106
1160
1107
1161
==============================================================================
0 commit comments