├── .gitattributes ├── .gitignore ├── README.md ├── doc ├── arabic.jax ├── autocmd.jax ├── builtin.jax ├── change.jax ├── channel.jax ├── cmdline.jax ├── debug.jax ├── debugger.jax ├── develop.jax ├── diff.jax ├── digraph.jax ├── editing.jax ├── eval.jax ├── farsi.jax ├── filetype.jax ├── fold.jax ├── ft_ada.jax ├── ft_context.jax ├── ft_hare.jax ├── ft_mp.jax ├── ft_ps1.jax ├── ft_raku.jax ├── ft_rust.jax ├── ft_sql.jax ├── gui.jax ├── gui_w32.jax ├── gui_x11.jax ├── hangulin.jax ├── help.jax ├── helphelp.jax ├── howto.jax ├── if_cscop.jax ├── if_lua.jax ├── if_mzsch.jax ├── if_ole.jax ├── if_perl.jax ├── if_pyth.jax ├── if_ruby.jax ├── if_sniff.jax ├── if_tcl.jax ├── indent.jax ├── index.jax ├── insert.jax ├── intro.jax ├── map.jax ├── mbyte.jax ├── message.jax ├── mlang.jax ├── motion.jax ├── netbeans.jax ├── options.jax ├── os_390.jax ├── os_amiga.jax ├── os_beos.jax ├── os_dos.jax ├── os_haiku.jax ├── os_mac.jax ├── os_mint.jax ├── os_msdos.jax ├── os_os2.jax ├── os_qnx.jax ├── os_risc.jax ├── os_unix.jax ├── os_vms.jax ├── os_win32.jax ├── pattern.jax ├── pi_getscript.jax ├── pi_gzip.jax ├── pi_logipat.jax ├── pi_netrw.jax ├── pi_paren.jax ├── pi_spec.jax ├── pi_tar.jax ├── pi_tutor.jax ├── pi_vimball.jax ├── pi_zip.jax ├── popup.jax ├── print.jax ├── quickfix.jax ├── quickref.jax ├── quotes.jax ├── recover.jax ├── remote.jax ├── repeat.jax ├── rileft.jax ├── russian.jax ├── scroll.jax ├── sign.jax ├── spell.jax ├── sponsor.jax ├── starting.jax ├── syntax.jax ├── tabpage.jax ├── tags-ja ├── tagsrch.jax ├── term.jax ├── terminal.jax ├── testing.jax ├── textprop.jax ├── tips.jax ├── uganda.jax ├── undo.jax ├── userfunc.jax ├── usr_01.jax ├── usr_02.jax ├── usr_03.jax ├── usr_04.jax ├── usr_05.jax ├── usr_06.jax ├── usr_07.jax ├── usr_08.jax ├── usr_09.jax ├── usr_10.jax ├── usr_11.jax ├── usr_12.jax ├── usr_20.jax ├── usr_21.jax ├── usr_22.jax ├── usr_23.jax ├── usr_24.jax ├── usr_25.jax ├── usr_26.jax ├── usr_27.jax ├── usr_28.jax ├── usr_29.jax ├── usr_30.jax ├── usr_31.jax ├── usr_32.jax ├── usr_40.jax ├── usr_41.jax ├── usr_42.jax ├── usr_43.jax ├── usr_44.jax ├── usr_45.jax ├── usr_50.jax ├── usr_51.jax ├── usr_52.jax ├── usr_90.jax ├── usr_toc.jax ├── various.jax ├── version4.jax ├── version8.jax ├── version9.jax ├── vi_diff.jax ├── vietnamese.jax ├── vim9.jax ├── vim9class.jax ├── visual.jax ├── windows.jax └── workshop.jax └── syntax └── help_ja.vim /.gitattributes: -------------------------------------------------------------------------------- 1 | doc/tags-ja text eol=lf 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vim-jp/vimdoc-ja/b880d8f503b07ea4dcc6b22f402cece21c85e338/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vimdoc-ja 2 | 3 | [![Generate vim help](https://github.com/vim-jp/vimdoc-ja-working/actions/workflows/generate.yml/badge.svg)](https://github.com/vim-jp/vimdoc-ja-working/actions/workflows/generate.yml) 4 | [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/vim-jp/vimdoc-ja) 5 | 6 | 日本語に翻訳した Vim 付属のヘルプを配布するためのプロジェクトです。 7 | 8 | 詳しい利用方法については [wiki](https://github.com/vim-jp/vimdoc-ja/wiki) を参照してください。 9 | 10 | HTML 版は から参照することができます。 11 | また において本ヘルプの内容について AI へ質問することができます。 12 | 13 | 間違いを見つけた場合、issue トラッカーかメーリングリストでお知らせください。 14 | 15 | - issue トラッカー 16 | - メーリングリスト 17 | 18 | 翻訳作業に協力していただける方は をご覧ください。 19 | -------------------------------------------------------------------------------- /doc/arabic.jax: -------------------------------------------------------------------------------- 1 | *arabic.txt* For Vim バージョン 9.1. Last change: 2021 Jun 22 2 | 3 | 4 | VIMリファレンスマニュアル by Nadim Shaikli 5 | 6 | 7 | アラビア語サポート (オプション & マッピング) *Arabic* 8 | 9 | 10 | *E800* 11 | right-to-left (右横書き) とアラビア語マッピングを使用するには、Vim を 12 | |+arabic| 機能付きでコンパイルする必要があります。 13 | 14 | これらの機能は Nadim Shaikli によって作成されました。 15 | 16 | このファイルは GUI の Vim で以下の設定をして表示するのが最適です: > 17 | 18 | :set encoding=utf-8 19 | :set arabicshape 20 | 21 | 22 | はじめに 23 | -------- 24 | アラビア語はいくつかの特殊な機能を必要とする言語です。文字は右から左へ向かうの 25 | でスクリーン上でもそのように表示する必要があります (つまり右から左へ表示す 26 | る)。アラビア語は文字変形 (shaping) も必要とします。文字を書く位置によって同じ 27 | 文字でも別の字形になります (単語の最初、中、最後、または単独で書くかで変わ 28 | る)。アラビア語は二種類の文字合成も必要とします。場合によっては、一つの文字に 29 | 他の文字を最大二つまで重ねる (合成、composing) か、二つの文字を一つの文字に置 30 | 換する (結合、combining) かします。 31 | アラビア語を適切に表示するには ISO-8859-6 (U+0600-U+06FF) のフォントに加えて 32 | Presentation Form-B (U+FE70-U+FEFF) のフォントも必要です。これらはいわゆる 33 | ISO-10646-1 フォントのサブセットです。 34 | 35 | コマンド、プロンプト、ヘルプファイルはアラビア語にはなりません。したがってユー 36 | ザーインターフェイスは標準の Vi インターフェイスのままです。 37 | 38 | 39 | 特徴 40 | ----- 41 | o left-to-right ファイルの編集はオリジナルの Vim と変わりません。 42 | 43 | o right-to-left ウィンドウでのファイルの表示と編集。表示方向はウィンドウ単位 44 | なので、同じファイルを right-to-left と left-to-right で同時に表示できま 45 | す。 46 | 47 | o right-to-left のための特殊な端末を必要としない。 48 | right-to-left の機能はハードウェアに依存していません。必要なのはアラビア語 49 | フォントだけです。 50 | 51 | o オリジナルの Vim との互換性。ほとんどの機能は right-to-left モードでも機能 52 | します (バグになりやすい) 53 | 54 | o キーボードマッピングと反転挿入モード (reverse insert mode) を一つのコマンド 55 | で切り替える。 56 | 57 | o アラビア語サポートを一つのコマンドで切り替える。 58 | 59 | o アラビア語モードでは数字は左から右へ入力されます。その後で数字以外の文字を 60 | 入力すると、その文字は数字の一番左側に挿入されます。 61 | 62 | o 反転挿入モードでのコマンドラインのアラビア語キーマッピング。 63 | 64 | o 正式な双方向機能は Vim を双方向対応端末エミュレータ上で実行すれば利用可能で 65 | す。 66 | 67 | 68 | アラビア語フォント *arabicfonts* 69 | ------------------ 70 | 71 | Vim は固定幅フォントを使います。アラビア語には ISO-8859-6 と Presentation 72 | Form-B のフォントが必要です (Form-B 無しではアラビア語は使用できない)。フォン 73 | トを探す際にはいわゆる 'ISO-10646-1' フォントを探してください。インターネット 74 | を検索するか www.arabeyes.org を見て必要なアラビア語フォントを手に入れてくださ 75 | い。 76 | 77 | 78 | フォントのインストール 79 | ---------------------- 80 | 81 | o X ウィンドウシステム (Unix/Linux) でのフォントのインストール 82 | 83 | システムによって違いますが、アラビア語フォントのファイルを適当なディレクト 84 | リにコピーします。そのアラビア語フォントをコピーしたディレクトリに移動して 85 | 次のコマンドを実行します: 86 | 87 | % mkfontdir 88 | % xset +fp path_name_of_arabic_fonts_directory 89 | 90 | 91 | 使用方法 92 | -------- 93 | 実際に Vim でアラビア語を使用する前に、しなければならない設定がいくつかありま 94 | す。 95 | 96 | o アラビア語フォントを設定する 97 | 98 | + Vim GUI で 'guifont' をアラビア語フォントに設定します。Vim ウィンドウで 99 | 次のように入力します。 100 | > 101 | :set guifont=your_ARABIC_FONT 102 | < 103 | NOTE: 'your_ARABIC_FONT' の部分には Linux/Unix システムで使用されている 104 | 実際のフォント名を入れてください。 105 | (例: -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1) 106 | 107 | 'guifont' の設定を .vimrc ファイルに書くこともできます。言い換えると、 108 | ':set guifont=your_ARABIC_FONT' を .vimrc ファイルに書くことができます。 109 | 110 | + X ウィンドウ環境では、'-fn your_ARABIC_FONT' を Vim の起動引数に指定する 111 | 方法もあります。 112 | 113 | o 適切なエンコーディングを設定する 114 | アラビア語に適したエンコーディングを設定するには次のコマンドを .vimrc ファ 115 | イルに追加します。 116 | > 117 | :set encoding=utf-8 118 | < 119 | (このコマンドを Vim ウィンドウで直接実行しないでください) 120 | 簡単に言えば ':set encoding=utf-8' を .vimrc ファイルに書くだけです。 121 | 122 | アラビア語を UTF-8 以外のエンコーディングで使用すると次の警告メッセージが表 123 | 示されます。 124 | 125 | *W17* > 126 | Arabic requires UTF-8, do ':set encoding=utf-8' 127 | 128 | o アラビア語設定の有効化 [近道] 129 | 130 | 手っ取り早く設定するには、コマンドラインから次のようにして Vim を起動する 131 | か、 132 | 133 | % vim -A my_utf8_arabic_file ... 134 | 135 | または Vim の中で次のコマンドを実行して 'arabic' を有効にします 136 | > 137 | :set arabic 138 | < 139 | これが最も簡単な方法です。'termbidi' が有効化されていなければ、次の設定が実 140 | 行されます: 141 | 142 | 1. 適切なキーマップを設定する 143 | 2. 合成文字を一度で削除できるようにする 144 | 3. rightleft モードを有効にする 145 | 4. rightleftcmd モードを有効にする (コマンドラインに作用する) 146 | 5. arabicshape モードを有効にする (表示文字を変更する) 147 | 148 | .vimrc ファイルに ':set arabic' を書いておくこともできます。 149 | 150 | 次のコマンドでアラビア語サポートを無効化できます 151 | > 152 | :set noarabic 153 | < 154 | コマンドによって有効にされた設定がすべてリセットされます。他のバッファに影 155 | 響があるようなグローバル設定は変更されません。 156 | 簡単に言えば 'noarabic' コマンドによって次の設定が実行されます: 157 | 158 | 1. キーマップ切替をリセットする 159 | 2. 合成文字を一度で削除できる機能を無効化にする 160 | 3. rightleft モードを無効化する 161 | 162 | NOTE: 'arabic' コマンドは 'termbidi' を見て端末が双方向テキスト 163 | (bi-directional, bidi) をサポートしているかどうかを考慮します (例えば 164 | "mlterm" がサポートしています)。 165 | 'termbidi' が利用できる場合は、rightleft のサポートが優れているそちら 166 | の使用をお勧めします。 167 | 'termbidi' が有効な場合は 'arabic' はキーマップのみ設定します。 168 | 169 | 'termbidi' を設定する際の垂直分割ウィンドウの分離線には "l" や "𝖨" と 170 | いった LTR の垂直分割記号が使えます。また、文字色を前景色に変更するこ 171 | とで隠すこともできます: > 172 | :set fillchars=vert:l 173 | :hi VertSplit ctermbg=White 174 | < Note これは本来の解決策ではなく回避策です。 175 | 176 | もし、冗長で明示的な方法が好きで、'arabic' コマンドを使って近道をしたくない 177 | という場合は、以下の説明を読んでください (':set arabic' を使用する方はこの 178 | 節は飛ばして構いません)。 179 | 180 | + アラビア語キーマッピングの有効化 181 | 182 | アラビア語キーマップを有効可するには (つまり English/Latin キーボードを 183 | 標準のアラビア語キーボードのようにするには)、'keymap' コマンドを 184 | "arabic" に設定します。Vim ウィンドウで次のように入力します 185 | > 186 | :set keymap=arabic 187 | < 188 | 'keymap' 設定コマンドを .vimrc ファイルに書くこともできます。言い換えれ 189 | ば、.vimrc ファイルに ':set keymap=arabic' を含めることができます。 190 | 191 | アラビア語のキーマッピングとデフォルト (English) のキーマッピングを切り 192 | 替えるには、挿入モード (または追加/置換モード) で 'CTRL-^' キーを押しま 193 | す。コマンドラインのモード表示の隣に "Arabic" の文字列が表示され 194 | (例: -- INSERT Arabic --)、それが現在のキーマップを示します。 195 | 196 | + 合成文字の削除 197 | 198 | 初期設定では 'delcombine' オプションは無効化されています。このオプション 199 | は LAM_ALEF (LAA) 合成文字内の ALEF を削除し、LAM だけを残すことを可能に 200 | します (つまり合成文字を解除して元の字形に戻す。これは harakat とその合 201 | 成字形にも関係する)。このオプションを有効化するには Vim ウィンドウで次の 202 | ように入力します 203 | > 204 | :set delcombine 205 | < 206 | 'delcombine' の設定コマンドを .vimrc ファイルに書くこともできます。言い 207 | 換えれば、.vimrc ファイルに ':set delcombine' を含めることができます。 208 | 209 | + アラビア語 right-to-left モード 210 | 211 | 初期設定では Vim は left-to-right モードで起動します。'rightleft' を設定 212 | することでウィンドウの方向を変更できます。使用方法は次のとおり。 213 | 214 | - left-to-right モードと right-to-left モードの切り替えは ':set 215 | rightleft' と ':set norightleft' でできます。 216 | 217 | - left-to-right モードでは、':set rl' コマンドを実行します 218 | ('rl' は rightleft の省略形)。 219 | 220 | - Vim を起動したときに常に right-to-left モードにしたい場合は '.vimrc' 221 | ファイルに ':set rl' を書いてください。 222 | 223 | + アラビア語 right-to-left コマンドラインモード 224 | 225 | 特定のコマンドでは right-to-left モードで編集ができます。現在対応してい 226 | るのは検索コマンドだけです。 227 | 228 | 動作は 'rightleftcmd' オプションで変更できます。初期設定は "search" で、 229 | これは 'rightleft' がオンになっているウィンドウで検索コマンドを使うと 230 | right-left モードでの編集になります。これを無効化するには次のようにしま 231 | す。 232 | > 233 | :set rightleftcmd= 234 | < 235 | 再び検索コマンドでの right-left 編集を有効化するには次のようにします。 236 | > 237 | :set rightleftcmd& 238 | < 239 | + アラビア語字形モード 240 | 241 | アラビア語は視覚字形変更 (shaping(文字変形), composing(合成), 242 | combining(結合)) を必要としますが、それを有効にするには 'arabicshape' を 243 | 設定します。Vim ウィンドウで次のコマンドを実行します。 244 | > 245 | :set arabicshape 246 | < 247 | .vimrc ファイルで 'arabicshape' を設定することもできます。その場合は 248 | ':set arabicshape' を .vimrc ファイルに書きます。 249 | 250 | 251 | Keymap/Keyboard *arabickeymap* 252 | --------------- 253 | 254 | Vim で使用する文字エンコーディングは標準の UTF-8 です。 255 | 他のエンコーディングの使用は推奨されていません。 256 | 257 | Note: UTF-8 はあらゆるものを含むエンコーディングで、アラビア語において唯一サ 258 | ポートされている (そして推奨されている) エンコーディングです (他のプロプ 259 | ライエタリなエンコーディングは非推奨であり使うべきではありません)。 260 | 261 | o キーボード 262 | 263 | + 挿入モードと置換モードでは CTRL-^ でアラビア語モードとラテン語モードが切 264 | り替わります。 265 | 266 | + キーボードマッピングはマイクロソフトのアラビア語キーマップに基づいていま 267 | す (アラビア語圏のデファクトスタンダードです): 268 | 269 | +---------------------------------------------------------------------+ 270 | |! |@ |# |$ |% |^ |& |* |( |) |_ |+ || |~ ّ | 271 | |1 ١ |2 ٢ |3 ٣ |4 ٤ |5 ٥ |6 ٦ |7 ٧ |8 ٨ |9 ٩ |0 ٠ |- |= |\ |` ذ | 272 | +---------------------------------------------------------------------+ 273 | |Q َ |W ً |E ُ |R ٌ |T لإ |Y إ |U ` |I ÷ |O x |P ؛ |{ < |} > | 274 | |q ض |w ص |e ث |r ق |t ف |y غ |u ع |i ه |o خ |p ح |[ ج |] د | 275 | +-----------------------------------------------------------+ 276 | |A ِ |S ٍ |D [ |F ] |G لأ |H أ |J ـ |K ، |L / |: |" | 277 | |a ش |s س |d ي |f ب |g ل |h ا |j ت |k ن |l م |; ك |' ط | 278 | +------------------------------------------------------+ 279 | |Z ~ |X ْ |C { |V } |B لآ |N آ |M ' |< , |> . |? ؟ | 280 | |z ئ |x ء |c ؤ |v ر |b لا |n ى |m ة |, و |. ز |/ ظ | 281 | +-------------------------------------------------+ 282 | 283 | 制限 284 | ----- 285 | 286 | o Vim の GUI では Bi-directionality (双方向性) は正しくサポートされていません 287 | (つまりアラビア語とラテン語を同じ行に書いたときに正しく表示されません)。 288 | 289 | 290 | 既知のバグ 291 | ---------- 292 | 293 | 既知の小さなバグが一つあります。 294 | 295 | 1. LAM (U+0644) のうしろに haraka (例: Fatha (U+064E)) を入力して、そして 296 | ALEF (U+0627) を入力したとき、文字が正しく結合されません。これは二つの文字 297 | に挟まれた haraka が正しく表示されないために起こります。 298 | 299 | WORK-AROUND: LAM と ALEF の間に harakats を置かないでください。 300 | 一般に、harakats と LAM+ALEF の結合文字が正しく表示されること 301 | は期待できません (二つの文字のうしろに入力したとしてもです)。 302 | これは表示上の問題なので、ファイルを保存するときには正しい情 303 | 報が書き込まれます。情報は失われません。 304 | 305 | 他に既知のバグはありません。 306 | 307 | vim:tw=78:ts=8:noet:ft=help:norl: 308 | -------------------------------------------------------------------------------- /doc/debug.jax: -------------------------------------------------------------------------------- 1 | *debug.txt* For Vim バージョン 9.1. Last change: 2024 May 11 2 | 3 | 4 | VIMリファレンスマニュアル by Bram Moolenaar 5 | 6 | 7 | Vim のデバッグ *debug-vim* 8 | 9 | これは、Vim 自体が正しく動作しない場合にデバッグするためのものである。 10 | Vim script や関数などのデバッグについては、|debug-scripts| を参照。 11 | 12 | 1. gcc と gdb を使ってクラッシュの場所を特定する |debug-gcc| 13 | 2. メモリリークの特定 |debug-leaks| 14 | 3. Windows でのバグレポート |debug-win32| 15 | 16 | ============================================================================== 17 | 18 | 1. gcc と gdb を使ってクラッシュの場所を特定する *debug-gcc* *gdb* 19 | 20 | Vim がテストファイルの 1 つでクラッシュし、コンパイルに gcc を使用している場 21 | 合、Vim がどこでクラッシュするかを正確に見つけるためにできることがある。これは 22 | MingW ツールを使用している場合にも当てはまる。 23 | 24 | 1. "-g" オプション付きで Vim をコンパイル (src/Makefile にそのための行があるの 25 | で、それをコメントアウトする)。さらに "strip" を無効化する (strip をインス 26 | トールしないか、"STRIP = /bin/true" の行を使う)。 27 | 28 | 2. 次のコマンドを実行する ("11" の所を失敗したテストの番号に変える): > 29 | cd testdir 30 | gdb ../vim 31 | run -u unix.vim -U NONE -s dotest.in test11.in 32 | 33 | 3. Vim のクラッシュを確認する。gdb は関連するメッセージを表示するはずである。 34 | 35 | 4. 次のコマンドでスタックトレースを表示できる: > 36 | where 37 | < 次のコマンドで別の場所のスタックトレースを表示できる: > 38 | frame 3 39 | < "3" をスタックトレース内の番号の 1 つに置き換える。 40 | 41 | ============================================================================== 42 | 43 | 2. メモリリークの特定 *debug-leaks* *valgrind* 44 | 45 | Linux を使っていて Vim がメモリリークしていると思われる場合は、メモリリークを 46 | 正確に特定するのに valgrind ツールが非常に役立つ。 47 | 48 | まず、EXITFREE を定義して Vim をビルドする。MAKEFILE でこれを検索して、行のコ 49 | メントを外す。 50 | 51 | 次のコマンドで Vim を起動する: 52 | > 53 | valgrind --log-file=valgrind.log --leak-check=full ./vim 54 | 55 | Note: Vim の実行はとても遅くなる。.vimrc が大きかったり多くのプラグインを入れ 56 | ていたりすると起動にとても時間がかかるので、その場合は "--clean" 引数を指定し 57 | て起動する。 58 | 59 | ライブラリがメモリリークを起こしている場合もよくある。例えば getpwuid() や 60 | XtVaAppCreateShell() など。それらを避けることはできない。リークしているバイト 61 | 数は数キロバイト以下のはずである。 62 | 63 | ============================================================================== 64 | 65 | 3. Windows でのバグレポート *debug-win32* 66 | 67 | Windows版の Vim が再現可能な手段でクラッシュした場合、次の方法で有用なバグレ 68 | ポートを作成できる。 69 | 70 | 3.1 一般事項 ~ 71 | 72 | 実行可能ファイルに対応したデバッグシンボルファイル (PDB) を取得する必要がある。 73 | gvim.exe には gvim.pdb、vim.exe には vim.pdb が必要である。あなたが実行可能ファ 74 | イルを入手したのと同じ場所に用意されているはずである。EXE に対応した (同じ日付 75 | の) PDB でなければならない。 76 | 77 | Microsoft Visual C++ コンパイラを使って自分で実行可能ファイルを作成した場合は、 78 | PDB は EXE と一緒に作成されている。 79 | 80 | Visual Studio を持っている場合、VC Toolkit と WinDbg の代わりにそれを使用する。 81 | 82 | 他のコンパイラを使っている場合は、それぞれ適切なデバッガを使用する必要がある。 83 | Cygwin または MinGW のコンパイラ用の gdb (上記参照 |debug-gcc|) など。 84 | 85 | 86 | *debug-vs2005* 87 | 3.2 Visual Studio 2005/Visual C++ 2005 Express で Vim をデバッグする ~ 88 | 89 | 最初に、vim.exe か gvim.exe を起動し、Visual Studio を起動する。(Visual Studio 90 | を持っていない場合は、|get-ms-debuggers| の説明に従って、無料の Visual C++ 91 | 2005 Express Edition を入手する。) 92 | 93 | メニューから「ツール/プロセスにアタッチ」を選択し、Vim のプロセスを選択する。 94 | 95 | そして、Vim を操作してクラッシュを再現する。「ハンドルされていない例外が発生し 96 | ました」という Visual Studio のダイアログが表示されるので、中断ボタンをクリッ 97 | クしてプロセスを中断する。 98 | 99 | シンボルが読み込めず、ソースコードを表示できなかったときは、もう 1 つダイアロ 100 | グが表示される。OK をクリックする。 101 | 102 | ウィンドウがいくつか開く。呼び出し履歴ウィンドウの右クリックメニューから「シン 103 | ボルの読み込み」を選択する。シンボル検索ダイアログが開くので、(g)vim.pdb のあ 104 | るディレクトリを選択する。 105 | 106 | このとき、呼び出し履歴ウィンドウには Vim の関数名や行番号が表示されているはず 107 | である。どれかをダブルクリックするとソースの検索ダイアログが表示される。Vim の 108 | ソースがあるディレクトリを選択する (ソースがあれば)。 109 | 110 | さらに詳しくデバッグする方法が分からないときは、":help bug-reports" の説明に 111 | 従う。バグレポートに呼び出し履歴を貼り付ける。 112 | 113 | 有料版の Visual Studio を使っている場合は、デバッグメニューから minidump を保 114 | 存できるので、それをバグレポートに添付する。minidump は 100KB 以下の小さなファ 115 | イルで、Vim のプロセスに関する情報が入っている。 116 | Visual C++ 2005 Express Edition では minidump を保存できない。just-in-time デ 117 | バッガ (クラッシュを検出して自動的に起動されるデバッガ) もインストールされな 118 | い。それらが必要なときは WinDbg (|debug-windbg|) を使う。 119 | 120 | *debug-windbg* 121 | 3.3 WinDbg を使って Vim をデバッグする ~ 122 | 123 | WinDbg の入手方法は |get-ms-debuggers| を参照。 124 | 125 | Visual Studio IDE を使うのと同じように、WinDbg から Vim のプロセスにアタッチで 126 | きる。プログラムがクラッシュしたときに、事後分析デバッガ (postmortem debugger) 127 | として、WinDebug を自動的に起動することができる。事後分析デバッガとして WinDeb 128 | を設定するには "windbg -I" を実行する。 129 | 130 | WinDbg から、実行中の Vim のプロセスにアタッチするには、WinDeb を起動し、File 131 | メニューから「プロセスにアタッチ」を選択し、Vim のプロセスを選択して OK をク 132 | リックする。 133 | 134 | メニューから「File->Symbol File Path」を選択し、Vim PDB の入っているフォルダを 135 | symbolpath に追加する。Vim のソースファイルもある場合は、File メニューの 136 | Source File Path を使う。WinDbg でソースファイルを開いたり、ブレークポイントを 137 | 設定したりできる。Vim をクラッシュさせると、クラッシュした場所のソースファイル 138 | が WinDbg で開かれる。View メニューを使って、コールスタック、ローカル変数、 139 | ウォッチウィンドウなどを見ることができる。 140 | 141 | 事後分析デバッガとして WinDbg を使っている場合、WinDbg から Vim のプロセスにア 142 | タッチする必要はない。Vim をクラッシュさせるだけで WinDbg が自動的に起動する。 143 | 上述のように、シンボルファイルパスとソースファイルパスを設定する。 144 | 145 | minidump を保存するには、WinDbg コマンドラインで次のコマンドを入力する: > 146 | .dump vim.dmp 147 | < 148 | *debug-minidump* 149 | 3.4 Minidump を開く ~ 150 | 151 | Visual Studio か WinDbg を使って minidump を開くことができる。 152 | 153 | Visual Studio 2005 の場合: メニューから「ファイル->開く->プロジェクト/ソリュー 154 | ション」選択し、.dmp ファイルを開く。F5 キーを押してデバッガを起動する。 155 | |debug-vs2005| の指示に従って Symbol File Path を設定する。 156 | 157 | WinDbg の場合: メニューから「File->Open Crash Dump」を選択する。|debug-windbg| 158 | の指示に従って Symbol File Path を設定する。 159 | 160 | *get-ms-debuggers* 161 | 3.5 Microsoft デバッグツールの入手方法 ~ 162 | 163 | Windows 用のデバッグツールは次の場所からダウンロードできる 164 | https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-download-tools 165 | これには WinDbg デバッガが含まれている。 166 | 167 | Visual C++ 2005 Express Edition は次の場所から無料でダウンロードできる。 168 | http://msdn.microsoft.com/vstudio/express/visualC/default.aspx 169 | 170 | ========================================================================= 171 | vim:tw=78:ts=8:noet:ft=help:norl: 172 | -------------------------------------------------------------------------------- /doc/debugger.jax: -------------------------------------------------------------------------------- 1 | *debugger.txt* For Vim バージョン 9.1. Last change: 2019 Dec 21 2 | 3 | 4 | VIMリファレンスマニュアル by Gordon Prieur 5 | 6 | 7 | デバッガ支援機能 *debugger-support* 8 | 9 | これらの機能はデバッガ、統合プログラミング環境(IPE)、統合開発環境(IDE)との統合 10 | のためのものである。Vim の端末ウィンドウ内で動作するデバッガについては 11 | |terminal-debugger| を参照。 12 | 13 | 1. デバッガ機能 |debugger-features| 14 | 2. Vimのコンパイルオプション |debugger-compilation| 15 | 16 | 17 | ============================================================================== 18 | 1. デバッガ機能 *debugger-features* 19 | 20 | 以下の機能が利用できる: 21 | 22 | もう1つのコマンド入力 |alt-input| 23 | デバッグ目印 |debug-signs| 24 | デバッグソースコード強調 |debug-highlight| 25 | メッセージフッター |gui-footer| 26 | バルーンウィンドウ |balloon-eval| 27 | 28 | これらの機能はMotifバージョンのgvimで使うために特別に追加された。しかしなが 29 | ら、|alt-input| と |debug-highlight|はvimとgvimでも使用できるように書かれてい 30 | る。その他の機能は非GUIバージョンのVimでもわずかな変更で使うことができる。だ 31 | が、著者はそのような変更をしていないし、Motif GUIではないバージョンのVimではテ 32 | ストしていない。 33 | 34 | 35 | 1.1 もう1つのコマンド入力 *alt-input* 36 | 37 | Vimがデバッガと協調動作するには、最低限デバッガや外部ツールからの入力のための 38 | 接続が必要である。多くの場合は出力のための接続も必要であるがこれは絶対に必要と 39 | いうわけではない。 40 | 41 | 外部デバッガがVimにコマンドを送ることが入力接続の目的である。デバッガから送ら 42 | れるコマンドは現在のデバッグ環境や状態を表示するために充分である必要がある。 43 | 44 | 現在の実装はXツールキット(X Toolkit)の発送ループとXtAddInput()ファンクション 45 | コールを基本にしている。 46 | 47 | 48 | 1.2 デバッグ目印 *debug-signs* 49 | 50 | 多くのデバッガは小さな目印を表示したりその行を色で強調することで特定の行に印を 51 | 付ける。デバッガは|:sign|コマンドを使って(Vimに)グラフィカルな目印を設定させる 52 | ことができる。この機能の使われ方の一例は、デバッグしているプログラムの実行位置 53 | (プログラムカウンタ:PC)を表示するのにデバッガが表示する矢印に見る事ができる。 54 | 別の例ではブレークポイントを示す小さな停止記号がある。これらの視覚的な強調は 55 | ユーザーがデバッガ状態の経過を追う助けになる。 56 | 57 | この機能はデバッガ以外の用途にも使用できる。IPEはビルドエラー、検索したテキス 58 | ト、その他を強調するのに何かしらの目印を使用する。この機能は印がより高い視認性 59 | を確保するために|debug-highlight|と一緒に利用できる。 60 | 61 | デバッグ目印は|:sign|コマンドを使って定義、設置する。 62 | 63 | 64 | 1.3 デバッグソースコード強調 *debug-highlight* 65 | 66 | この機能により行に優れた強調を施すことができる。これは特定の行を目立たせること 67 | を目的としている。この強調はvimとgvim両方で動作させることができ、gvimに限り多 68 | くの場合デバッグ目印と一緒に使うことができる。唯一の例外はSun Microsystemの 69 | dttermである。dttermには目印を表示するためのスペースがある。{訳注: なので、こ 70 | れを利用する際はコンソールvimでも目印を利用可能となる} 71 | 72 | 73 | 1.4 メッセージフッター *gui-footer* 74 | 75 | メッセージフッターはデバッガやIPEからのメッセージを表示するのに使用する。また 76 | メニューやツールバーのtips(一言ヒント)を表示するのにも使用できる。GUIウィンド 77 | ウの下のフッターエリアは、Exコマンドを表示する行のさらに下に位置する。 78 | 79 | フッターエリアの表示・非表示は 'guioptions' の 'F' フラグで制御する。 80 | 81 | 82 | 1.5 バルーンウィンドウ *balloon-eval* 83 | 84 | この機能はデバッガや外部ツールに、マウスが指す位置に応じた動的な情報を表示する 85 | 機能を提供する。この機能は「Sun's Visual WorkShop」のデバッガに式の評価結果を 86 | 表示させることを目的とした。しかしながら、その他の情報を表示するのに利用できる 87 | よう、可能な限り一般的な様式で実現されている。ただし、機能は制限されている。高 88 | 度なポップアップについては |popup-window| を参照。 89 | 90 | バルーンウィンドウを使うもう1つの方法は、オプション 'balloonexpr' を使うことで 91 | ある。これは完全にユーザーが定義できる。 92 | 93 | バルーンウィンドウには幾つかの設定可能なパラメーターがある。Motifではフォント 94 | リストと色はXリソース経由で設定される(XmNballoonEvalFontList, 95 | XmNballoonEvalBackground, XmNballoonEvalForeground)。 96 | オプション 'balloondelay' はバルーンを表示するまでの遅延時間を設定する。 97 | この機能を有効にするにはオプション 'ballooneval' や 'balloonevalterm' をオンに 98 | する必要がある。 99 | 100 | バルーンウィンドウは GUI の場合 |+balloon_eval| 機能付きでコンパイルした時のみ 101 | 利用できる。端末の場合 |+balloon_eval_term| 機能が必要である。 102 | 103 | バルーンウィンドウ関数はツールバーのツールチップを表示する際にも利用されてい 104 | る。これにはオプション 'ballooneval' を設定する必要はない。しかしその他の設定 105 | はこのツールチップにも適用される。 106 | 107 | ============================================================================== 108 | 2. Vimのコンパイルオプション *debugger-compilation* 109 | 110 | デバッガ機能はSunの「Visual WorkShop Integrated Programming Environment」(ipe) 111 | と一緒に使うために加えられた。しかし、それらの機能は他のデバッガも一部もしくは 112 | 全部を使うことができるように、可能な限り一般的な様式で実現されている。 113 | 114 | 以下のコンパイル時のプリプロセッサー変数で機能の有無効を制御する: 115 | 116 | もう1つのコマンド入力 ALT_X_INPUT 117 | デバッグ目印 FEAT_SIGNS 118 | デバッグソースコード強調 FEAT_SIGNS 119 | メッセージフッター FEAT_FOOTER 120 | バルーンウィンドウ FEAT_BEVAL 121 | 122 | Sun Visual WorkShop は既に存在しないため、この製品特有のサポートは削除された。 123 | 124 | SunのNetBeansのサポートについては|netbeans|を参照。 125 | 126 | vim:tw=78:sw=4:ts=8:noet:ft=help:norl: 127 | -------------------------------------------------------------------------------- /doc/farsi.jax: -------------------------------------------------------------------------------- 1 | *farsi.txt* For Vim バージョン 9.1. Last change: 2019 May 05 2 | 3 | 4 | VIMリファレンスマニュアル by Mortaza Ghassab Shiran 5 | 6 | ペルシア語マッピングと右横書き *farsi* *Farsi* 7 | 8 | 9 | *E27* 10 | Farsi(ペルシア語)のサポートはパッチ8.1.0932で削除された。その時点で時代遅れで 11 | 使われていなかった。 12 | 13 | Farsiのサポートを取り戻したい場合は、8.1のリリースで存在していた古いFarsiコー 14 | ドを確認すること。Unicode文字セットを使用してArabic(アラビア語)サポートとマー 15 | ジする必要がある。 16 | 17 | 18 | vim:tw=78:ts=8:noet:ft=help:norl: 19 | -------------------------------------------------------------------------------- /doc/ft_context.jax: -------------------------------------------------------------------------------- 1 | *ft_context.txt* For Vim バージョン 9.1. Last change: 2024 Jan 01 2 | 3 | これは ConTeXt ファイルタイププラグインのドキュメントである。 4 | 5 | NOTE: このプラグインは +vim9script が必要である。 6 | 7 | ============================================================================== 8 | ☆内容 *context.vim* *ft-context* 9 | 10 | 1. 前書き |ft-context-intro| 11 | 2. コマンド |ft-context-commands| 12 | 3. 設定 |ft-context-settings| 13 | 4. マッピング |ft-context-mappings| 14 | 15 | ============================================================================== 16 | *ft-context-intro* 17 | 前書き ~ 18 | 19 | ConTeXt は、LaTeX と同じで、TeX 上に構築されたマクロベースの組版システムである: 20 | > 21 | https://wiki.contextgarden.net 22 | https://wiki.contextgarden.net/Vim 23 | < 24 | ConTeXt プラグインは構文ハイライト、組版した ConTeXt 文章の補完とサポートを提 25 | 供する。文章を組版するのに推奨する方法は |:ConTeXt| を使うことである。これは 26 | `$PATH` 上で見付けた `mtxrun` スクリプトを動作させる。 27 | 28 | コマンドとその環境でよりきめ細かな制御をするには、`context.Typeset()` を直接使 29 | うことができる (または旧来の Vim script からは `context#Typeset()`)。例えば、 30 | `~/context` 内にインストールされているバージョンの ConTeXt の場合、以下のよう 31 | にそれを使用する関数を定義できる: 32 | > 33 | import autoload 'context.vim' 34 | 35 | def MyConTeXt() 36 | const env = {'PATH': 37 | printf("%s/context/tex/texmf--/bin:%s", $HOME, $PATH)} 38 | context.Typeset("%", env) 39 | enddef 40 | 41 | このコードは `~/.vim/after/ftplugin/context.vim` に置かれるかもしれない。そし 42 | て、カスタムコマンドを呼び出すためのマッピングを定義することができる: 43 | > 44 | nnoremap t MyConTeXt() 45 | < 46 | `context.Typeset()` は、カスタムの組版コマンドを指定するための 3 番目のオプショ 47 | ナルな引数を受け入れる。これは、パスを受け取り、コマンドをリストとして返す関数 48 | でなければならない。例えば: 49 | > 50 | def ConTeXtCustomCommand(path: string): list 51 | return ['mtxrun', '--script', 'context', '--nonstopmode', path] 52 | enddef 53 | 54 | context.ConTeXtTypeset("%", v:none, ConTeXtCustomCommand) 55 | < 56 | 大規模なプロジェクトでは、ルートドキュメントと様々な章ファイルで構成されること 57 | がよくある。章ファイルを編集する場合、ルートファイルに切り替えることなく、章 58 | ファイル上で直接 |:ConTeXt| を呼び出すと便利である。各章ファイルの先頭には、 59 | ルートファイルへの相対パスを指定する "マジック行" を追加することができる。例え 60 | ば: 61 | > 62 | % !TEX root = ../MyRoot.tex 63 | < 64 | Vim は、カレントバッファの最初の 10 行内にマジック行を検索する: 見付かった場合 65 | はカレントバッファの文書ではなく、その行で指定された文書が組版される。ルート文 66 | 書が Vim で開かれている必要はない。 67 | 68 | 補完と構文ハイライトを拡張するには、ConTeXt を使用して補助ファイル群を生成して 69 | 設定に追加する。設定が `~/.vim` にある場合は、これらのコマンドが使用できる: 70 | > 71 | mkdir -p ~/.vim/syntax/shared 72 | cd ~/.vim/syntax/shared 73 | mtxrun --script interface --vim 74 | < 75 | 最後のコマンドは以下の構文ファイルを生成する: 76 | 77 | - `context-data-context.vim`; 78 | - `context-data-interfaces.vim`; 79 | - `context-data-metafun.vim`; 80 | - `context-data-tex.vim`. 81 | 82 | 同じコマンドを使用して、これらの構文ファイルを更新できる。 83 | 84 | *ft-context-commands* 85 | コマンド ~ 86 | *:ConTeXt* 87 | カレントバッファの文書を組版するバックグラウンド |job| を開始する。このコマン 88 | ドは別バッファの文書を組版したい場合、オプションとしてバッファ名を受け入れる。 89 | 90 | *:ConTeXtLog* 91 | カレントバッファの文章ソースに対応するログファイルを編集する。 92 | 93 | *:ConTeXtJobsStatus* 94 | 現在バックグラウンドで動作しているジョブ数を表示する。 95 | 96 | *:ConTeXtStopJobs* 97 | 現在バックグラウンドで動作している ConTeXt ジョブをすべて停止する。 98 | 99 | *ft-context-settings* 100 | 設定 ~ 101 | *'b:context_ignore_makefile'* 102 | *'g:context_ignore_makefile'* 103 | |:make| で(同期的な)文章の組版が行える。Makefile が存在し、このオプションが未 104 | 設定の場合、通常の `make` が使用される。このオプションが設定されている場合は、 105 | Makefile が存在していても、代わりに `mtxrun` が呼び出される。 106 | > 107 | g:context_ignore_makefile = 0 108 | < 109 | NOTE: |:make| を使用する前に、バッファの作業ディレクトリを組版するファイルの 110 | ディレクトリに設定する。 111 | 112 | *'g:context_extra_options'* 113 | `mtxrun` に渡す追加のオプションのリスト。 114 | > 115 | g:context_extra_options = [] 116 | < 117 | *'b:context_include'* 118 | *'g:context_include'* 119 | \startGROUP と \stopGROUP の間で有効になる構文ハイライトのファイルタイプ/GROUP 120 | のペアの辞書。デフォルトでは `\startXML` と `\stopXML` の間がXMLでハイライトさ 121 | れる。 122 | > 123 | g:context_include = {'xml': 'XML'} 124 | 125 | NOTE: Lua と MetaPost は個別のブロック内では常にハイライトされる。 126 | 127 | *'g:no_context_maps'* 128 | 設定時、マッピングは定義されない。 129 | > 130 | g:no_context_maps = 0 131 | < 132 | *ft-context-mappings* 133 | マッピング ~ 134 | 135 | tp "reflow TeX paragraph"、TeX での段落を整形する。 136 | 137 | i$ "inside inline math block"、インラインの数式ブロック内 138 | 部を選択する。 139 | 140 | a$ "around inline math block"、インラインの数式ブロックを 141 | 選択する。 142 | 143 | ]] [count] セクションの開始に進む。 144 | 145 | [[ [count] セクションの開始に戻る。 146 | 147 | ][ [count] セクションの終了に進む。 148 | 149 | [] [count] セクションの終了に戻る。 150 | 151 | ]} [count] ブロックの終了 (\stop..., \setup..., 152 | \define...) に進む。 153 | 154 | [{ [count] ブロックの開始 (\start..., \setup..., 155 | \define...) に戻る。 156 | 157 | vim:tw=78:sw=4:ts=8:noet:ft=help:norl: 158 | -------------------------------------------------------------------------------- /doc/ft_hare.jax: -------------------------------------------------------------------------------- 1 | *ft_hare.txt* Hare プログラミング言語のサポート 2 | 3 | ============================================================================== 4 | ☆内容 *hare* 5 | 6 | 1. 前書き |hare-intro| 7 | 2. ファイルタイププラグイン |hare-plugin| 8 | 3. 設定 |hare-settings| 9 | 10 | ============================================================================== 11 | ☆前書き *hare-intro* 12 | 13 | このプラグインは、Hare プログラミング言語に構文のハイライト、インデント、その 14 | 他の機能を提供する。Hare モジュール内の README ファイルのサポートも提供されて 15 | いるが、これは |g:filetype_haredoc| を設定して有効にする必要がある。 16 | 17 | ============================================================================== 18 | ☆ファイルタイププラグイン *hare-plugin* 19 | 20 | このプラグインは、HAREPATH 環境変数の内容を含むように 'path' の値を自動的に設 21 | 定し、|gf| などのコマンドで標準ライブラリまたはサードパーティのモジュールを直 22 | 接開くことができるようにする。HAREPATH が設定されていない場合、デフォルトで、 23 | ほとんどの Unix 系ファイルシステムの推奨パス、つまり /usr/src/hare/stdlib およ 24 | び /usr/src/hare/third-party が使用される。 25 | 26 | ============================================================================== 27 | ☆設定 *hare-settings* 28 | 29 | このプラグインは、vimrc で定義して動作を設定できる少数の変数を提供する。 30 | 31 | *g:filetype_haredoc* 32 | このプラグインは、Hare モジュールを自動的に検出し、README ファイルに "haredoc" 33 | ファイルタイプを設定できる。ヒューリスティックとして使用される再帰的ディレクト 34 | リ検索はパフォーマンスに若干の影響を与えるため、この機能はデフォルトで無効に 35 | なっており、特別にオプトインする必要がある: > 36 | let g:filetype_haredoc = 1 37 | < 38 | 検索動作を調整する方法については、|g:haredoc_search_depth| を参照。 39 | 40 | *g:hare_recommended_style* 41 | 公式の Hare スタイルガイドに従って、次のオプションがデフォルトで設定される: > 42 | setlocal noexpandtab 43 | setlocal shiftwidth=0 44 | setlocal softtabstop=0 45 | setlocal tabstop=8 46 | setlocal textwidth=80 47 | < 48 | この動作を無効にするには: > 49 | let g:hare_recommended_style = 0 50 | < 51 | *g:hare_space_error* 52 | デフォルトでは、末尾の空白文字とスペース文字が前にあるタブはエラーとしてハイラ 53 | イトされる。挿入モードでは、これは自動的にオフになる。このハイライトを完全に無 54 | 効にするには: > 55 | let g:hare_space_error = 0 56 | < 57 | *g:haredoc_search_depth* 58 | デフォルトでは、|g:filetype_haredoc| が有効な場合、カレントディレクトリとその 59 | 直下のサブディレクトリのみ Hare ファイルが検索される。最大検索深度は以下のよう 60 | に調整する: > 61 | let g:haredoc_search_depth = 2 62 | < 63 | 値 効果~ 64 | 0 カレントディレクトリのみ検索。 65 | 1 カレントディレクトリと直下のサブディレクトリを検索。 66 | 2 カレントディレクトリと 2 階層のサブディレクトリを検索。 67 | 68 | 最大検索深度は任意の整数に設定できるが、2 より大きい値を使用することは推奨され 69 | ず、ほとんどの状況で具体的なメリットは得られないだろう。 70 | 71 | ============================================================================== 72 | vim:tw=78:ts=8:noet:ft=help:norl: 73 | -------------------------------------------------------------------------------- /doc/ft_mp.jax: -------------------------------------------------------------------------------- 1 | *ft_mp.txt* For Vim バージョン 9.1. Last change: 2022 Aug 12 2 | 3 | これは METAFONT および MetaPost ファイルタイププラグインのドキュメントである。 4 | 特に指定がない限り、以下で定義されているコマンド、設定、およびマッピングは、両 5 | 方のファイルタイプに等しく適用される。 6 | 7 | NOTE: このプラグインは +vim9script が必要である。 8 | 9 | ============================================================================== 10 | ☆内容 *mp.vim* *ft-metapost* 11 | *mf.vim* *ft-metafont* 12 | 13 | 1. 前書き |ft-metapost-intro| 14 | 2. コマンド |ft-metapost-commands| 15 | 3. 設定 |ft-metapost-settings| 16 | 4. マッピング |ft-metapost-mappings| 17 | 18 | ============================================================================== 19 | *ft-metapost-intro* 20 | *ft-metafont-intro* 21 | 前書き ~ 22 | このファイルタイププラグインは、METAFONT および MetaPost 文書の編集のための、 23 | 構文の色付け、インデント、補完など幅広いサポートを提供する。 24 | 25 | METAFONT および MetaPost コードのインデントルールの定義は、構文が非常に自由度 26 | が高いため、トリッキーでやや主観的である。プラグインは、ほとんどの場合うまく機 27 | 能するいくつかのヒューリスティックを使用するが、特定のケースでは、手動で定義さ 28 | れたインデントが `gg=G` などのコマンドによって保持されるように、自動的なルール 29 | をオーバーライドしたい場合がある。 30 | 31 | これは、`%>`, `%<`, `%=` または `%!` を行に追加して、次行のインデントを明示的 32 | に制御することで実現できる。`<` と `>` 記号は何度も繰り返すことができる。例え 33 | ば、`%>>` は次行を 2 回インデントすることを意味する。もちろん、`%<` は次行をイ 34 | ンデント解除することを意味し、`%=` は次行のインデントを現在行のインデントと同 35 | じに設定し、そして、`%!` は次行のインデントが手動で設定されたものから変更され 36 | ないことを意味する。 37 | 38 | 例えば、これはシンプルなマクロのデフォルトのインデントである: 39 | > 40 | def foo = 41 | makepen( 42 | subpath(T-n,t) of r 43 | shifted .5down 44 | --subpath(t,T) of r shifted .5up -- cycle 45 | ) 46 | withcolor black 47 | enddef 48 | < 49 | 特別なコメントを追加することで、インデントを任意に調整できる: 50 | > 51 | def foo = 52 | makepen( 53 | subpath(T-n,t) of r %> 54 | shifted .5down %> 55 | --subpath(t,T) of r shifted .5up -- cycle %<<< 56 | ) 57 | withcolor black 58 | enddef 59 | < 60 | *ft-metapost-commands* 61 | コマンド ~ 62 | *:FixBeginfigs* 63 | カレントバッファの beginfig() ブロックの n 番目の図が番号 n になるようにリナン 64 | バリングする。MetaPost のみ。 65 | 66 | *ft-metapost-settings* 67 | *ft-metafont-settings* 68 | 設定 ~ 69 | *'g:mf_other_macros'* 70 | cmbase や logo 等、他のいくつかの基本的なマクロ名をハイライトする。これは、 71 | METAFONT バッファではデフォルトで 1 に設定され、MetaPost バッファではデフォル 72 | トで 0 に設定される。 73 | 74 | *'g:mf_plain_macros'* 75 | plain.mf で定義されたキーワードをハイライトする。METAFONT バッファではデフォル 76 | トで 1 に設定され、MetaPost バッファではデフォルトで 0 に設定される。 77 | 78 | *'g:mf_plain_modes'* 79 | modes.mf で定義されたキーワードをハイライトする。METAFONT バッファではデフォル 80 | トで 1 に設定され、MetaPost バッファではデフォルトで 0 に設定される。 81 | 82 | *'g:mp_close_tag'* 83 | インデントされたブロックを終了する追加のキーワードを定義する。例えば、次のよう 84 | に定義した場合: 85 | > 86 | g:mp_close_tag = ['\'] 87 | < 88 | `endfoo` で始まるすべての行は、その前行と比較してインデントが解除される。 89 | > 90 | g:mp_close_tag = [] 91 | < 92 | *'b:mp_metafun'* 93 | *'g:mp_metafun'* 94 | 1 に設定した場合、ConTeXt の MetaFun キーワードがハイライトされる。MetaPost の 95 | み。 96 | > 97 | g:mp_metafun = 0 98 | < 99 | *'g:mp_mfplain_macros'* 100 | mfplain.mp で定義されたキーワードがハイライトされる。MetaPost のみ。 101 | > 102 | g:mp_mfplain_macros = 1 103 | < 104 | *'g:mp_open_tag'* 105 | インデントされるブロックを開始する追加のキーワードを定義する。例えば、次のよう 106 | に定義した場合: 107 | > 108 | g:mp_open_tag = ['\'] 109 | < 110 | `beginfoo` に続く行はインデントされる。 111 | > 112 | g:mp_open_tag = [] 113 | < 114 | *'g:mp_other_macros'* 115 | すべての基本マクロパッケージ(boxes, rboxes, format, graph, marith, sarith, 116 | string, TEX)で定義されたキーワードをハイライトする。このオプションは、MetaPost 117 | バッファのみに影響する。 118 | > 119 | g:mp_other_macros = 1 120 | < 121 | *'g:mp_plain_macros'* 122 | plain.mp で定義されたキーワードをハイライトする。MetaPost のみ。 123 | > 124 | g:mp_plain_macros = 1 125 | < 126 | *'g:no_mp_maps'* 127 | *'g:no_mf_maps'* 128 | 設定時、対応ファイルタイプによるバッファのマッピングを一切定義しない。 129 | > 130 | g:no_mp_maps = 0 131 | g:no_mf_maps = 0 132 | < 133 | *ft-metapost-mappings* 134 | *ft-metafont-mappings* 135 | マッピング ~ 136 | 137 | ]] [count] vardef, マクロ, 図に進む。 138 | 139 | [[ [count] vardef, マクロ, 図に戻る。 140 | 141 | ][ [count] vardef, マクロ, 図の終了に進む。 142 | 143 | [] [count] vardef, マクロ, 図の終了に戻る。 144 | 145 | ]} [count] ブロックの終了(fi, endfor, endgroup)に進む。 146 | 147 | [{ [count] ブロックの開始(if, for, begingroup)に戻る。 148 | 149 | vim:tw=78:sw=4:ts=8:noet:ft=help:norl: 150 | -------------------------------------------------------------------------------- /doc/ft_ps1.jax: -------------------------------------------------------------------------------- 1 | *ft_ps1.txt* Windows PowerShell 用のシンタックスプラグイン 2 | 3 | 著者: Peter Provost 4 | ライセンス: Apache 2.0 5 | URL: https://github.com/PProvost/vim-ps1 6 | 7 | ☆はじめに *ps1-syntax* 8 | 9 | このプラグインは、Windows PowerShell スクリプト、モジュール、XML 設定ファイル 10 | 用のシンタックス、インデント、ファイルタイプ検知を提供する。 11 | 12 | 13 | ☆概要 *ps1-about* 14 | 15 | 最新版の入手やバグの報告は GitHub にて: 16 | 17 | https://github.com/PProvost/vim-ps1 18 | 19 | 20 | ☆折り畳み *ps1-folding* 21 | 22 | ps1 シンタックスファイルは、スクリプトブロックとスクリプト内の電子署名に対する 23 | 構文折り畳み(|:syn-fold| 参照)を提供する。 24 | 25 | 'foldmethod' が "syntax" に設定されている場合、関数とスクリプトのブロックが折 26 | り畳まれる。無効にしたい場合は、次のコマンドを .vimrc に書くか、スクリプトを開 27 | く前に実行すること: > 28 | 29 | :let g:ps1_nofold_blocks = 1 30 | < 31 | スクリプト内の電子署名も、次を使用しない限り折り畳まれる: > 32 | 33 | :let g:ps1_nofold_sig = 1 34 | < 35 | Note: 折り畳みによりシンタックスハイライトが著しく遅くなることがある。特に巨大 36 | なファイルで顕著である。 37 | 38 | 39 | ☆コンパイラ *ps1-compiler* 40 | 41 | powershell の `:compiler` スクリプトは、|:make| が PowerShell でスクリプトを実 42 | 行するように設定する。 43 | 44 | デフォルトでは、適切な PowerShell コマンドが選択される: 利用可能なら `pwsh`、 45 | そうでなければ `powershell` である。コマンドをカスタマイズすることもできる: > 46 | 47 | :let g:ps1_makeprg_cmd = '/path/to/pwsh' 48 | < 49 | 例外の種別情報を表示するように設定するには: > 50 | 51 | :let g:ps1_efm_show_error_categories = 1 52 | < 53 | 54 | ☆キーワード検索 *ps1-keyword* 55 | 56 | PowerShell の Get-Help を利用してキーワードの検索をするには、|K| キーを押下す 57 | る。より便利にページングしたい場合は、多数の Linux ディストリビューションや 58 | macOS に同梱されているページャの `less` をインストールすること。 59 | 60 | Windows では https://chocolatey.org/packages/less/ およびこれに類似した多数の 61 | 他の配布がある。`less` は環境変数 `PATH` に含まれるディレクトリに配置する。上 62 | 記の chocolatey はこれを行う。 63 | 64 | ------------------------------------------------------------------------------ 65 | vim:ft=help: 66 | -------------------------------------------------------------------------------- /doc/ft_raku.jax: -------------------------------------------------------------------------------- 1 | *ft_raku.txt* Raku プログラミング言語ファイルタイプ 2 | 3 | *vim-raku* 4 | 5 | vim-raku はシンタックスハイライト、インデント、その他 Raku プログラムの編集の 6 | ためのサポートを提供する。 7 | 8 | 1. Raku ファイル内での Unicode の利用 |raku-unicode| 9 | 10 | ============================================================================== 11 | 1. Raku ファイル内での Unicode の利用 *raku-unicode* 12 | 13 | Unicode の記号を用いて新しい演算子を定義することは、あなたの Raku プログラムを 14 | 読み易くする良い方法である。参照: 15 | https://perl6advent.wordpress.com/2012/12/18/day-18-formulas-resistance-is-futile/ 16 | 17 | Raku は基本的な演算子については ASCII での代替定義をしているが(参照 18 | https://docs.raku.org/language/unicode_ascii )、Unicode 演算子の全範囲が使える 19 | のが望しい。あなたのオペレーティングシステムが入力環境を提供していても、Vim 組 20 | み込み機能を使うのが望しいだろう。 21 | 22 | 自然な方法でこれらの記号を Vim 内に出すにはダイグラフショートカットを使う 23 | (:help |digraphs-use|)。多くの記号が定義されており、`:digraphs` とタイプするこ 24 | とでその一覧が得られる。便利な方法として、ダイグラフの一覧をファイルに保存して 25 | それを読んでもよい。シェルからなら: > 26 | vim +'redir >/tmp/vim-digraphs-listing.txt' +digraphs +'redir END' +q 27 | 28 | 標準の Vim のダイグラフにいくつかある: 29 | << « /0 ∅ !< ≮ ~ 30 | >> » Ob ∘ !> ≯ ~ 31 | ., … 00 ∞ (C ⊂ ~ 32 | (U ∩ -: ÷ )C ⊃ ~ 33 | )U ∪ (_ ⊆ >= ≥ ~ 34 | ?= ≅ )_ ⊇ =< ≤ ~ 35 | (- ∈ ?= ≅ != ≠ ~ 36 | -) ∋ ?- ≃ ~ 37 | 38 | ギリシャ文字は '*' の後に同等のラテン文字を続ける: 39 | *p π ~ 40 | *t τ ~ 41 | *X × ~ 42 | 43 | 下付きと上付き数値は 's' と 'S' と共に: 44 | 0s ₀ 0S ⁰ ~ 45 | 1s ₁ 1S ¹ ~ 46 | 2s ₂ 9S ⁹ ~ 47 | 48 | しかし、いくつかは標準では定義されていない。それらについては ~/.vimrc ファイル 49 | にダイグラフの定義を追加することができる。 > 50 | exec 'digraph \\ ' .. char2nr('∖') 51 | exec 'digraph \< ' .. char2nr('≼') 52 | exec 'digraph \> ' .. char2nr('≽') 53 | exec 'digraph (L ' .. char2nr('⊈') 54 | exec 'digraph )L ' .. char2nr('⊉') 55 | exec 'digraph (/ ' .. char2nr('⊄') 56 | exec 'digraph )/ ' .. char2nr('⊅') 57 | exec 'digraph )/ ' .. char2nr('⊅') 58 | exec 'digraph U+ ' .. char2nr('⊎') 59 | exec 'digraph 0- ' .. char2nr('⊖') 60 | " オイラー数/ネイピア数 61 | exec 'digraph ne ' .. char2nr('𝑒') 62 | " Raku の atomic 演算子記号 63 | exec 'digraph @@ ' .. char2nr('⚛') 64 | 65 | 別の方法としては、挿入モードでの短縮入力で ASCII の演算子から同等の Unicode の 66 | 単一文字へ変換することもできる。 > 67 | iabbrev !(<) ⊄ 68 | iabbrev !(<=) ⊈ 69 | iabbrev !(>) ⊅ 70 | iabbrev !(>=) ⊉ 71 | iabbrev !(cont) ∌ 72 | iabbrev !(elem) ∉ 73 | iabbrev != ≠ 74 | iabbrev (&) ∩ 75 | iabbrev (+) ⊎ 76 | iabbrev (-) ∖ 77 | iabbrev (.) ⊍ 78 | iabbrev (<) ⊂ 79 | iabbrev (<+) ≼ 80 | iabbrev (<=) ⊆ 81 | iabbrev (>) ⊃ 82 | iabbrev (>+) ≽ 83 | iabbrev (>=) ⊇ 84 | iabbrev (\|) ∪ 85 | iabbrev (^) ⊖ 86 | iabbrev (atomic) ⚛ 87 | iabbrev (cont) ∋ 88 | iabbrev (elem) ∈ 89 | iabbrev * × 90 | iabbrev **0 ⁰ 91 | iabbrev **1 ¹ 92 | iabbrev **2 ² 93 | iabbrev **3 ³ 94 | iabbrev **4 ⁴ 95 | iabbrev **5 ⁵ 96 | iabbrev **6 ⁶ 97 | iabbrev **7 ⁷ 98 | iabbrev **8 ⁸ 99 | iabbrev **9 ⁹ 100 | iabbrev ... … 101 | iabbrev / ÷ 102 | iabbrev << « 103 | iabbrev <<[=]<< «=« 104 | iabbrev <<[=]>> «=» 105 | iabbrev <= ≤ 106 | iabbrev =~= ≅ 107 | iabbrev >= ≥ 108 | iabbrev >> » 109 | iabbrev >>[=]<< »=« 110 | iabbrev >>[=]>> »=» 111 | iabbrev Inf ∞ 112 | iabbrev atomic-add-fetch ⚛+= 113 | iabbrev atomic-assign ⚛= 114 | iabbrev atomic-fetch ⚛ 115 | iabbrev atomic-dec-fetch --⚛ 116 | iabbrev atomic-fetch-dec ⚛-- 117 | iabbrev atomic-fetch-inc ⚛++ 118 | iabbrev atomic-inc-fetch ++⚛ 119 | iabbrev atomic-sub-fetch ⚛−= 120 | iabbrev e 𝑒 121 | iabbrev o ∘ 122 | iabbrev pi π 123 | iabbrev set() ∅ 124 | iabbrev tau τ 125 | < 126 | vim:tw=78:ts=8:noet:ft=help:norl: 127 | -------------------------------------------------------------------------------- /doc/hangulin.jax: -------------------------------------------------------------------------------- 1 | *hangulin.txt* For Vim バージョン 9.1. Last change: 2019 Nov 21 2 | 3 | 4 | VIMリファレンスマニュアル by Chi-Deok Hwang and Sung-Hyun Nam 5 | 6 | 7 | *hangul* 8 | Vim には XIM (X Input Method) を使っていないユーザー向けにハングル(韓国語)のサ 9 | ポートがありました。しかし、うまく動かずメンテナンスもされていなかったため Vim 10 | 8.1.2327 で削除されました。 11 | 12 | もしこのハングルインプットメソッドを使いたい場合は Vim 8.1.2326 かそれ以前に 13 | 戻ってください。もしあなたが、このコードは有用でメンテナンスしたいと考えるなら 14 | それを元に戻すパッチを作ってください。しかし、それが UTF-8 エンコーディングで 15 | 動くようにするのが最良でしょう。 16 | 17 | 18 | vim:tw=78:ts=8:noet:ft=help:norl: 19 | -------------------------------------------------------------------------------- /doc/help.jax: -------------------------------------------------------------------------------- 1 | *help.txt* For Vim バージョン 9.1. Last change: 2024 Dec 06 2 | 3 | VIM - メインヘルプファイル 4 | k 5 | 移動: カーソルを使用するか、"h" で左、"j" で下、 h l 6 | "k" で上、"l" で右に移動できる。 j 7 | ヘルプの終了: ":q" を使用する。 8 | Vim の終了: ":qa!" を使用する (注意! 変更はすべて破棄される)。 9 | 10 | 項目へジャンプ: タグ (例: |bars|) にカーソルを合わせ、CTRL-] を押す。 11 | マウスでジャンプ: (xterm または GUI で) マウスを有効にするには 12 | ":set mouse=a" と入力する。 13 | |bars| 等のタグ上でマウスの左ボタンをダブルクリックする。 14 | 元の場所に戻る: CTRL-O を押す。更に戻るには繰り返す。 15 | 16 | 項目を指定する: |:help| コマンドに項目を指定することで、その項目を直ちに 17 | 表示できる。修飾子を先行入力することで、調べたい項目の種 18 | 類を指定することもできる: *help-context* 19 | 20 | 種類 修飾子 例 ~ 21 | ノーマルモードコマンド :help x 22 | ビジュアルモードコマンド v_ :help v_u 23 | 挿入モードコマンド i_ :help i_ 24 | コマンドラインコマンド : :help :quit 25 | コマンドライン編集 c_ :help c_ 26 | Vim の起動引数 - :help -r 27 | オプション ' :help 'textwidth' 28 | 正規表現 / :help /[ 29 | その他の種類については |help-summary| を参照。 30 | ヘルプの構文の説明は |notation| を参照。 31 | 32 | 33 | ヘルプを検索する: ":help word" とタイプしてから CTRL-D を押すと "word" に 34 | マッチするヘルプ項目の一覧が表示される。 35 | もしくは ":helpgrep word" を使う。 |:helpgrep| 36 | 37 | はじめに: 基本的なコマンドのための 30 分間の対話コース、Vim tutor を 38 | 行う。|vimtutor| を参照。 39 | ユーザーマニュアルを最初から最後まで読む: |usr_01.txt| 40 | 41 | Vim は Vi IMproved の略である。Vim の大部分は Bram Moolenaar によって作成され 42 | たが、その他多くの人の協力によって作成された。|credits| 参照。 43 | ------------------------------------------------------------------------------ 44 | *doc-file-list* *Q_ct* 45 | 基本: 46 | |quickref| よく使うコマンドのクイックリファレンス 47 | |tutor| 30 分の初心者向け対話コース 48 | |copying| 著作権について 49 | |iccf| ウガンダの恵まれない子供達への支援活動 50 | |sponsor| Vim の開発を支援し、Vim の登録ユーザーになる 51 | |www| インターネット上の Vim 情報 52 | |bugs| バグレポートの送信先 53 | 54 | ユーザーマニュアル: これらのファイルは編集作業を達成する方法を説明する。 55 | 56 | |usr_toc.txt| 目次 57 | 58 | 初級編 ~ 59 | |usr_01.txt| マニュアルについて 60 | |usr_02.txt| 初めての Vim 61 | |usr_03.txt| カーソルの移動 62 | |usr_04.txt| 簡単な編集 63 | |usr_05.txt| 設定の変更 64 | |usr_06.txt| 構文強調表示 65 | |usr_07.txt| 複数のファイルを開く 66 | |usr_08.txt| ウィンドウの分割 67 | |usr_09.txt| GUI を使う 68 | |usr_10.txt| 大規模な編集 69 | |usr_11.txt| クラッシュからの復帰 70 | |usr_12.txt| 便利な小技 71 | 72 | 上級編 ~ 73 | |usr_20.txt| コマンドラインを素早く入力する 74 | |usr_21.txt| 中断と再開 75 | |usr_22.txt| ファイルを探す 76 | |usr_23.txt| 特殊なファイルを編集する 77 | |usr_24.txt| 素早く入力する 78 | |usr_25.txt| テキストの整形 79 | |usr_26.txt| 繰り返し 80 | |usr_27.txt| 検索コマンドと正規表現 81 | |usr_28.txt| 折り畳み 82 | |usr_29.txt| プログラムの中を移動する 83 | |usr_30.txt| プログラムの編集 84 | |usr_31.txt| GUI を活用する 85 | |usr_32.txt| undo ツリー 86 | 87 | カスタマイズ ~ 88 | |usr_40.txt| 新しいコマンドを作る 89 | |usr_41.txt| Vim script 書法 90 | |usr_42.txt| 新しいメニューを追加する 91 | |usr_43.txt| ファイルタイプを使う 92 | |usr_44.txt| 構文ファイルを作成する 93 | |usr_45.txt| 言語を選択する 94 | 95 | Vim script を書く ~ 96 | |usr_50.txt| 高度な Vim script の書き方 97 | |usr_51.txt| プラグインを作る 98 | |usr_52.txt| Vim9 script でプラグインを作る 99 | 100 | インストール ~ 101 | |usr_90.txt| Vim のインストール 102 | 103 | *reference_toc* 104 | リファレンスマニュアル: これらのファイルは Vim の細部まで説明している。 105 | 106 | 一般事項 ~ 107 | |intro.txt| Vimについての前書き、ヘルプの表記について 108 | |help.txt| 全体説明とクイックリファレンス (今見ているファイル) 109 | |helphelp.txt| ヘルプの使い方 110 | |index.txt| 全コマンド一覧。アルファベット順 111 | |help-tags| ジャンプできるタグ一覧 112 | |howto.txt| 一般的な編集操作についてのHow to 113 | |tips.txt| さまざまなTips 114 | |message.txt| (エラー)メッセージの説明 115 | |quotes.txt| Vimユーザーの感想 116 | |todo.txt| 既知のバグと、機能拡張の要望 117 | |develop.txt| Vimの開発に関して 118 | |debug.txt| Vimのデバッグについて 119 | |uganda.txt| Vimの配布条件と、あなたが支払ったお金の使い道について 120 | 121 | 基本的な編集 ~ 122 | |starting.txt| Vimの起動、起動引数や初期化に関して 123 | |editing.txt| ファイルの編集と保存 124 | |motion.txt| 移動コマンド 125 | |scroll.txt| ウィンドウのスクロール 126 | |insert.txt| 挿入モードと置換モード 127 | |change.txt| テキストの削除と変更 128 | |undo.txt| アンドゥとリドゥ 129 | |repeat.txt| 繰り返しコマンド、Vim script、スクリプトのデバッグ 130 | |visual.txt| ビジュアルモード (テキストの選択) 131 | |various.txt| その他の様々なコマンド 132 | |recover.txt| クラッシュからの復帰 133 | 134 | 高度な編集 ~ 135 | |cmdline.txt| コマンドラインの編集 136 | |options.txt| 全オプションの説明 137 | |pattern.txt| 検索コマンドと正規表現 138 | |map.txt| キーマップと短縮入力 139 | |tagsrch.txt| タグと特別な検索 140 | |windows.txt| マルチウィンドウとマルチバッファのコマンド 141 | |tabpage.txt| タブページを操作するコマンド 142 | |spell.txt| スペルチェック 143 | |diff.txt| バージョン違いのファイルの編集 (差分モード) 144 | |autocmd.txt| イベントに応じて自動的にコマンドを実行する 145 | |eval.txt| 式の評価、条件式 (Vim script リファレンス) 146 | |builtin.txt| 組み込み関数 147 | |userfunc.txt| ユーザー定義関数 148 | |channel.txt| ジョブ、チャネル、プロセス間通信 149 | |fold.txt| ある範囲を隠す (折り畳む) 150 | 151 | 特定機能 ~ 152 | |testing.txt| Vim と Vim script のテスト 153 | |print.txt| 印刷 154 | |remote.txt| クライアント/サーバー機能 155 | |term.txt| いろいろな端末やマウスについて 156 | |terminal.txt| 端末ウィンドウのサポート 157 | |popup.txt| ポップアップウィンドウのサポート 158 | |vim9.txt| Vim9 script 159 | |vim9class.txt| Vim9 script のクラス 160 | 161 | プログラミング言語サポート ~ 162 | |indent.txt| C言語や、その他の言語の自動インデント 163 | |syntax.txt| 構文強調 164 | |textprop.txt| ハイライトやその他のためにテキストにプロパティを付加する 165 | |filetype.txt| ファイルタイプ別の設定 166 | |quickfix.txt| 編集、コンパイル、修正、の流れを早くするコマンド 167 | |ft_ada.txt| Ada (プログラミング言語) のサポート 168 | |ft_context.txt| ConTeXt ファイルタイププラグイン 169 | |ft_hare.txt| Hare ファイルタイププラグイン 170 | |ft_mp.txt| METAFONT および MetaPost ファイルタイププラグイン 171 | |ft_ps1.txt| Windows PowerShell ファイルタイププラグイン 172 | |ft_raku.txt| Raku ファイルタイププラグイン 173 | |ft_rust.txt| Rust ファイルタイププラグイン 174 | |ft_sql.txt| SQL ファイルタイププラグイン 175 | 176 | 言語サポート ~ 177 | |digraph.txt| 利用可能なダイグラフ (digraph) の一覧 178 | |mbyte.txt| マルチバイトテキストのサポート 179 | |mlang.txt| 英語以外の言語のサポート 180 | |rileft.txt| 右横書き (書字方向が右から左になるモード) 181 | |arabic.txt| アラビア語のサポート 182 | |farsi.txt| ペルシア語のサポート 183 | |hebrew.txt| ヘブライ語のサポート 184 | |russian.txt| ロシア語のサポート 185 | |hangulin.txt| ハングル (韓国語) の入力 186 | |vietnamese.txt| ベトナム語のサポート 187 | 188 | GUI ~ 189 | |gui.txt| グラフィカルユーザーインターフェイス (GUI) 190 | |gui_w32.txt| Win32 GUI 191 | |gui_x11.txt| X11 GUI 192 | 193 | 拡張インターフェイス ~ 194 | |if_cscop.txt| cscope を使う 195 | |if_lua.txt| Lua インターフェイス 196 | |if_mzsch.txt| MzScheme インターフェイス 197 | |if_perl.txt| Perl インターフェイス 198 | |if_pyth.txt| Python インターフェイス 199 | |if_tcl.txt| Tcl インターフェイス 200 | |if_ole.txt| Win32 の OLE オートメーション 201 | |if_ruby.txt| Ruby インターフェイス 202 | |debugger.txt| デバッガ用のインターフェイス 203 | |netbeans.txt| NetBeans External Editor インターフェイス 204 | |sign.txt| デバッグ用の目印 205 | 206 | バージョン情報 ~ 207 | |vi_diff.txt| Vim と Vi の主な違い 208 | |version4.txt| Vim version 3.0 と 4.x の違い 209 | |version5.txt| Vim version 4.6 と 5.x の違い 210 | |version6.txt| Vim version 5.7 と 6.x の違い 211 | |version7.txt| Vim version 6.4 と 7.x の違い 212 | |version8.txt| Vim version 7.4 と 8.x の違い 213 | |version9.txt| Vim version 8.2 と 9.0 の違い 214 | *sys-file-list* 215 | システムに関する説明 ~ 216 | |os_390.txt| OS/390 Unix 217 | |os_amiga.txt| Amiga 218 | |os_beos.txt| BeOS と BeBox 219 | |os_dos.txt| MS-DOS と MS-Windows の共通事項 220 | |os_haiku.txt| Haiku 221 | |os_mac.txt| Macintosh 222 | |os_mint.txt| Atari MiNT 223 | |os_msdos.txt| MS-DOS (DOS と Windows の DOS プロンプト) 224 | |os_os2.txt| OS/2 225 | |os_qnx.txt| QNX 226 | |os_risc.txt| RISC-OS 227 | |os_unix.txt| Unix 228 | |os_vms.txt| VMS 229 | |os_win32.txt| MS-Windows 230 | *standard-plugin-list* 231 | 標準プラグイン ~ 232 | |pi_getscript.txt| Vim script の最新版をダウンロードする 233 | |pi_gzip.txt| 圧縮ファイルの読み書き 234 | |pi_logipat.txt| パターンにおける論理演算子 235 | |pi_netrw.txt| ネットワークファイルの読み書き 236 | |pi_paren.txt| 対括弧の強調表示 237 | |pi_spec.txt| RPM spec ファイル用ファイルタイププラグイン 238 | |pi_tar.txt| Tar ファイルエクスプローラー 239 | |pi_tutor.txt| Vim の対話的なチュートリアル 240 | |pi_vimball.txt| Vim script インストーラを作成する 241 | |pi_zip.txt| Zip アーカイブエクスプローラー 242 | 243 | その他 ~ 244 | |vim_faq.txt| FAQ 245 | 246 | LOCAL ADDITIONS: *local-additions* 247 | 248 | ------------------------------------------------------------------------------ 249 | *bars* Bars の例 250 | 251 | 今、あなたは CTRL-] またはマウスのダブルクリックでここにジャンプしたので、 252 | CTRL-T、CTRL-O、g、または を使用して、元の場所に戻 253 | ることができる。 254 | 255 | Note タグは | 文字で囲まれているが、ハイライト表示が有効になっている場合はこれ 256 | らの文字が非表示になっていることに注意。これにより、コマンドが読みやすくなる。 257 | 258 | いずれにしても、CTRL-] は | で囲まれていない場合でも任意の単語で使用でき、Vim 259 | はそのヘルプを検索しようとする。特に、'compatible' 等のシングルクォートで囲ま 260 | れたオプションの場合。 261 | 262 | ------------------------------------------------------------------------------ 263 | vim:tw=78:isk=!-~,^*,^\|,^\":ts=8:noet:ft=help:norl: 264 | -------------------------------------------------------------------------------- /doc/howto.jax: -------------------------------------------------------------------------------- 1 | *howto.txt* For Vim バージョン 9.1. Last change: 2006 Apr 02 2 | 3 | 4 | VIMリファレンスマニュアル by Bram Moolenaar 5 | 6 | 7 | How to ... *howdoi* *how-do-i* *howto* *how-to* 8 | 9 | |tutor| 始めてみよう 10 | |:quit| 終了したいな? 出られない、助けて! 11 | |initialization| Vim を初期化する 12 | |vimrc-intro| Vim script ファイル(vimrc)を書く 13 | |suspend| Vim をサスペンドする 14 | |usr_11.txt| クラッシュした後にリカバリーする 15 | |07.4| 上書きするときにバックアップファイルを作っておく 16 | 17 | |usr_07.txt| ファイルを編集する 18 | |23.4| バイナリファイルを編集する 19 | |usr_24.txt| テキストを挿入する 20 | |deleting| テキストを削除する 21 | |usr_04.txt| テキストを変更する 22 | |04.5| テキストをコピーしたり移動したりする 23 | |usr_25.txt| テキストを整形する 24 | |30.6| コメントを整形する 25 | |30.2| C のプログラムをインデントする 26 | |25.3| 自動的にインデントをセットする 27 | 28 | |usr_26.txt| コマンドを繰り返す 29 | |02.5| アンドゥとリドゥ 30 | 31 | |usr_03.txt| 動き回る 32 | |word-motions| 単語単位で移動 33 | |left-right-motions| 左右に移動 34 | |up-down-motions| 上下に移動 35 | |object-motions| オブジェクト単位で移動 36 | |various-motions| 様々な動き 37 | |object-select| オブジェクト単位で選択 38 | |'whichwrap'| 行末をまたいだ移動 39 | |'virtualedit'| テキストのないところを移動する 40 | |usr_27.txt| 検索のパターンを指定する 41 | |tags-and-searches| タグを実行し特殊な検索を行う 42 | |29.4| インクルードされるファイルを検索して変数や関数やマクロ 43 | を見つける 44 | |K| カーソルの下の単語をキーワードにしてマニュアルを読む 45 | 46 | |03.7| スクロールする 47 | |'sidescroll'| 垂直/横にスクロールする 48 | |'scrolloff'| スクロール中に常に前後に表示する行数を決める。 49 | 50 | |mode-switching| モードを変更する 51 | |04.4| ビジュアルモードを使う 52 | |'insertmode'| 挿入モードで Vim を起動する 53 | 54 | |40.1| キーをマップする 55 | |24.7| 略語(abbreviations)を作る 56 | 57 | |ins-expandtab| 挿入モードでタブをスペースに広げる 58 | |i_CTRL-R| 挿入モードでレジスタの内容を挿入する 59 | |24.3| 挿入モードで単語の補完を行う 60 | |25.1| 行が長くなりすぎる前に改行する 61 | 62 | |20.1| コマンドライン編集 63 | |20.3| コマンドライン補完 64 | |'cmdheight'| コマンドラインの高さを広げる 65 | |10.3| コマンドラインの幅を指定する 66 | |40.3| 自動的に実行されるコマンドを指定する。 67 | バッファ/ウィンドウ を 読み込む/書き込む 68 | 入る/離れる 前/後 に。 69 | 70 | |'autowrite'| 自動的に書き込む 71 | |30.1| 編集-コンパイル-編集のサイクルをスピードアップする 72 | もしくは Vim でコンパイルしてエラーを修正する 73 | 74 | |options| オプションをセットする 75 | |auto-setting| オプションを自動的にセットする 76 | |term-dependent-settings| 端末の名前によってオプションをセットする 77 | |save-settings| 設定を保存する 78 | |:quote| .vim ファイルでのコメント 79 | |'helpheight'| ヘルプのデフォルトの高さを変更する 80 | |'highlight'| さまざまなハイライティングモードをセットする 81 | |'title'| ウィンドウのタイトルをセットする 82 | |'icon'| ウィンドウのアイコンをセットする 83 | |'report'| 行を編集する毎に表示されるメッセージをやめさせる 84 | |'shortmess'| |hit-enter| プロンプトが出るのを避ける 85 | 86 | |mouse-using| Vim でマウスを使う 87 | |usr_08.txt| 複数のウィンドウとバッファを使う 88 | |gui.txt| GUI を利用する 89 | 90 | |(まだ)できません| Vim を使って夕食を取る 91 | 92 | |usr_06.txt| 構文ハイライトを有効にする 93 | |2html.vim| 色づけされたファイルを HTML に変換する 94 | |less| Vimをlessやmoreと同じように使う 95 | 96 | vim:tw=78:ts=8:noet:ft=help:norl: 97 | -------------------------------------------------------------------------------- /doc/if_ole.jax: -------------------------------------------------------------------------------- 1 | *if_ole.txt* For Vim バージョン 9.1. Last change: 2023 Nov 19 2 | 3 | 4 | VIMリファレンスマニュアル by Paul Moore 5 | 6 | 7 | VimへのOLEインターフェイス *ole-interface* 8 | 9 | 1. アクティブにする |ole-activation| 10 | 2. メソッド |ole-methods| 11 | 3. "normal" コマンド |ole-normal| 12 | 4. 登録 |ole-registration| 13 | 5. MS Visual Studioとの統合 |MSVisualStudio| 14 | 15 | {Vim が |+ole| 機能付きでコンパイルされたときのみ利用できる。 16 | src/if_ole.INSTALLを参照} 17 | 18 | 代わりにクライアント、サーバー型の通信を使うこともできる|clientserver|。 19 | 20 | ============================================================================== 21 | 1. アクティブにする *ole-activation* 22 | 23 | Vimは、あらゆるオートメーションクライアント、例えばVisual Basic、Python、 24 | Perlなどからアクセス可能な、OLEオートメーションサーバーとして振舞う。Vimアプリ 25 | ケーションの "名前" (これはOLE用語で言うところの "ProgID")は、"Vim.Application" 26 | である。 27 | 28 | したがって、Vimのインスタンスを起動する(あるいはすでに起動しているインスタンス 29 | に接続する)には、次のようなコードが用いられることになる: 30 | 31 | [Visual Basic] > 32 | Dim Vim As Object 33 | Set Vim = CreateObject("Vim.Application") 34 | 35 | [Python] > 36 | from win32com.client.dynamic import Dispatch 37 | vim = Dispatch('Vim.Application') 38 | 39 | [Perl] > 40 | use Win32::OLE; 41 | $vim = new Win32::OLE 'Vim.Application'; 42 | 43 | [C#] > 44 | // プロジェクトに Vim への参照を追加する。 45 | // COM タブを選択する。 46 | // "Vim Ole Interface 1.1 Type Library" を選択する。 47 | Vim.Vim vimobj = new Vim.Vim(); 48 | 49 | Vimは、他の一部のOLEサーバーがサポートしているような、"hidden" なOLEサーバーと 50 | しての機能をサポートしていない。クライアントがVimのインスタンスを起動する場合、 51 | そのインスタンスは即座に可視化される。単にVimインスタンスとのOLE接続を閉じるだ 52 | けでは、Vimインスタンスを終了するに十分ではない - 明確に終了コマンド(例えば、 53 | :qa!、:wqa)を実行する必要がある。 54 | 55 | ============================================================================== 56 | 2. メソッド *ole-methods* 57 | 58 | Vimはクライアントに対して4つのメソッドを公開している。 59 | 60 | *ole-sendkeys* 61 | SendKeys(keys) 一連のキー操作を実行する。 62 | 63 | このメソッドはひとつの引数、すなわちキーストロークの文字列を取る。これらのキー 64 | ストロークは、完全にキーボードから打ち込まれたもののように実行される。スペシャ 65 | ルキーは、マッピングの右側に書かれる、<...>形式の名前で与えることができる。 66 | Note: Ex "normal" コマンドの実行はサポートされていない - 以下の|ole-normal|を 67 | 見よ。 68 | 69 | 例 (Visual Basic の文法) > 70 | Vim.SendKeys "ihello" 71 | Vim.SendKeys "ma1GV4jy`a" 72 | 73 | これらの例は、Vimがノーマルモードで始まるものと仮定している。必ずノーマルモー 74 | ドにするには、一連のキーを次のように CTRL-\ CTRL-N で始めるとよい > 75 | 76 | Vim.SendKeys "ihello" 77 | 78 | CTRL-\ CTRL-N は、挿入モード、コマンドラインモードにいるとき、Vimをノーマル 79 | モードに戻す。これらはVimコマンドの途中に入れると機能しないことに注意せよ。 80 | 81 | *ole-eval* 82 | Eval(expr) 式(expr)を実行する。 83 | 84 | このメソッドはひとつの引数、Vim標準フォーマットの式、を取る(|expression|を参 85 | 照)。戻り値は、その式を評価した結果の文字列である。リスト |List| は文字列に変 86 | 換される。そのとき各要素の間に改行が挿入され、連結される。 87 | 88 | 例 (Visual Basic の文法で) > 89 | Line20 = Vim.Eval("getline(20)") 90 | Twelve = Vim.Eval("6 + 6") ' これが文字列であることに注意 91 | Font = Vim.Eval("&guifont") 92 | < 93 | *ole-setforeground* 94 | SetForeground() Vimウィンドウを最前面に持ってくる。 95 | 96 | このメソッドは引数を持たない。戻り値はない。 97 | 98 | 例 (Visual Basic の文法で) > 99 | Vim.SetForeground 100 | < 101 | 102 | *ole-gethwnd* 103 | GetHwnd() Vimのウィンドウハンドルを得る。 104 | 105 | このメソッドは引数を持たない。戻り値はVimウィンドウのウィンドウハンドルである。 106 | これはVimウィンドウに対して何かの操作を行いたい時に使う。 107 | 108 | 例 (Visual Basic の文法で) > 109 | Vim_Hwnd = Vim.GetHwnd 110 | < 111 | 112 | ============================================================================== 113 | 3. "normal" コマンド *ole-normal* 114 | 115 | VimがOLEオートメーションコマンドを処理する方法は、exコマンド :normal の実装と 116 | 統合されているため、OLEオートメーションから :normal コマンドを実行することは 117 | できない。実際に実行しようとしても失敗する、たぶん害はないと思われるが、予期 118 | しない動作をする恐れはある。 119 | 120 | この状況をトラップする現実的な方法は今のところ存在しないため、ユーザーはこの制 121 | 限に単に気をつけるようにする他ない。 122 | ============================================================================== 123 | 4. 登録 *ole-registration* *E243* 124 | 125 | VimをOLEサーバーとして動作させる前に、システムレジストリに登録する必要がある。 126 | これを行うには、Vimをひとつの引数 "-register" で実行すればよい。 127 | *-register* > 128 | gvim -register 129 | 130 | 131 | OLEサーバーが登録されていないとき、OLEをサポートしたgvimを起動すると警告ダイア 132 | ログが出る。"Yes" を選択するとレジストリに登録できる。 133 | 134 | レジストリが書き込み可能でないときには登録はできない。もし登録できないときは 135 | "Administrator" 権限でgvimを起動すること。 136 | 137 | いったんVimが登録されると、アプリケーションへのパスはレジストリに保存される。 138 | Vimを移動、削除、更新する前に、レジストリの項目を "-unregister" スイッチを使っ 139 | て削除する必要がある。 140 | *-unregister* > 141 | gvim -unregister 142 | 143 | OLEメカニズムは、登録されたVimの内、最初に見つけたものを使用する。Vimがすでに 144 | 実行されている場合は、そのVimが使用される。OLEコマンドに影響されないで、(いく 145 | つかの)Vimセッションを張ろうとする場合は、非OLEバージョンを違うディレクトリに 146 | 置いて使用するとよい。そして、OLEバージョンをパスに含まれないディレクトリに置 147 | けば、"gvim" とタイプしたとき非OLEバージョンが起動するようになる。 148 | 149 | *-silent* 150 | 結果を表示するメッセージボックスを表示したくないなら "-silent" を付けること。 > 151 | gvim -silent -register 152 | gvim -silent -unregister 153 | 154 | ============================================================================== 155 | 5. MS Visual Studio との統合 *MSVisualStudio* 156 | 157 | 旧来の "VisVim" 統合は Vim のパッチ 9.0.0698 にて削除された。 158 | 159 | 160 | Vim と Visual Studio.Net を連携させる~ 161 | 162 | .Net studio は外部エディタをサポートしている。次のようにするとよい: 163 | 164 | .Net Studio でメニューから[ツール]→[外部ツール]を選択する。 165 | 次を追加する 166 | タイトル - Vim 167 | コマンド - c:\vim\vim63\gvim.exe 168 | 引数 - --servername VS_NET --remote-silent "+call cursor($(CurLine), $(CurCol))" $(ItemPath) 169 | 初期ディレクトリ - 空 170 | 171 | こうしておくと .Net でファイルを開いたとき、.Net のメニューから[ツール]→[Vim] 172 | を選べるようになる。 173 | 174 | それを選ぶとそのファイルが Vim で開かれる。 175 | この外部コマンドをアイコンにして好きなところに置くことができる。これをデフォル 176 | トのエディタに設定することもできる。 177 | 178 | もしこれをさらに改良できたら、それを留めておけるように Vim メーリングリストに 179 | 投稿していただきたい。 180 | 181 | --servername VS_NET 182 | この引数をつけると、VS_NET という名前で新しい Vim インスタンスを作る。そのため、 183 | VS で複数のファイルを開いても、同じ Vim のインスタンスが使われる。これによって 184 | 複数の Vim のインスタンスを起動し、かつどのインスタンスが VS のファイルを開い 185 | ているかを管理することができる。 186 | 187 | --remote-silent "+call cursor(10, 27)" 188 | - カーソルを10行27桁に移動する 189 | より詳しくは Vim 内で > 190 | :h --remote-silent 191 | 192 | [.Net の部分は Dave Fishburn と Brian Sturk によって提供された] 193 | 194 | ============================================================================== 195 | vim:tw=78:ts=8:noet:ft=help:norl: 196 | -------------------------------------------------------------------------------- /doc/if_ruby.jax: -------------------------------------------------------------------------------- 1 | *if_ruby.txt* For Vim バージョン 9.1. Last change: 2019 Jul 21 2 | 3 | 4 | VIM リファレンスマニュアル by Shugo Maeda 5 | 6 | Rubyインターフェイス *ruby* *Ruby* 7 | 8 | 9 | 1. コマンド |ruby-commands| 10 | 2. Vimモジュール |ruby-vim| 11 | 3. Vim::Buffer オブジェクト |ruby-buffer| 12 | 4. Vim::Window オブジェクト |ruby-window| 13 | 5. グローバル変数 |ruby-globals| 14 | 6. rubyeval() Vim 関数 |ruby-rubyeval| 15 | 7. 動的ローディング |ruby-dynamic| 16 | 17 | *E266* *E267* *E268* *E269* *E270* *E271* *E272* *E273* 18 | 19 | {Vim が |+ruby| 機能付きでコンパイルされている場合にのみ利用できる} 20 | 21 | Rubyのホームページは http://www.ruby-lang.org/ である。ここでRubyをダウンロー 22 | ドできる。 23 | 24 | ============================================================================== 25 | 1. コマンド *ruby-commands* 26 | 27 | *:ruby* *:rub* 28 | :rub[y] {cmd} Rubyのコマンド{cmd}を実行する。次のようにして使う: > 29 | :ruby print "Hello" 30 | 31 | :rub[y] << [trim] [{endmarker}] 32 | {script} 33 | {endmarker} 34 | Rubyスクリプト{script}を実行する。 35 | 36 | [endmarker]が省略された場合、|:append|や|:insert|コマ 37 | ンド同様にドット '.' がデフォルトである。詳細について 38 | は |:let-heredoc| を参照。 39 | 40 | この形式の|:ruby|コマンドは主にVim scriptにRubyコード 41 | を埋め込むのに便利である。 42 | 43 | Note: Ruby のサポートを有効にしてコンパイルされていな 44 | いとこのコマンドは機能しない。エラーを回避するには 45 | |script-here| を参照。 46 | 47 | Vim script の例: > 48 | 49 | function! RedGem() 50 | ruby << EOF 51 | class Garnet 52 | def initialize(s) 53 | @buffer = Vim::Buffer.current 54 | vimputs(s) 55 | end 56 | def vimputs(s) 57 | @buffer.append(@buffer.count,s) 58 | end 59 | end 60 | gem = Garnet.new("pretty") 61 | EOF 62 | endfunction 63 | < 64 | 使っている Ruby のバージョンを見るには: > 65 | :ruby print RUBY_VERSION 66 | < 67 | 68 | *:rubydo* *:rubyd* *E265* 69 | :[range]rubyd[o] {cmd} [range]の範囲の各行に対し、行末のを削除して$_へ代 70 | 入しつつ、Rubyコマンド{cmd}を実行評価する。$_を変更す 71 | るとバッファのテキストを変更できるが、このコマンドを 72 | 使って行を追加したり削除したりはできないことに注意。 73 | [range]を省略した場合ファイル全体が対象: "1,$" 74 | 75 | *:rubyfile* *:rubyf* 76 | :rubyf[ile] {file} ファイル{file}のRubyスクリプトを実行する。ファイル名の 77 | 補完が利用できる以外は、`:ruby load 'file'`と同じ。 78 | 79 | |sandbox|環境内ではRubyコマンドを実行できない。 80 | 81 | ============================================================================== 82 | 2. Vimモジュール *ruby-vim* 83 | 84 | Rubyのコードは全てのVimへのアクセスをVimモジュール経由で行う。 85 | 86 | 概要 > 87 | print "Hello" # メッセージを表示する 88 | Vim.command(cmd) # Exコマンドを実行する 89 | num = Vim::Window.count # ウィンドウ数を取得する 90 | w = Vim::Window[n] # ウィンドウ n を取得する 91 | cw = Vim::Window.current # 現在のウィンドウを取得する 92 | num = Vim::Buffer.count # バッファ数を取得する 93 | b = Vim::Buffer[n] # バッファ n を取得する 94 | cb = Vim::Buffer.current # 現在のバッファを取得する 95 | w.height = lines # ウィンドウの高さ(行数)を設定する 96 | w.cursor = [row, col] # ウィンドウのカーソル位置を設定する 97 | pos = w.cursor # カーソルの位置を配列で受け取る 98 | name = b.name # バッファのファイル名を取得する 99 | line = b[n] # バッファから行の内容を取得する 100 | num = b.count # バッファの行数を取得する 101 | b[n] = str # バッファの行の内容を変更する 102 | b.delete(n) # 行を削除する 103 | b.append(n, str) # n行目の直後に行を追加する 104 | line = Vim::Buffer.current.line # カレント行を取得する 105 | num = Vim::Buffer.current.line_number # カレント行の行番号を取得する 106 | Vim::Buffer.current.line = "test" # カレント行を設定する 107 | < 108 | 109 | モジュール関数: 110 | 111 | *ruby-message* 112 | Vim::message({msg}) 113 | メッセージ{msg}を表示する。 114 | 115 | *ruby-blob* 116 | Vim::blob({arg}) 117 | {arg}から |Blob| リテラル文字列を返す。 118 | 119 | *ruby-set_option* 120 | Vim::set_option({arg}) 121 | Vimのオプションを設定する。{arg}は ":set" コマンドが受け付けるものであ 122 | れば何でも良い。引数の中では空白文字が使えないことに注意。|:set|を参 123 | 照。 124 | 125 | *ruby-command* 126 | Vim::command({cmd}) 127 | Exコマンド{cmd}を実行する。 128 | 129 | *ruby-evaluate* 130 | Vim::evaluate({expr}) 131 | Vim内部の実行エンジンを使ってスクリプト{expr}を実行評価する 132 | (|expression|参照)。実行結果は次のように返される: 133 | - Vimの実行結果が number の場合は Integer 134 | - Vimの実行結果が float の場合は Float 135 | - Vimの実行結果が string の場合は String 136 | - Vimの実行結果がVimの list の場合は Array 137 | - Vimの実行結果がVimの dictionary の場合は Hash 138 | 辞書とリストは再帰的に展開される。 139 | 140 | ============================================================================== 141 | 3. Vim::Buffer オブジェクト *ruby-buffer* 142 | 143 | オブジェクトVim::BufferはVimのバッファを表す。 144 | 145 | クラスメソッド: 146 | 147 | current カレントバッファオブジェクトを返す。 148 | count バッファの個数を返す。 149 | self[{n}] 番号{n}のバッファオブジェクトを返す。最初の番号は0。 150 | 151 | メソッド: 152 | 153 | name バッファの完全な名前を返す。 154 | number バッファの番号を返す。 155 | count 行数を返す。 156 | length 行数を返す。 157 | self[{n}] バッファの行を返す。{n}は行番号。 158 | self[{n}] = {str} 159 | バッファの行を設定する。{n}は行番号。 160 | delete({n}) バッファから行を削除する。{n}は行番号。 161 | append({n}, {str}) 162 | 行{n}の後ろに行を追加する。 163 | line そのバッファがアクティブなら、カレント行を返す。 164 | line = {str} そのバッファがアクティブなら、カレント行を設定する。 165 | line_number そのバッファがアクティブなら、カレント行の行番号を返す。 166 | 167 | ============================================================================== 168 | 4. Vim::Window オブジェクト *ruby-window* 169 | 170 | Vim::Window オブジェクトはVimのウィンドウを表現している。 171 | 172 | クラスメソッド: 173 | 174 | current 現在のウィンドウオブジェクトを返す。 175 | count ウィンドウの数を返す。 176 | self[{n}] 番号{n}のウィンドウオブジェクトを返す。番号は0から数え始める。 177 | 178 | メソッド: 179 | 180 | buffer ウィンドウに表示されているバッファを返す。 181 | height ウィンドウの高さを返す。 182 | height = {n} ウィンドウの高さを{n}に設定する。 183 | width ウィンドウの幅を返す。 184 | width = {n} ウィンドウの幅を{n}に設定する。 185 | cursor カーソルの位置を[行数, カラム]の形で配列にして返す。 186 | 最初の行番号は 1 で、最初の桁番号は 0 である。 187 | cursor = [{row}, {col}] 188 | カーソルの位置を{row} 行の {col}カラムに設定する。 189 | 190 | ============================================================================== 191 | 5. グローバル変数 *ruby-globals* 192 | 193 | 2つのグローバル変数がある。 194 | 195 | $curwin 現在のウィンドウオブジェクト 196 | $curbuf 現在のバッファオブジェクト 197 | 198 | ============================================================================== 199 | 6. rubyeval() Vim 関数 *ruby-rubyeval* 200 | 201 | 双方向インターフェイスを促進するため、|rubyeval()| 関数を使用して Ruby 式を評 202 | 価しそれらの値を Vim script に渡すことができる。 203 | 204 | Ruby の値 "true", "false" および "nil" は、それぞれ v:true, v:false および 205 | v:null に変換される。 206 | 207 | ============================================================================== 208 | 7. 動的ローディング *ruby-dynamic* 209 | 210 | MS-WindowsとUnixではRubyライブラリを動的に読み込むことが可能である。これを行う 211 | と|:version|の出力に|+ruby/dyn|が含まれるようになる。 212 | 213 | この場合、Vimは必要になったときだけRubyのDLLファイル及び共有ライブラリを検索す 214 | る。Rubyインターフェイスを使わないのであればそれらは必要ではないので、ライブラ 215 | リファイルがシステムに無くてもVimを使うことができる。 216 | 217 | 218 | MS-Windows ~ 219 | 220 | これが動作するためには Ruby の適切なバージョンがインストールされている必要があ 221 | る。次の場所からパッケージをダウンロードできる: 222 | http://rubyinstaller.org/downloads/ 223 | 現在のパッケージは rubyinstaller-2.2.5.exe である。 224 | http://www.garbagecollect.jp/ruby/mswin32/en/download/release.html 225 | 226 | Rubyインターフェイスを使うにはRubyのDLLが検索パス内に存在しなければならない。 227 | コンソールウィンドウで "path" とタイプすると、どのディレクトリが検索パスとなる 228 | か表示することができる。また 'rubydll' オプションを Ruby の DLL を指定するのに 229 | 使うこともできる。 230 | 231 | DLLの名前はVimをコンパイルした時のRubyのバージョンに一致しなければならない。現 232 | 在その名前は "msvcrt-ruby220.dll" である。これはRuby 2.2.X用である。これを確か 233 | めるには、"gvim.exe" を開き、"ruby\d*.dll\c" を検索する。 234 | 235 | 自分で RubyInstaller 1.9 または 2.X 対応の Vim を MSVC でビルドするには、ちょっ 236 | としたこつが必要である。詳細は src/INSTALLpc.txt を参照。 237 | 238 | Vim が RubyInstaller 2.4 以降でビルドされているなら、環境変数 PATH に 239 | "C:\Ruby\bin\ruby_builtin_dlls" を追加する必要があるかもしれない。 240 | 241 | 242 | Unix ~ 243 | 244 | コンパイル時に DYNAMIC_RUBY_DLL で指定されたファイルの代わりに、'rubydll' オプ 245 | ションを使って Ruby の共有ライブラリファイルを指定するのに使える。共有ライブラ 246 | リのバージョンは Vim をコンパイルする時に用いた Ruby のバージョンと一致してい 247 | なければならない。 248 | 249 | ============================================================================== 250 | vim:tw=78:ts=8:noet:ft=help:norl: 251 | -------------------------------------------------------------------------------- /doc/if_sniff.jax: -------------------------------------------------------------------------------- 1 | *if_sniff.txt* For Vim バージョン 9.1. Last change: 2016 Feb 27 2 | 3 | 4 | VIMリファレンスマニュアル 5 | by Anton Leherbauer (toni@takefive.co.at) 6 | 7 | 8 | SNiFF+ サポートはパッチ 7.4.1433 で削除された。もし調べたいのなら、そのパッチ 9 | より前に同期すること。 10 | 11 | vim:tw=78:ts=8:noet:ft=help:norl: 12 | -------------------------------------------------------------------------------- /doc/mlang.jax: -------------------------------------------------------------------------------- 1 | *mlang.txt* For Vim バージョン 9.1. Last change: 2024 Jul 11 2 | 3 | 4 | VIMリファレンスマニュアル by Bram Moolenaar 5 | 6 | 7 | 多言語機能 *multilang* *multi-lang* 8 | 9 | このマニュアルはメッセージとメニューを様々な言語で使用する方法について書かれて 10 | いる。マルチバイトテキストの編集については|multibyte|を参照。 11 | 12 | 基本的なことはユーザーマニュアルでも説明されている: |usr_45.txt|。 13 | 14 | 1. メッセージ |multilang-messages| 15 | 2. メニュー |multilang-menus| 16 | 3. スクリプト |multilang-scripts| 17 | 18 | 多言語のヘルプ機能については|help-translated|を参照のこと。 19 | 20 | {|+multi_lang|機能を無効にしてコンパイルした場合には利用できない} 21 | 22 | ============================================================================== 23 | 1. メッセージ *multilang-messages* 24 | 25 | Vimはシステム環境からロケール(地域情報)を判定する。ほとんどの場合これは、その 26 | 言語が利用可能な状態でさえあるならば、Vimを好みの言語で使うことができることを 27 | 意味している。 28 | 29 | システムによりサポートされるロケールの一覧を見るには、(UNIXでは)これらのディレ 30 | クトリを見る: 31 | /usr/lib/locale ~ 32 | /usr/share/locale ~ 33 | ロケール名には不幸にして大文字と小文字の違いがある。また "-" と "_" の使われ方 34 | にも用心すること。 35 | 36 | *:lan* *:lang* *:language* *E197* 37 | :lan[guage] 38 | :lan[guage] mes[sages] 39 | :lan[guage] cty[pe] 40 | :lan[guage] tim[e] 41 | :lan[guage] col[late] 42 | 現在の言語(言い換えればロケール)を表示する。 43 | 引数 "message" を使用するとメッセージに利用されている 44 | 言語が表示される。専門的には: LC_MESSAGES 45 | 引数 "ctype" を使用すると文字エンコードに利用されてい 46 | る言語が表示される。専門的には: LC_CTYPE 47 | 引数 "time" を使用するとstrftime()が表示に利用する言語 48 | が表示される。専門的には: LC_TIME 49 | 引数 "collate" を使用すると照合に利用する言語が表示さ 50 | れる。専門的には: LC_COLLATE 51 | 無引数ならばロケールの全体が表示される(どのように表示 52 | されるかはシステムに依存する)。 53 | 現在の言語は|v:lang|, |v:ctype|, |v:collate| そして 54 | |v:lc_time| の各変数で取得することもできる。 55 | 56 | :lan[guage] {name} 57 | :lan[guage] mes[sages] {name} 58 | :lan[guage] cty[pe] {name} 59 | :lan[guage] tim[e] {name} 60 | :lan[guage] col[late] {name} 61 | 現在の言語(言い換えればロケール)を{name}に設定する。 62 | {name} の POSIX 形式は以下のとおり: > 63 | language[_territory][.encoding] 64 | < {name}というロケールがシステムに存在していなければなら 65 | ない。あるシステムでは "en" とか "en_US" と言った別称 66 | を受け付けるが、中には "en_US.ISO_8859-1" のように完全 67 | な指定しか受け付けないシステムもある。Unix では次のコ 68 | マンドで、サポートされているロケールを確認できる: > 69 | :!locale -a 70 | < 引数 "message" を使用するとメッセージに利用する言語を 71 | 設定する。これにより例として日本語を編集中に英語メッ 72 | セージを使用するようなことができる。これは $LC_MESSAGES 73 | を設定する。 74 | 引数 "ctype" を使用すると文字エンコードに利用する言語 75 | を設定する。これはVimがリンクしているライブラリに影響 76 | を与える。"C" や 'encoding' と異なる値を指定するのは一 77 | 般的ではない。これは $LC_CTYPE を設定する。 78 | 引数 "time" を使用すると時刻と日付のメッセージに利用さ 79 | れる言語を設定する。strftime()に影響を与える。これは 80 | $LC_TIME を設定する。 81 | 引数 "collate" を使用すると照合に利用される言語を設定 82 | する。照合順に影響を与える。これは $LC_COLLATE を設定 83 | する。 84 | 無引数ならば全てが設定され、加えて $LANG が設定される。 85 | LC_NUMERIC が存在する場合は常に "C" にセットされ、浮動 86 | 小数点数が小数点として '.' を使うようになる。 87 | これは言語に依存した項目(メッセージや時刻日付の書式)を 88 | 変更することができる。全てのシステムで完全にサポートさ 89 | れるわけではない。 90 | 設定に失敗すればエラーメッセージが表示される。成功した 91 | 場合には何も表示されない。例: > 92 | :language 93 | Current language: C 94 | :language de_DE.ISO_8859-1 95 | :language mes 96 | Current messages language: de_DE.ISO_8859-1 97 | :lang mes en 98 | < 99 | 100 | ☆MS-WINDOWSでのメッセージ翻訳 *win32-gettext* 101 | 102 | インストーラを利用した場合には、既にメッセージの翻訳が動作している。動作しない 103 | のであればlibintl.dllを別途入手する必要がある: 104 | 105 | http://sourceforge.net/projects/gettext 106 | Or: 107 | https://mlocati.github.io/gettext-iconv-windows/ 108 | 109 | これにはxgettext, msgformatその他のツールも含まれている。 110 | 111 | libintl.dll は、(g)vim.exe と同じディレクトリか、PATH環境変数にリストされてい 112 | るディレクトリのどこかに置く必要がある。また、Vimは代わりの名前 "libintl-8.dll" 113 | と "intl.dll" も探す。 114 | 115 | メッセージファイル(vim.mo)は "$VIMRUNTIME/lang/xx/LC_MESSAGES" に置かなければ 116 | ならない。"xx" はその言語名の省略形(ほとんどの場合2文字)に置き換えて考える。 117 | 118 | 独自の翻訳を書く場合には.poファイルを作成しそれを.moファイルに変換する必要があ 119 | る。そのためにはVimのソースを取得してファイル "src/po/README.txt" を読む必要が 120 | ある。 121 | 122 | 自動選択された言語を変更するには、$LANGに設定する。次の例は日本語メッセージを 123 | 選択する方法を示している: > 124 | 125 | :let $LANG = "ja" 126 | 127 | 翻訳をしないようにするには "en" を指定する。 128 | 129 | (このWindows向け文章は村岡太郎によって書かれた) 130 | {訳注: 訳注として追加されたわけでなく原文にこの記述がある} 131 | 132 | ============================================================================== 133 | 2. メニュー *multilang-menus* 134 | 135 | 基本(特に 'langmenu' の使い方)は|45.2|を参照。 136 | 137 | メニューの翻訳が作られた後に元のメニューが変更された場合には、それらのメニュー 138 | は英語のまま表示されることがある。そのような場合には翻訳のメンテナーに連絡を取 139 | り更新するように頼んで欲しい。翻訳者の名前とメールアドレスはファイル 140 | "$VIMRUNTIME/lang/menu_.vim" の中に見つけることができる。 141 | 142 | メニューに利用するフォント(もしくはフォントセット)を指定するには、|:highlight| 143 | コマンドを使用する。例: > 144 | 145 | :highlight Menu font=k12,r12 146 | 147 | 148 | ☆ロケールの省略名 149 | 150 | あいにく、同じ言語に同じエンコードであっても、ロケール名がシステムによって異な 151 | ることがある。期待した通りにメニューが翻訳されない時には、次のコマンドの実行結 152 | 果を調べる: > 153 | 154 | echo v:lang 155 | 156 | 次に "$VIMRUNTIME/lang" ディレクトリを調べて同じ言語に使われるメニュー翻訳ファ 157 | イルを探す。"-" と "_" が違うだけでファイルは見つけられなくなる。良くある間違 158 | い "iso8859-1" と "iso_8859-1" にも用心する。幸い、Vimは全ての名前を小文字にす 159 | るので、大文字小文字の区別を心配する必要はない。名前中の空白文字はエスケープす 160 | るのではなくアンダースコア("_")に変換される。 161 | 162 | 使いたい言語用の、それと異なる名前のメニュー翻訳ファイルを見つけた場合は、独自 163 | のランタイムディレクトリに読み込まれるようファイルを作成する。ファイルの名前は 164 | 次のようにする: > 165 | 166 | ~/.vim/lang/menu_.vim 167 | 168 | ファイルが検索されるディレクトリを指定するオプション 'runtimepath' を確認する。 169 | そのファイルに別の名前のメニューファイルを読み込む、次のようなコマンドを記入す 170 | る: > 171 | 172 | runtime lang/menu_.vim 173 | 174 | 175 | ☆メニューを翻訳する 176 | 177 | メニューを独自に翻訳したい場合は、以下で説明するように|:menutrans|コマンドを使 178 | うことができる。ある1つの言語の翻訳は1つの Vim script にまとめられることが推奨 179 | される。まだ翻訳が存在しない言語については、メンテナーになりその翻訳を全ての 180 | Vimユーザーに提供することを是非とも考えていただきたい。Vimのメンテナーにメール 181 | を送って欲しい。アドレスはである。 182 | 183 | *:menut* *:menutrans* *:menutranslate* 184 | :menut[ranslate] clear 185 | メニューの翻訳をすべて削除する。 186 | 187 | :menut[ranslate] {english} {mylang} 188 | メニュー名{english}を{mylang}に翻訳する。"&" と 189 | "" の特別な文字も全て含まれる必要がある。半角ス 190 | ペースとピリオド('.')は|:menu|コマンドと同様に、バック 191 | スラッシュ {訳注: '\'} でエスケープする必要がある。 192 | {english}内の大文字小文字は無視される。 193 | 194 | 例は$VIMRUNTIME/langディレクトリを参照。 195 | 196 | 翻訳をテストするには一旦全てのメニューを削除する必要がある。次のはVimを再起動 197 | せずにそれを行う方法である: > 198 | :source $VIMRUNTIME/delmenu.vim 199 | :source 200 | :source $VIMRUNTIME/menu.vim 201 | 202 | メニューパスの各部位は個別に翻訳される。"Help" が "Hilfe" に、"Overview" が 203 | "Überblick" に訳される時、結果的に "Help.Overview" は "Hilfe.Überblick" と翻訳 204 | される。 205 | 206 | ============================================================================== 207 | 3. スクリプト *multilang-scripts* 208 | 209 | Vim script では現在の言語(ロケールを)取得するのに変数|v:lang|を使うことがで 210 | きる。デフォルトの値は "C" か環境変数$LANGの値になる。 211 | 212 | 以下の例は、この変数を使ったユーザーの好みの言語にメッセージを適合させる簡単な 213 | 例を示している, > 214 | 215 | :if v:lang =~ "de_DE" 216 | : echo "Guten Morgen" 217 | :else 218 | : echo "Good morning" 219 | :endif 220 | < 221 | 222 | vim:tw=78:sw=4:ts=8:noet:ft=help:norl: 223 | -------------------------------------------------------------------------------- /doc/os_390.jax: -------------------------------------------------------------------------------- 1 | *os_390.txt* For Vim バージョン 9.1. Last change: 2019 Dec 07 2 | 3 | 4 | VIMリファレンスマニュアル by Ralf Schandl 5 | 6 | *zOS* *z/OS* *OS390* *os390* *MVS* 7 | このファイルには z/OS Unix 上の Vim についての事項が書かれている。 8 | 9 | 1. ASCII/EBCDIC 依存のスクリプト |zOS-has-ebcdic| 10 | 2. Putty と色 |zOS-PuTTY| 11 | 3. Motif の問題 |zOS-Motif| 12 | 4. バグ |zOS-Bugs| 13 | 5. 制限事項 |zOS-limitations| 14 | 6. z/OS UNIX 上のオープンソース |zOS-open-source| 15 | 16 | 貢献者: ~ 17 | z/OS Unix への移植は Ralf Schandl によって後述の Redbook 18 | のために行われた。 19 | 20 | 以下の方々からパッチやバグレポートを戴いた: 21 | 22 | David Moore 23 | Anthony Giorgio 24 | and others 25 | 26 | ============================================================================== 27 | 1. ASCII/EBCDIC に依存のスクリプト *OS390-has-ebcdic* *zOS-has-ebcdic* 28 | 29 | Vim script 用に "ebcdic" 機能が追加された。ASCII に依存したスクリプトは、以下 30 | のようにすることで修正可能である: 31 | > 32 | if has("ebcdic") 33 | let space = 64 34 | else 35 | let space = 32 36 | endif 37 | < 38 | 39 | ============================================================================== 40 | 2. Putty と色 *OS390-PuTTY* *zOS-PuTTY* 41 | 42 | Putty を使って z/OS に接続したときに、構文強調表示やスクリーンの表示が乱れるよ 43 | うな問題が発生した場合は、次の手順を試してみてください: 44 | 45 | - Putty を "vt220" 端末として設定する (Connection->Data) 46 | - 次の三行を vimrc に追加する: 47 | 48 | > 49 | set t_AB=[4%p1%dm 50 | set t_AF=[3%p1%dm 51 | set t_CO=8 52 | < 53 | 54 | Note:  は一文字で、 を使って入力できる。 55 | 56 | ============================================================================== 57 | 3. Motifの問題 *OS390-Motif* *zOS-Motif* 58 | 59 | Note: Vim 6.* で確認。その後は未テスト。 60 | 61 | Motif ライブラリの z/OS への移植において、プルダウンメニューのアクセラレータ文 62 | 字を EBCDIC から ASCII への変換することが忘れられているように思える。 63 | 手動で変換するように試してみたが、メニューを開くところ (ファイルメニューを開く 64 | ) までしか働かず、メニュー項目を選択すること (ファイルブラウザーを開く 65 | O) はできない。 66 | 67 | まだ解決法が見つかっていない。 68 | 69 | ============================================================================== 70 | 4. バグ *OS390-bugs* *zOS-Bugs* 71 | 72 | - ビジュアルブロックモードで長大なテキストを選択すると常にハングする。これはメ 73 | モリ破壊による可能性がある。ターミナルと GUI 版両方で起きる。 74 | 75 | ============================================================================== 76 | 5. 制限事項 *OS390-limitations* *zOS-limitations* 77 | 78 | - タグファイルには二分探索を使っていない 79 | /bin/sort はデフォルトで ASCII の値を使って並べ替えを行う。このプログラムは 80 | tags を並べ替えるのに ctag により通常使われている。いつかはそれを正しく扱え 81 | る ctags がリリースされるかもしれないが、いつになるかはわからない。もしかし 82 | たら永遠にリリースされないかもしれないし… 83 | 84 | - 著者のメインフレーム上で使っている cscope のバージョンでは、cscope インター 85 | フェイス(|cscope|)は動作しない。著者が使っているのはバージョン 15.0b12 で、 86 | これを使って Vim でコマンド "cscope add" を実行すると、Vim がハングする。 87 | cscope のデータベースのバイナリフォーマットが Vim が期待するものと異なるの 88 | ではないかと推測している。cscope の現在のバージョン(15.3)を z/OS へ移植しよ 89 | うとしたが、うまくいっていない。興味のある方がおられたら、何か進展があったと 90 | きは著者にご連絡ください。 91 | 92 | - glib/gtk はサポートしていない。著者は z/OS UNIX 上で glib をコンパイルするこ 93 | とはできなかった。そのため、すてきな gtk ツールバーなしで生きていかねばなら 94 | ない。 95 | 96 | コンパイル時に無効化される機能: 97 | - マルチバイトサポート (|multibyte|) 98 | - 右横書きモード (|rileft|) 99 | - ペルシア語キーマップ (|Farsi|) 100 | - アラビア語サポート (|Arabic|) 101 | - スペルチェック (|spell|) 102 | 103 | テストされていない機能: 104 | - Perl インターフェイス (|perl|) 105 | - ハングル文字入力 (|hangul|) 106 | - 暗号化サポート (|encryption|) 107 | - Langmap (|'langmap'|) 108 | - Python インターフェイス (|Python|) 109 | - "右左" 書きモード (|'rightleft'|) 110 | - TCL インターフェイス (|tcl|) 111 | .... 112 | 113 | ============================================================================== 114 | 6. z/OS UNIX 上のオープンソース *OS390-open-source* *zOS-open-source* 115 | 116 | z/OS UNIX 上の他のオープンソースソフトウェアに興味があるなら、以下の Redbook 117 | を参照すること: 118 | 119 | Mike MacIsaac et al 120 | "Open Source Software for z/OS and OS/390 UNIX" 121 | IBM Form Number: SG24-5944-01 122 | ISBN: 0738424633 123 | http://www-03.ibm.com/systems/resources/servers_eserver_zseries_zos_unix_redbook_sg245944.pdf 124 | 125 | 以下も参照してください: 126 | http://www.redbooks.ibm.com 127 | http://www-03.ibm.com/systems/z/os/zos/features/unix/ 128 | http://www-03.ibm.com/systems/z/os/zos/features/unix/library/IBM+Redbooks/index.html 129 | 130 | 131 | 132 | ------------------------------------------------------------------------------ 133 | vim:tw=78:ts=8:noet:ft=help:norl: 134 | -------------------------------------------------------------------------------- /doc/os_amiga.jax: -------------------------------------------------------------------------------- 1 | *os_amiga.txt* For Vim バージョン 9.1. Last change: 2010 Aug 14 2 | 3 | 4 | VIMリファレンスマニュアル by Bram Moolenaar 5 | 6 | 7 | *Amiga* 8 | このファイルは Amiga 版の Vim 特有の事柄に関して記述されている。 9 | 下に |MorphOS| 専用のセクションもある。 10 | 11 | NOTE: Amiga 用のコードはまだソースに含まれているが、メンテナンスもテストもされ 12 | ていない。 13 | 14 | Amiga へのインストール: 15 | - "VIM:" を Vim の "doc" ディレクトリがある場所に割り当てる。help コマンドで 16 | "VIM:doc/help.txt" が検索される。$VIM 環境変数を設定してもうまく動作する。他 17 | の方法では: $VIM が使われており、定義されていないと "VIM:" が使われる。 18 | - DOS 1.3 かそれ以前では: "arp.library" を "libs:" に追加する。|+ARP| 機能を有 19 | 効にしてコンパイルしている必要がある。newcli と run が "C:" に含まれているこ 20 | とを確認する (外部コマンドを実行するため)。 21 | - "-c" を受け付ける shell (例えば、Fish disk 624 に含まれている "Csh") を "c:" 22 | か他の検索パスが通っている場所に置く (外部コマンドを実行するため)。 23 | 24 | 十分なメモリを積んでいれば、"rez csh vim" コマンドを実行し、Vim と csh を 25 | resident にすることで起動の遅さを回避することができる。"rezlib.library" を 26 | "libs:" ディレクトリに置く必要があるだろう。2.0 以下では rez version 0.5 が必 27 | 要である。 28 | 29 | ダイグラフを使わない場合は、|+digraphs| 機能を無効にして再コンパイルすることで 30 | メモリをいくらか節約することができる。他の端末で Vim を使いたい場合は TERMCAP 31 | オプション付きで再コンパイルする。Manx 5.x と SAS 6.x 付きでコンパイルされる。 32 | makefile と feature.h を参照。 33 | 34 | 構文強調がオンになっているときや、検索にネストしたワイルドカードを含めたときに 35 | Vim がクラッシュした場合、それはスタックが小さすぎる可能性がある。スタックサイ 36 | ズを大きくしてみてほしい。Vim を起動する前にシェル内で Stack コマンドを使う。 37 | workbench では Vim のアイコンを選択し、workbench の "Info" メニューを選択し、 38 | フォーム内の Stack フィールドを変更する。 39 | 40 | 異なる色を使いたい場合は、termcap コードを設定する: 41 | t_mr (反転テキスト) 42 | t_md (太字テキスト) 43 | t_me (t_mr と t_md 後の普通のテキスト) 44 | t_so (standout モード) 45 | t_se (t_so 後の普通のテキスト) 46 | t_us (下線付きテキスト) 47 | t_ue (t_us 後の普通のテキスト) 48 | t_ZH (イタリック・テキスト) 49 | t_ZR (t_ZH 後の普通のテキスト) 50 | 51 | 標準の ANSI エスケープシーケンスが使われる。コードは: 52 | 30 grey char 40 grey cell >0 grey background 0 all attributes off 53 | 31 black char 41 black cell >1 black background 1 boldface 54 | 32 white char 42 white cell >2 white background 2 faint 55 | 33 blue char 43 blue cell >3 blue background 3 italic 56 | 34 grey char 44 grey cell >4 grey background 4 underscore 57 | 35 black char 45 black cell >5 black background 7 reverse video 58 | 36 white char 46 white cell >6 white background 8 invisible 59 | 37 blue char 47 blue cell >7 blue background 60 | 61 | '>' 付きのコードは最後になければならない。cell と background の色は同じである 62 | 必要がある。コードはセミコロンで分割することで組み合わせることができる。例え 63 | ば、青い背景に白のテキストにするには: > 64 | :set t_me=^V[0;32;43;>3m 65 | :set t_se=^V[0;32;43;>3m 66 | :set t_ue=^V[0;32;43;>3m 67 | :set t_ZR=^V[0;32;43;>3m 68 | :set t_md=^V[1;32;43;>3m 69 | :set t_mr=^V[7;32;43;>3m 70 | :set t_so=^V[0;31;43;>3m 71 | :set t_us=^V[4;32;43;>3m 72 | :set t_ZH=^V[3;32;43;>3m 73 | 74 | 複数のコマンドをフィルターコマンドとして使う場合、例えば: > 75 | :r! echo this; echo that 76 | では、最後のコマンドの出力のみが使われる。この問題を回避するには、コマンドをグ 77 | ループにする必要がある。そして、これは使っている shell に依存している (このた 78 | め、Vim では自動的に行わない)。例: > 79 | :r! (echo this; echo that) 80 | :r! {echo this; echo that} 81 | 82 | 1 つのファイル名のみを受け付けるコマンドではファイル名にスペースが使われていて 83 | も構わない。しかしながら、複数のファイル名を引数として受け付けるコマンドでは、 84 | 埋め込まれたスペースをバックスラッシュでエスケープする必要がある。 85 | 86 | ------------------------------------------------------------------------------ 87 | Vim for MorphOS *MorphOS* 88 | 89 | [このセクションの大部分は Ali Akcaagac による] 90 | 91 | MorphOS 版についての最新情報は: 92 | http://www.akcaagac.com/index_vim.html 93 | 94 | 95 | 問題 ~ 96 | 97 | MorphOS ではなく Vim や UN*X に関連した問題が 2 つある。ram {訳注: RAM ディス 98 | ク?} 内の Vim を起動すると MorphOS は小煩い requester {訳注: ダイアログ or メッ 99 | セージボックス?} を出していろいろと不満を言うが、それは無視してほしい。別の問 100 | 題は、普通に Vim を起動するといくつかのプラグインが無視できるような問題を起こ 101 | す。いつか誰かが直してくれることを願う。 102 | 103 | とりあえずこれらの問題には目をつむり、次のように起動するか: 104 | 105 | vim <編集するファイル> 106 | 107 | もしくは、このヘルプの意向を享受し、質素に Vim を起動したい場合は、次のように 108 | すると良い: 109 | 110 | vim --noplugin <もちろんファイルを指定することもできる> 111 | 112 | 113 | インストール ~ 114 | 115 | 1) 'VIM' バイナリを c: にコピーする 116 | 2) Vim のランタイムパッケージを次から入手する 117 | 118 | ftp://ftp.vim.org/pub/vim/amiga/vim62rt.tgz 119 | 120 | そしてそれを MorphOS がインストールされている場所の 'Apps' ディレクトリに 121 | 展開する。私の場合は次のような階層になっている: 122 | 123 | MorphOS:Apps/Vim/Vim62/... 124 | 125 | 3) s:shell-startup に次の行を加える (重要!)。 126 | 127 | ;Begin VIM 128 | Set VIM=MorphOS:Apps/Vim/Vim62 129 | Assign HOME: "" 130 | ;End VIM 131 | 132 | 4) '.vimrc' ファイルを s: にコピーする。 133 | 134 | 5) アーカイブには 'color-sequence' というファイルも含まれている。これは 135 | MorphOS のシェルで ANSI カラーを表示するようにする。このファイルを s: にコ 136 | ピーし s:shell-startup を以下のように変更する: 137 | 138 | ;Begin VIM 139 | Set VIM=MorphOS:Apps/Vim/Vim62 140 | Assign HOME: "" 141 | Execute S:Color-Sequence 142 | Cls 143 | ;End VIM 144 | 145 | 146 | vim:tw=78:ts=8:noet:ft=help:norl: 147 | -------------------------------------------------------------------------------- /doc/os_beos.jax: -------------------------------------------------------------------------------- 1 | *os_beos.txt* For Vim バージョン 9.1. Last change: 2020 Jun 07 2 | 3 | 4 | VIMリファレンスマニュアル by Bram Moolenaar 5 | 6 | 7 | *beos* *BeOS* *BeBox* 8 | このファイルはBeOS向けVimについての詳細を記載するために利用されていた。 9 | 10 | BeOSのサポートは 8.2.0849 にて削除された。 11 | 12 | 13 | vim:tw=78:ts=8:noet:ft=help:norl: 14 | -------------------------------------------------------------------------------- /doc/os_haiku.jax: -------------------------------------------------------------------------------- 1 | *os_haiku.txt* For Vim バージョン 9.1. Last change: 2020 May 13 2 | 3 | 4 | VIMリファレンスマニュアル by Bram Moolenaar 5 | 6 | 7 | *Haiku* 8 | このファイルは Haiku 版の Vim 特有の事柄に関して記述されています。このファイル 9 | で説明されていない事項について、Vim の挙動は Unix |os_unix.txt| 版と非常に良く 10 | 似ています。 11 | 12 | Haiku は BeOS に触発されたオープンソースのオペレーティングシステムで、明確に 13 | パーソナルコンピューターをターゲットとしています。 14 | 15 | 1. 全般 |haiku-general| 16 | 2. Vim のコンパイル |haiku-compiling| 17 | 3. Haiku の GUI |haiku-gui| 18 | 4. $VIM ディレクトリ |haiku-vimdir| 19 | 5. $USER_SETTINGS_DIR ディレクトリ 20 | |haiku-user-settings-dir| 21 | 6. ドラッグ&ドロップ |haiku-dragndrop| 22 | 7. 複数同時起動不可と複数起動可能 23 | |haiku-launch| 24 | 8. フォント |haiku-fonts| 25 | 9. Meta キー |haiku-meta| 26 | 10. マウスのキーマッピング |haiku-mouse| 27 | 11. 色名 |haiku-colors| 28 | 12. GUI ツールバーイメージ |haiku-toolbar-images| 29 | 13. クレジット |haiku-support-credits| 30 | 14. バグと ToDo |haiku-bugs| 31 | 32 | 33 | 1. 全般 *haiku-general* 34 | 35 | デフォルトのシンタックスハイライトは異なる前景色のハイライトアイテムについて多 36 | くの場合動作します。もっとも良く動作させるには暗めの背景色と明るい文字をターミ 37 | ナルウィンドウに設定します。いくつかの中間的なグレーの背景色 (例えば 38 | (r,g,b)=(168,168,168)) と黒の文字でもまた良く動くでしょう。 39 | 40 | 41 | 2. Vim のコンパイル *haiku-compiling* 42 | 43 | Vim は標準的な configure/make 手法を用いてコンパイルすることができます。 44 | ./configure を引数無しか --enable-gui=haiku で Haiku の GUI をサポートしてコン 45 | パイルできます。./configure --help を走らせることで、あなたが他に有効/無効にで 46 | きる機能を見付けることができるでしょう。 47 | 48 | Haiku は端末ライブラリとして "ncurses6" を利用しており、そのため Haiku でビル 49 | ドにあたってのコンフィグのために "ncurses6_devel" を HaikuDepot からインストー 50 | ルする必要があります。それには ./configure コマンドに "--with-tlib=ncurses" を 51 | 追加するだけです。 52 | 53 | "make" で Vim をコンパイルでき、次いで "install" でインストールすることができ 54 | ます。GUI 版で追加的に GUI レスの vim バイナリもインストールされ、Haiku にシー 55 | ムレスに統合されます。典型的なコマンドは以下: 56 | 57 | ./configure --prefix=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY` \ 58 | --datarootdir=`finddir B_SYSTEM_NONPACKAGED_DATA_DIRECTORY` \ 59 | --mandir=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY`/documentation/man \ 60 | --with-tlib=ncurses 61 | make clean 62 | make install 63 | 64 | ./configure --prefix=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY` \ 65 | --datarootdir=`finddir B_SYSTEM_NONPACKAGED_DATA_DIRECTORY` \ 66 | --mandir=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY`/documentation/man \ 67 | --with-tlib=ncurses \ 68 | --disable-gui 69 | make clean 70 | make install 71 | 72 | 73 | 3. Haiku の GUI *haiku-gui* 74 | 75 | 通常、起動を gvim か vim -g で行うと GUI の Vim が起動します。GUI 付き版の vim 76 | はターミナルからではなくトラッカーからの起動であるかどうかを判定しようとしま 77 | す、そしてそうだった場合 GUI を使います。しかしながら、現在の判定スキームでは 78 | "vim - 103 | 104 | :if version >= 500 105 | : set helpfile=~/vim/runtime/doc/help.txt 106 | : syntax on 107 | :endif 108 | 109 | 110 | 5. $USER_SETTINGS_DIR ディレクトリ *haiku-user-settings-dir* 111 | 112 | $USER_SETTINGS_DIR は Haiku の設定とコンフィグファイルを保存している場所へのシ 113 | ンボル名です。 114 | 115 | 通常は /boot/home/config/settings になっています。 116 | 117 | 118 | 6. ドラッグ&ドロップ *haiku-dragndrop* 119 | 120 | Vim のアイコン(ドロップするファイルのアプリケーションが Vim の"複数同時起動不 121 | 可"に設定されていなければ新しい Vim のセッションを開始します)、もしくは Vim の 122 | ウィンドウ(ファイルの編集を始めます)にファイル(複数)もしくはディレクトリ(複数) 123 | をドロップすることができます。フォルダをドロップした場合は Vim のカレントワー 124 | キングディレクトリに設定します |:cd| |:pwd|。もし SHIFT キーを押しながら、ファ 125 | イルもしくはフォルダをドロップしたなら、 Vim は最初にドロップされたアイテムが 126 | 含まれるディレクトリに {訳注:カレントワーキングディレクトリを} 変更します。Vim 127 | を起動するときはShiftキーを押す必要はなく: Vim は、(Shift キーを押したときと) 128 | 同じように動作します。 129 | 130 | ファイルのドロップは引数リストを設定します。 |argument-list| 131 | 132 | 133 | 7. 複数同時起動不可と複数起動可能 *haiku-launch* 134 | 135 | 配布されている Vim のアプリケーションフラグ(ファイルタイプの設定で確認できる) 136 | は複数起動可能に設定されています。もし望むなら代わりに複数同時起動不可をセット 137 | することもできます。2つめの Vim のコピーが起動するとき最初の Vim でファイルを 138 | 代わりに開くよう試みます。これはトラッカーから開いたときにコマンドラインから開 139 | くのと同じように働きます。後者のケースでは、ノンファイルな(オプション)引数はサ 140 | ポートされません。別の複数同時起動不可での後退点は、Vim のインスタンスが GUI 141 | サポートでコンパイルされていても非 GUI アプリケーションとして動作するとき、 142 | "Open With ..." での要求を無言で無視してしまうことです。Vim インスタンスが GUI 143 | ありで動作するときはこの問題はありません。 144 | 145 | 注意: GUI バージョンだけが BApplication です (そしてその為にアプリケーションフ 146 | ラグがある)。 147 | この章は GUI レスバージョンについては適用されず、そのようにコンパイルする必要 148 | があります。 149 | 150 | 151 | 8. フォント *haiku-fonts* 152 | 153 | フォントの設定は > 154 | 155 | :set guifont=DejaVu_Sans_Mono/Book/12 156 | 157 | 最初の部分はフォントファミリー、次の部分はスタイル、三番目はサイズです。(フォ 158 | ント)ファミリーとスタイルのスペースはアンダースコアに置き換えられます。 159 | 160 | 等幅フォントで最良の結果が得られます。Vim は全てのフォントについて、 161 | B_FIXED_SPACING モードを適用しようとしますが、どうやらプロポーショナルフォント 162 | については働かないようです(BeBook と呼ばれているにもかかわらずです)。 163 | 164 | 現在のフォントでどのエンコーディングをサポートしているか検証したいなら > 165 | 166 | :digraphs 167 | 168 | コマンドを与えて、ISO Latin 1 エンコーディングでのたくさんの文字を一覧表示しま 169 | す。もし、例えば、その中に"ボックス"文字 {訳注: 俗に言う表示できない時の豆腐文 170 | 字} があったり、もしくは最後がドット付きyではない場合は、そのエンコーディング 171 | でこのフォントは動きません。 172 | 173 | もし指定したフォントが無いなら、システムの固定フォントが得られます。 174 | 175 | GUI でのフォント選択ダイアログは、次のようにして: 176 | 177 | :set guifont=* 178 | 179 | コマンドを与えることで利用できます。 180 | 181 | 182 | 9. Meta キー *haiku-meta* 183 | 184 | META 修飾キーは左もしくは右の OPTION キーによって得られます。これは ALT(もしく 185 | は COMMAND)キーがアプリケーションに通知されないことを意味します。 186 | 187 | 188 | 10. マウスのキーマッピング *haiku-mouse* 189 | 190 | Vim は様々なマウスのボタンを LeftMouse、MiddleMouse そして RightMouse と呼んで 191 | います。デフォルトのマウスの設定を使用するなら、これらの名前が実際のボタンに対 192 | 応します。Vim は次のマッピングを使用します: 193 | 194 | Button 1 -> LeftMouse, 195 | Button 2 -> RightMouse, 196 | Button 3 -> MiddleMouse. 197 | 198 | もし、あなたのマウスが3ボタンより少ないなら、修飾キーとマウスの他のボタンを組 199 | み合せてマウスクリックをマッピングすることができます。例として 200 | $VIM/macros/swapmous.vim ファイルを見てください。 |gui-mouse-mapping| 201 | 202 | 203 | 11. 色名 *haiku-colors* 204 | 205 | Vim は多数の色名を内蔵しています。追加の名前については |v:colornames| に定義さ 206 | れています。詳細は |:colorscheme| を参照してください。 207 | 208 | 12. GUI ツールバーイメージ *haiku-toolbar-images* 209 | 210 | ツールバー画像の代替セットは任意の高さのPNG画像でなくてなはなりません。画像幅 211 | は1行のセルに最低32個のボタンが入るように計算されます。画像は 212 | $VIRUNTIME/bitmaps/builtin-tools.png という名前で保存すること。ボタンの割り当 213 | てについての情報は |builtin-tools| を参照のこと。 214 | 215 | 216 | 13. クレジット *haiku-support-credits* 217 | 218 | 多数の人の手により Haiku 版は BeOS 版をベースとして移植されました 219 | - BeBox GUI サポート Copyright 1998 by Olaf Seibert; 220 | - R4 への移植 by Richard Offer Jul 99; 221 | - 上記に含まれないが忘れられたわけではない多数の人の提供; 222 | - Haiku サポート by Siarzhuk Zharski Apr-Mai 2009. 223 | 224 | すべての変更とパッチは vim-license 下で提供されます。 225 | 226 | みんなありがとう! 227 | 228 | 229 | 14. バグと ToDo *haiku-bugs* 230 | 231 | この移植は開発中で完全な状態から遠く離れています。バグレポート、パッチ、そして 232 | 要望について、Vim のメーリングリストか Vim GitHub リポジトリを利用してください。 233 | 234 | メーリングリスト: https://www.vim.org/maillist.php 235 | Vim Github リポジトリ: https://github.com/vim/vim 236 | 237 | 238 | vim:tw=78:ts=8:ft=help:norl: 239 | -------------------------------------------------------------------------------- /doc/os_mac.jax: -------------------------------------------------------------------------------- 1 | *os_mac.txt* For Vim バージョン 9.1. Last change: 2024 Nov 14 2 | 3 | 4 | VIMリファレンスマニュアル by Bram Moolenaar 5 | 6 | 7 | *mac* *Mac* *macintosh* *Macintosh* 8 | 9 | このファイルには、Macintosh 版 Vim の特殊性が記述されている。 10 | 11 | NOTE: このファイルは少し古くなっている。ここにより役立つ情報が見つかるかもしれ 12 | ない: 13 | http://macvim.org/ 14 | 15 | 1. ファイル名の規則 |mac-filename| 16 | 2. .vimrc と .vim ファイル |mac-vimfile| 17 | 3. 標準のマップ |mac-standard-mappings| 18 | 4. FAQ |mac-faq| 19 | 5. 知られている不足事項 |mac-lack| 20 | 6. Mac バグレポート |mac-bug| 21 | 7. Vim のコンパイル |mac-compile| 22 | 8. Darwin 機能 |mac-darwin-feature| 23 | 24 | Vim のバージョン 3.0 には Mac 移植版があった。以下は古いファイルの最初の数行で 25 | ある: 26 | 27 | VIM Release Notes 28 | Initial Macintosh release, VIM version 3.0 29 | 19 October 1994 30 | 31 | Eric Fischer 32 | , , 33 | 5759 N. Guilford Ave 34 | Indianapolis IN 46220 USA 35 | 36 | ============================================================================== 37 | 1. ファイル名の規則 *mac-filename* 38 | 39 | Vim バージョン 7 以降では、Vim で Unix パス区切り文字をそのまま使用できる。指 40 | 定されたファイル名がカレントフォルダに対する相対パスか絶対パス (つまり、 41 | "Desktop" に対して相対的) であるかを判断するために、次のアルゴリズムが使用され 42 | る: 43 | 44 | パスが "/" で始まる場合は、絶対パス 45 | パスが ":" で始まる場合は、相対パス 46 | パスが "/" でも ":" でも始まらず、"/" より前に ":" が見つかった場合は、 47 | 絶対パス 48 | > 49 | :e /HD/text 50 | :e HD:text 51 | < ディスク "HD" のファイル "text" を編集。 > 52 | :e :src:main.c 53 | :e src/main.c 54 | < カレントフォルダのフォルダ "src" 内のファイル "main.c" を編集。 > 55 | e os_mac.c 56 | < カレントフォルダのファイル "os_mac.c" を編集。 57 | 58 | |$VIM| および |$VIMRUNTIME| 変数を使用できる。 > 59 | 60 | so $VIMRUNTIME:syntax:syntax.vim 61 | 62 | ============================================================================== 63 | 2. .vimrc と .vim ファイル *mac-vimfile* 64 | 65 | Vim script には Unix スタイルの行区切りを使用することが推奨されており、単一の 66 | 改行文字 (LF) を使用する。 67 | 68 | Vim を起動すると $VIMRUNTIME/macmap.vim スクリプトが読み込まれ、デフォルトのコ 69 | マンドキーのマップが定義される。 70 | 71 | 古いシステムでは、ドット "." で始まるファイルは推奨されていない。そのため、rc 72 | ファイルの名前は "vimrc" または "_vimrc"、"gvimrc" または "_gvimrc" になる。こ 73 | れらのファイルは任意のフォーマット (mac, dos, unix) にすることができる。 74 | |'nocompatible'| オプションが設定されている場合は、Vim は任意のファイル形式を 75 | 扱えるが、それ以外の場合は mac 形式のファイルのみを扱う。 76 | 77 | ============================================================================== 78 | 3. 標準のマップ *mac-standard-mappings* 79 | 80 | クリップボードから/クリップボードへのカット/コピー/ペーストには、以下のマップ 81 | が使用できる。 82 | 83 | キー ノーマル ビジュアル 挿入 説明 ~ 84 | Command-v "*P "-d"*P * テキストのペースト ** 85 | Command-c "*y ビジュアルテキストのコピー ** 86 | Command-x "*d ビジュアルテキストのカット ** 87 | Backspace "*d ビジュアルテキストのカット 88 | 89 | ============================================================================== 90 | 4. Mac FAQ *mac-faq* 91 | 92 | インターネット上: http://macvim.org/OSX/index.php#FAQ 93 | 94 | Q: Apple ターミナルで非 ASCII 文字を入力できない。 95 | A: [ウィンドウ設定] → [エミュレーション] で「非 ASCII 文字をエスケープする」 96 | のチェックを外す。 97 | 98 | Q: コマンドラインから GUI の Vim を起動するには? 99 | A: Vim.app が /Applications にあると仮定すると: 100 | open /Applications/Vim.app 101 | または: 102 | /Applications/Vim.app/Contents/MacOS/Vim -g {arguments} 103 | 104 | Q: GUI または open から Vim.app を起動するときに、$PATH を適切な値に設定するに 105 | はどうすればよいか? 106 | A: 以下のトリックはほとんどのシェルで動作する。これを vimrc ファイルに記述す 107 | る。これは macvim.org で配布されているバイナリに含まれているシステム vimrc 108 | ファイルに含まれている。 > 109 | let s:path = system("echo echo VIMPATH'${PATH}' | $SHELL -l") 110 | let $PATH = matchstr(s:path, 'VIMPATH\zs.\{-}\ze\n') 111 | 112 | ============================================================================== 113 | 5. 知られている不足事項 *mac-lack* 114 | 115 | ターミナルでは CTRL-^ は Shift-Control-6 とタイプする必要がある。CTRL-@ は 116 | Shift-Control-2 である。 117 | 118 | ============================================================================== 119 | 6. Mac バグ レポート *mac-bug* 120 | 121 | Mac 版固有のバグや特性の変更を報告する場合は、vim-mac メーリングリスト 122 | |vim-mac| を使用すること。ただし、登録する必要がある。別の方法としては、Vim 123 | github リポジトリに直接問題を報告することもできる: 124 | 125 | https://github.com/vim/vim/issues 126 | 127 | または、MacVim 固有の問題についてはこちらで報告できる: 128 | 129 | https://github.com/macvim-dev/macvim/issues 130 | 131 | ============================================================================== 132 | 7. Vim のコンパイル *mac-compile* 133 | 134 | ソースファイルと一緒にある "src/INSTALLmac.txt" を参照。 135 | 136 | ============================================================================== 137 | 8. Darwin 機能 *mac-darwin-feature* 138 | 139 | とても古い Mac でなければ、Darwin とも呼ばれる OS X を使用しているはずである。 140 | Darwin の 1 つ前の OS は Mac OS 9 である。Darwin 機能は Vim が Darwin 特有の資 141 | 産を使えるようにする。 142 | 143 | この機能によって実現されるものは 2 つある: 144 | 145 | - Vim をシステムクリップボードと連携可能にする。 146 | - いくつかのプラットフォーム特有の文字エンコーディングと Vim が認識しているそ 147 | れらの差分を橋渡しする変換モジュールを Vim に組み入れる。 148 | 149 | 言うまでもなく、同じデスクトップ環境上で動く他のアプリケーションとうまく連携す 150 | るまともなテキストエディタにとって、この両方は必要不可欠なものである。 151 | 152 | Vim は macOS 専用のアプリケーションではないので、他のプラットフォーム上のユー 153 | ザーが得ているユーザー体験を macOS 上の人々にも提供するための特別な機能を追加 154 | する必要がある。 155 | 156 | 簡単のために、この特定のプラットフォームに特化した Vim の機能は "darwin" と呼 157 | ばれる。 158 | 159 | この機能は configuration のオプションである。したがって有効か無効かはビルド時 160 | に決定され、一度有効にするよう選択されると組み込まれてしまい、それゆえ実行時に 161 | 無効にすることはできない。 162 | 163 | この機能は標準で有効になっている。簡単に後述する特別なニーズでもない限り、ほと 164 | んどのユーザーにとってこれは満足のゆくものだろう。 165 | 166 | 無効にしたい場合は、configure スクリプトに `--disable-darwin` を渡す: 167 | > 168 | ./configure --disable-darwin <その他のオプション> 169 | 170 | その後 Vim をビルドするために `make` を実行する。オプションの順番は関係ない。 171 | 172 | 実行時に darwin 機能が組み込まれているかどうかを確かめるには 173 | `has('osxdarwin')` を使用することができ、機能が組み込まれている場合には 1 が返 174 | り、それ以外では 0 が返る。後方互換性のため、`osxdarwin` の代わりに `macunix` 175 | もまだ使用することができる。 176 | 177 | `--disable-darwin` が有用だと分かった着目すべきケースは次のとおり: 178 | 179 | - システムクリップボードの代わりに |x11-selection| を使用したいとき。 180 | - |x11-clientserver| を使用したいとき。 181 | 182 | どちらも適切に動作するために X11 のクライアント間通信を利用する必要があり、通 183 | 信メカニズムがシステムクリップボードと競合する可能性があるので、実行時に Vim 184 | が停止するのを防ぐため darwin 機能は無効にしておくべきである。 185 | 186 | 187 | vim:tw=78:ts=8:noet:ft=help:norl: 188 | -------------------------------------------------------------------------------- /doc/os_mint.jax: -------------------------------------------------------------------------------- 1 | *os_mint.txt* For Vim バージョン 9.1. Last change: 2020 Jul 14 2 | 3 | 4 | VIMリファレンスマニュアル by Jens M. Felderhoff 5 | 6 | 7 | *MiNT* *Atari* 8 | Atari MiNT 版のサポートはパッチ 8.2.1215 にて削除された。その時点でほぼ動作し 9 | なくなっており、コードはすでに古くなっていてメンテナンスされていなかった。 10 | 11 | 12 | オリジナル版追加: Jens M. Felderhoff, e-mail: 13 | 14 | 15 | vim:tw=78:ts=8:noet:ft=help:norl: 16 | -------------------------------------------------------------------------------- /doc/os_msdos.jax: -------------------------------------------------------------------------------- 1 | *os_msdos.txt* For Vim バージョン 9.1. Last change: 2016 Feb 26 2 | 3 | 4 | VIMリファレンスマニュアル by Bram Moolenaar 5 | 6 | 7 | *msdos* *ms-dos* *MSDOS* *MS-DOS* 8 | このファイルはVimのMS-DOSバージョンに関する特記事項を記述していた。MS-DOSサ 9 | ポートはパッチ7.4.1399で削除された。もしもMS-DOSでVimを使いたいのならば、それ 10 | よりも古いバージョンを取得する必要があるだろう。しかしながらMS-DOSバージョン 11 | は、メモリが不十分なために動作しないことに留意して欲しい。(DJGPPを使った) 12 | DOS32バージョンならば、古いシステムでも動くかもしれない。 13 | 14 | 15 | vim:tw=78:ts=8:noet:ft=help:norl: 16 | -------------------------------------------------------------------------------- /doc/os_os2.jax: -------------------------------------------------------------------------------- 1 | *os_os2.txt* For Vim バージョン 9.1. Last change: 2015 Dec 31 2 | 3 | 4 | VIMリファレンスマニュアル by Paul Slootman 5 | 6 | 7 | *os2* *OS2* *OS/2* 8 | このファイルには以前VimのOS/2バージョンの詳細が含まれていた。 9 | 10 | OS/2 サポートはパッチ 7.4.1008 で削除された。 11 | 12 | 13 | vim:tw=78:ts=8:noet:ft=help:norl: 14 | -------------------------------------------------------------------------------- /doc/os_qnx.jax: -------------------------------------------------------------------------------- 1 | *os_qnx.txt* For Vim バージョン 9.1. Last change: 2005 Mar 29 2 | 3 | 4 | VIMリファレンスマニュアル by Julian Kinraid 5 | 6 | 7 | *QNX* *qnx* 8 | 9 | 1. 概要 |qnx-general| 10 | 2. Vimをコンパイルする |qnx-compiling| 11 | 3. 端末サポート |qnx-terminal| 12 | 4. Photon GUI |photon-gui| 13 | 5. Photon フォント |photon-fonts| 14 | 6. バグと今後の予定 15 | 16 | ============================================================================== 17 | 18 | 1. 概要 *qnx-general* 19 | 20 | QNX上のVimはほとんどUNIXと同じように動作する。 |os_unix.txt| 21 | 22 | 23 | 2. Vimをコンパイルする *qnx-compiling* 24 | 25 | Vimは標準的なconfigure/makeのやり方でコンパイルすることができる。X11を使ってコ 26 | ンパイルしたいならば、configure にオプション --with-x を渡す。そうではなく 27 | ./configure に引数を渡さない場合や、--enable-gui=photon を渡した場合には、 28 | Photon GUIをサポートする。その他の有/無効を指定できる機能については 29 | ./configure --help を実行することで知ることができる。 30 | 31 | 32 | 3. 端末サポート *qnx-terminal* 33 | 34 | Vimはコンパイル時にオプションが指定されれば、ptermでのマウスとクリップをサポー 35 | トしている。通常そのオプションは指定される。 36 | 37 | マウスのサポートに関わるオプションには |'mouse'| と |'ttymouse'| がある。マウ 38 | スを使用時には、単純に左右のボタンのクリックとダブルクリックのみがサポートされ 39 | る。マウス使用中に, , を押下状態にすると、ptermはマウスを自 40 | 分で解釈してしまう。その結果、範囲選択が成されるが、これはVimが行うのそれとは 41 | 本質的に異なったものである。 42 | 43 | マウス使用時にはでptermのメニューを開くことができる。vim側でマ 44 | ウスを無効にするには、オプション |'mouse'| を空に設定する: > 45 | :set mouse= 46 | 47 | 48 | 4. Photon GUI *photon-gui* 49 | 50 | GUIのVimを起動するには、gvimかvim -gを実行する。そうでなければ端末版が起動す 51 | る。詳細な情報は - |gui-x11-start| 52 | 53 | サポートされる機能: 54 | :browse コマンド |:browse| 55 | :confirm コマンド |:confirm| 56 | カーソルの点滅 |'guicursor'| 57 | メニュー |:menu| 58 | ポップアップメニュー |popup-menu| 59 | メニューの優先順位 |menu-priority| 60 | ツールバー |gui-toolbar| 61 | |'toolbar'| 62 | フォント選択ダイアログ (:set guifont=*) |photon-fonts| 63 | マウスフォーカス |'mousefocus'| 64 | マウスカーソルを隠す |'mousehide'| 65 | マウスカーソルの形 |'mouseshape'| 66 | クリップボード |gui-clipboard| 67 | 68 | 未完成の機能: 69 | 様々な国際化のサポート、アラビア語やヘブライ語のサポート、 70 | エンコードのサポート、その他諸々。 71 | 72 | このヘルプファイル 73 | 74 | サポートされていない機能: 75 | 検索/置換ウィンドウ |:promptfind| 76 | 切り取りメニュー 77 | 78 | このリストに書こうとさえ思いつかない、だから書けない他のもの。 79 | 80 | 81 | 5. Photon フォント *photon-fonts* 82 | 83 | オプション 'guifont' でGUIのフォントを設定する: > 84 | :set guifont=Lucida\ Terminal 85 | < 86 | 指定するフォントは等幅でなければならず、フォント名の中の空白文字は '\' でエス 87 | ケープする必要がある。PC端末で使われるデフォルトのフォントサイズは8である。 88 | フォント名に '*' を使用すると、フォント選択のためにPhotonの標準的なフォント選 89 | 択ダイアログが開く。 90 | 91 | フォント名に続いて、フォントのサイズとスタイルを制御するための補助設定を含める 92 | ことができる。各補助設定は ':' で区切る。フォントが全てが、全部のスタイルをサ 93 | ポートしているわけではない。 94 | 95 | 補助設定: 96 | s{size} フォントのサイズを{size}に設定する。 97 | b 太字 98 | a アンチエイリアス(縁が滑らかになる) 99 | i 斜体 100 | 101 | 例:: 102 | 103 | monospaceフォントをサイズ10のアンチエイリアスで > 104 | :set guifont=monospace:s10:a 105 | < 106 | Courierフォントをサイズ12の太字 + 斜体で > 107 | :set guifont=Courier:s12:b:i 108 | < 109 | ダイアログでフォントを選択する > 110 | :set guifont=* 111 | < 112 | 113 | 114 | 6. バグと今後の予定 115 | 116 | 既知の問題: 117 | - 外部プログラムを実行すると時々Vimがハングする。回避方法: 118 | 次の行を|vimrc|ファイルに追加する: > 119 | set noguipty 120 | 121 | Bugs: 122 | - メニューの強調にまだ少し問題がある 123 | - phiditto/phinows/その他などの、太字をサポートしていないフォントを使 124 | 用すると、Vimが太字テキストを描画しようとした時に失敗してしまう。 125 | {訳注: phidittoやphinowsはフォント名だと推測される} 126 | - カーソルが時々、見え難くなる。 127 | - 修正可能な相当数の一般的でない問題 128 | 129 | Todo: 130 | - 多言語対応を進める 131 | - メニューとツールバーで使用されるフォントを設定するオプション 132 | - 検索と置換のダイアログ 133 | - クライアントサーバー通信の機能 134 | - 切り取りメニュー(予定) 135 | 136 | - 外部コマンドの実行をfork()からspawn()に切換える。 137 | 138 | vim:tw=78:sw=4:ts=8:noet:ft=help:norl: 139 | -------------------------------------------------------------------------------- /doc/os_risc.jax: -------------------------------------------------------------------------------- 1 | *os_risc.txt* For Vim バージョン 9.1. Last change: 2011 May 10 2 | 3 | 4 | VIMリファレンスマニュアル by Thomas Leonard 5 | 6 | 7 | *riscos* *RISCOS* *RISC-OS* 8 | RISC OS サポートはパッチ 7.3.187 によって削除されました。 9 | RISC OS で Vim を使いたい場合はそのパッチ以前のファイルを取得してください。 10 | 11 | vim:tw=78:ts=8:noet:ft=help:norl: 12 | -------------------------------------------------------------------------------- /doc/os_unix.jax: -------------------------------------------------------------------------------- 1 | *os_unix.txt* For Vim バージョン 9.1. Last change: 2022 Nov 25 2 | 3 | 4 | VIMリファレンスマニュアル by Bram Moolenaar 5 | 6 | *unix* *Unix* 7 | このファイルは Unix のバージョンの Vim で特殊な事柄について書いてある。 8 | 9 | Vim を Unix でコンパイルするには src ディレクトリにある "INSTALL" と 10 | "Makefile" を参照。 11 | 12 | デフォルトのヘルプファイルの名前は "/usr/local/lib/vim/help.txt" である。 13 | "s:.vimrc" と "s:.exrc" の代わりに "$HOME/.vimrc" と "$HOME/.exrc" が使われる。 14 | さらに "/usr/local/etc/vimrc" が初めに使われる。"/usr/local/share" があれば 15 | "/usr/local/lib" の代わりにそちらが使われる。 16 | 17 | (フィルターを実行するときに使われる) 一時的なファイルは "/tmp" に置かれる。他 18 | の場所に置きたければ $TMPDIR 環境変数を自分の好みの場所に設定すること。 19 | 20 | ワイルドカード展開と '~' (ホームディレクトリ)と '$' (環境変数)を使うことがで 21 | る。 22 | 23 | *fork* *spoon* 24 | 可能であれば fork()/exec() が外部コマンドの実行に使われる、そうでない場合は 25 | もう少し遅い system() が使われる。fork()/exec() が使われる場合は |+fork| が、 26 | system() が使われる場合は |+system()| が ":version" コマンドの出力に含まれる。 27 | これはコンパイルするときに変更することができる。 28 | (GUI バージョンのフォークに関しては |gui-fork| を参照) 29 | 30 | Unix では歴史的経緯で端末の更新が遅いことが予想されるので (例: シリアルライン端 31 | 末、suntools でのシェルウィンドウ)、'showcmd' と 'ruler' オプションはオフをデ 32 | フォルトにしてある。速い端末を使っているのであれば、以下の設定を試して欲しい: > 33 | set showcmd ruler 34 | 35 | Vim を xterm 上で使っている場合 'mouse' オプションを "a" にセットすることで 36 | Vim でマウスクリックを使うことができるようになる。X-server へのアクセスがあれ 37 | ば GUI スタイルのコピー/ペーストが使用できる。そしてマウスをドラッグしている間 38 | ビジュアルなフィードバックが得られるようになる。まだ xterm でのマウスを使って 39 | のコピー/ペーストを行いたい場合は、マウスを使うときに Shift キーを押すこと。 40 | |mouse-using| を参照。十分に新しい xterm を使っていれば 'ttymouse' オプション 41 | を通してドラッグする間にビジュアルなフィードバックを得られる。 42 | 43 | *terminal-colors* 44 | Vim で色を使う場合は次のような例を使うことができる (端末が色をサポートしてはい 45 | るが "T_Co" が空かゼロの場合): > 46 | :set t_me=^[[0;1;36m " ノーマルモード(t_mr と t_md を消す) 47 | :set t_mr=^[[0;1;33;44m " 反転表示モードオン 48 | :set t_md=^[[1;33;41m " 太字表示モードオン 49 | :set t_se=^[[1;36;40m " 強調表示モードから抜ける 50 | :set t_so=^[[1;32;45m " 強調表示モード開始 51 | :set t_ue=^[[0;1;36m " 下線モードから抜ける 52 | :set t_us=^[[1;32m " 下線モード開始 53 | [ ^[ は で入力するには CTRL-V とタイプする] 54 | 55 | 本物の色端末では ":highlight" コマンドを使うこともできる。 56 | 57 | "tools/vim132" ファイルは Vim を vt100 もしくはそれによく似た端末上で 132 カラ 58 | ムモードで使うためのシェルスクリプトである。 59 | 60 | vim:tw=78:ts=8:noet:ft=help:norl: 61 | -------------------------------------------------------------------------------- /doc/pi_gzip.jax: -------------------------------------------------------------------------------- 1 | *pi_gzip.txt* For Vim バージョン 9.1. Last change: 2025 Mar 05 2 | 3 | 4 | VIMリファレンスマニュアル by Bram Moolenaar 5 | 6 | 7 | 圧縮されたファイルをVimで編集する *gzip* *bzip2* *compress* 8 | 9 | 1. 自動実行コマンド |gzip-autocmd| 10 | 11 | ここで説明されているのは |standard-plugin| {訳注: 標準プラグイン} である。 12 | このプラグインは 'compatible' がオフのときだけ使用できる。 13 | 変数 "loaded_gzip" を設定することでプラグインが読み込まれないようにできる: > 14 | :let loaded_gzip = 1 15 | < 16 | *g:gzip_exec* 17 | 18 | セキュリティ上の理由から、バッファを開くときに Vim が実行可能ファイルを自動的 19 | に実行しないようにすることもできる。このオプション (デフォルト: "1") を "0" に 20 | 設定すると、実行可能コマンドの実行を防止するために使用できる: > 21 | :let g:gzip_exec = 0 22 | < 23 | 24 | ============================================================================== 25 | 1. 自動実行コマンド *gzip-autocmd* 26 | 27 | このプラグインは自動実行コマンドをインストールして、以下の拡張子を持つファイル 28 | の読み書きを処理する: 29 | 30 | 拡張子 圧縮方法(コマンド) ~ 31 | *.bz2 bzip2 32 | *.bz3 bzip3 33 | *.gz gzip 34 | *.lz lzip 35 | *.lz4 lz4 36 | *.lzma lzma 37 | *.xz xz 38 | *.Z compress (Lempel-Ziv) 39 | *.zst zstd 40 | 41 | あなたが知るべきことはこれだけである。オプションはない。 42 | 43 | ファイルが伸長された後、再びファイル形式の判定処理が実行される。それにより 44 | "foo.c.gz" のようなファイルが "c" 形式のファイルとして判定される。 45 | 46 | 'patchmode' を設定している場合、設定された値は圧縮を示す拡張子の後に付けられ 47 | る。したがって、パッチモードで作成されたファイルを開くときは自動的には伸長され 48 | ない。そのファイルを伸長するにはファイル名を変更する必要があるだろう。 49 | 50 | ============================================================================== 51 | vim:tw=78:ts=8:noet:ft=help:norl: 52 | -------------------------------------------------------------------------------- /doc/pi_logipat.jax: -------------------------------------------------------------------------------- 1 | *pi_logipat.txt* 論理パターン May 01, 2019 2 | 3 | Author: Charles E. Campbell 4 | Copyright: (c) 2004-2016 by Charles E. Campbell *logiPat-copyright* 5 | The VIM LICENSE applies to LogiPat.vim and LogiPat.txt 6 | (see |copyright|) except use "LogiPat" instead of "Vim" 7 | No warranty, express or implied. Use At-Your-Own-Risk. 8 | 9 | ============================================================================== 10 | 1. 目次 *logiPat* *logiPat-contents* 11 | 12 | 1. 目次.....................: |logiPat-contents| 13 | 2. LogiPat マニュアル.......: |logiPat-manual| 14 | 3. LogiPat 使用例...........: |logiPat-examples| 15 | 4. 注意.....................: |logiPat-caveat| 16 | 5. LogiPat 変更履歴.........: |logiPat-history| 17 | 18 | ============================================================================== 19 | 2. LogiPat マニュアル *logiPat-manual* *logiPat-man* 20 | 21 | 22 | *logiPat-arg* *logiPat-input* *logiPat-pattern* *logiPat-operators* 23 | Boolean logic pattern (論理集合演算パターン) は以下によって構成される 24 | 25 | オペレータ ! = 否定 26 | | = 論理和 27 | & = 論理積 28 | グルーピング ( ... ) 29 | パターン "pattern" 30 | 31 | *logiPat-cmd* 32 | :LogiPat {boolean-logic pattern} *:LogiPat* 33 | :LogiPat は論理集合演算を引数に取るコマンドである 34 | (|logiPat-arg|)。 35 | 36 | :LP {boolean-logic pattern} *:LP* 37 | :LP は :LogiPat の省略形式コマンドである (|logiPat-cmd|)。 38 | 39 | :LPE {boolean-logic pattern} *:LPE* 40 | 検索は行わないが論理集合演算パターンから正規表現への変換を行い 41 | 画面に表示する。 42 | 43 | :LogiPatFlags {search flags} *LogiPat-flags* 44 | LogiPat は |search()| コマンドを使用する。search() に指定され 45 | るフラグを :LogiPatFlags に渡す。 46 | 47 | :LPF {search flags} *:LPF* 48 | :LPF は :LogiPatFlags の省略形式である。 49 | 50 | :let pat=LogiPat({boolean-logic pattern}) *LogiPat()* 51 | LogiPat() を直接呼び出す場合は検索は行わない。しかし論理集合演 52 | 算パターンから正規表現への変換が行われ返却される。 53 | 54 | パターン内部で " をマッチしたい場合はパターンにデリミタを用いるのでは 55 | なく 2 重にする。 56 | 57 | 58 | ============================================================================== 59 | 3. LogiPat 使用例 *logiPat-examples* 60 | 61 | LogiPat は論理集合演算を引数に取り抜き出す為の正規表現を提供する。 62 | 以下に例を列挙する: 63 | > 64 | :LogiPat "abc" 65 | < 文字列 :abc: を含む行を検索する 66 | > 67 | :LogiPat "ab""cd" 68 | < 文字列 :ab"cd: を含む行を検索する 69 | > 70 | :LogiPat !"abc" 71 | < 文字列 :abc: を含まない行を検索する 72 | > 73 | :LogiPat "abc"|"def" 74 | < 文字列 :abc: もしくは :def: のどちらかを含む行を検索する 75 | > 76 | :LogiPat !("abc"|"def") 77 | < 文字列 :abc: または :def: をどちらも含まない行を検索する 78 | > 79 | :LogiPat "abc"&"def" 80 | < 文字列 :abc: と :def: を両方含む行を検索する 81 | > 82 | :let pat= LogiPat('!"abc"') 83 | < 文字列 :abc: を含む全ての行にマッチする正規表現を返す。ダブル 84 | クォートを通常のパターンとして LogiPat へ渡すには論理集合オペ 85 | レータと区別する為にネストして渡す。 86 | 87 | 88 | ============================================================================== 89 | 4. 注意 *logiPat-caveat* 90 | 91 | "not" オペレータは脆いかもしれない。つまり、& (論理積) と | (論理和) 92 | のオペレータとの組み合わせでは、必ずしもうまく動作しない可能性がある。 93 | 期待通りにマッチさせる為には、できれば :set hls でパターンを良く試して 94 | ほしい。 95 | 96 | ============================================================================== 97 | 5. LogiPat 変更履歴 *logiPat-history* 98 | 99 | v4 Jun 22, 2015 * LogiPat has been picked up by Bram M for standard 100 | plugin distribution; hence the name change 101 | v3 Sep 25, 2006 * LP_Or() fixed; it now encapsulates its output 102 | in \%(...\) parentheses 103 | Dec 12, 2011 * |:LPE| added 104 | * "" is mapped to a single " and left inside patterns 105 | v2 May 31, 2005 * LPF and LogiPatFlags commands weren't working 106 | v1 May 23, 2005 * initial release 107 | 108 | 109 | ============================================================================== 110 | vim:tw=78:ts=8:noet:ft=help 111 | -------------------------------------------------------------------------------- /doc/pi_paren.jax: -------------------------------------------------------------------------------- 1 | *pi_paren.txt* For Vim バージョン 9.1. Last change: 2024 Nov 04 2 | 3 | 4 | VIMリファレンスマニュアル by Bram Moolenaar 5 | 6 | 7 | 対応するカッコの強調表示 *matchparen* 8 | 9 | このプラグインは標準プラグイン |standard-plugin| である。 10 | 'compatible' がオフのときだけ使用できる。 11 | 12 | "loaded_matchparen" 変数を設定することで、このプラグインの読み込みを回避でき 13 | る: > 14 | 15 | :let loaded_matchparen = 1 16 | 17 | このプラグインは自動コマンドイベントの CursorMoved、CursorMovedI、WinEnter を 18 | 使って強調表示を再設定する。 19 | 20 | *:NoMatchParen* *:DoMatchParen* 21 | このプラグインの機能を無効にするには次のコマンドを使う: > 22 | 23 | :NoMatchParen 24 | 25 | 機能を有効に戻すには次のコマンドを使う: > 26 | 27 | :DoMatchParen 28 | 29 | 強調表示には MatchParen が使われる。":highlight" コマンドを使って好きな色を設 30 | 定できる。例: > 31 | 32 | :hi MatchParen ctermbg=blue guibg=lightblue 33 | 34 | デフォルトでは、プラグインはカーソルの下の括弧とマッチする括弧の両方を、 35 | |hl-MatchParen| ハイライトグループを使用してハイライトする。これにより、カーソ 36 | ルのハイライトが MatchParen の色に置き換えられるため、カーソルが一時的に画面か 37 | ら消える場合がある。これを防ぎ、プラグインがマッチする括弧のみをハイライトし、 38 | (実質的にカーソルのスタイルを変更せずに) カーソルの下の括弧をハイライトしない 39 | ようにするには、"matchparen_disable_cursor_hl" 変数を設定する: > 40 | 41 | :let matchparen_disable_cursor_hl = 1 42 | 43 | オプション 'matchpairs' に設定されている文字が強調表示される。このオプションを 44 | 設定することで好きな文字を強調表示できる。Note 設定しても機能しない文字もある。 45 | 例えば、シングルクォートやダブルクォートのペアなどは、始点と終点が同じなので強 46 | 調表示できない。 47 | 48 | 対応するカッコを探すときには構文強調の属性が使われる。カーソル位置の文字が、文 49 | 字列やコメント以外のときは、文字列やコメントの中は無視される。名前に "string" 50 | や "comment" が含まれている構文強調アイテムはすべて、文字列やコメントとして扱 51 | われる。 52 | 53 | カーソルの移動が遅くならないように、対応するカッコの検索には次の制限がある: 54 | - ウィンドウに表示されている範囲だけ検索する。 55 | - 閉じた折り畳みがあると処理に時間がかかるので、カーソル位置から 100 行以内の 56 | 範囲だけ検索する。 57 | - 長い行が構文強調表示されていると処理に時間がかかるので、カーソル位置から 58 | 'synmaxcol' の二倍の範囲の文字だけ検索する。 59 | - 300 ミリ秒でタイムアウト (挿入モードでは 60 ミリ秒)。これは変数の 60 | "g:matchparen_timeout" と "g:matchparen_insert_timeout" を設定することで変更 61 | できる。バッファ毎に設定する場合は "b:matchparen_timeout" と 62 | "b:matchparen_insert_timeout" を設定する。 63 | 64 | |%| コマンドの動作を改善したい場合は matchit プラグインが使用できる。 65 | |matchit-install| 参照。このプラグインを使うとコメント内のカッコをスキップする 66 | こともできる。これは matchparen プラグインとの関連性はない。matchit プラグイン 67 | は matchparen とは別のメカニズムを使っている。 68 | 69 | ============================================================================== 70 | vim:tw=78:ts=8:noet:ft=help:norl: 71 | -------------------------------------------------------------------------------- /doc/pi_spec.jax: -------------------------------------------------------------------------------- 1 | *pi_spec.txt* For Vim バージョン 9.1. Last change: 2006 Apr 24 2 | 3 | by Gustavo Niemeyer ~ 4 | 5 | ここではRPMのspecファイル用のプラグインについて解説する。 6 | 7 | このプラグインを使用することでRPMのspecファイルの%changelogセクションを簡単に 8 | 更新することができる。まだセクションが存在していないならば、プラグインが作成し 9 | てくれる。既に本日分のエントリがあるのならば、プラグインは本日のエントリに新し 10 | い項目を追加する機会を与えてくれる。書式設定文字列(|spec_chglog_format|)を準備 11 | していないならば、プラグインはemailアドレスをユーザーに問い合わせ、そこから書 12 | 式文字列を構築する。 13 | 14 | 1. 使い方 |spec-how-to-use-it| 15 | 2. カスタマイズ |spec-customizing| 16 | 17 | ============================================================================== 18 | 1. 使い方 *spec-how-to-use-it* 19 | 20 | spec_chglogプラグインは以下のようなキーマップを提供する: > 21 | 22 | :map c SpecChangelog 23 | < 24 | これはspecファイルではマップローカルリーダー(デフォルトは'\')に続いて'c'を押す 25 | ことでプラグインが起動することを意味している。|spec_chglog_format|を設定してい 26 | ない場合には、プラグインはユーザーにemailアドレスを問い合わせこの編集セッション 27 | で使用する。 28 | 29 | プラグインを起動するたびに、changelogに本日分の項目が既に書かれているかを 30 | チェックする。そのようなエントリが存在すれば、新しいchangelog項目が追加され、 31 | 存在しない場合には新しいchangelogエントリが作成される。 32 | |spec_chglog_release_info|を有効化して実行した場合には、名前とバージョンとリ 33 | リースも一致するかが確認される。プラグインは充分に賢いので、パッケージリリース 34 | がアップデートされるべき時にはその旨を訊ねてくるから、ユーザーはわざわざそれを 35 | する必要はない。 36 | 37 | キーマップ定義 *spec-setting-a-map* 38 | -------------- 39 | 40 | 既に知っているように、あらゆるVimコマンド(その意味ではあらゆる事が可能)を実行 41 | するためのキーマップは簡単に定義できる。デフォルトのキーマップcが 42 | 気に入らないならば、独自のキーを設定するのも良いだろう。次はそれをファイル 43 | .vimrcで行う例で、プラグインをキーに割り当てている: 44 | > 45 | au FileType spec map SpecChangelog 46 | < 47 | NOTE: プラグインはユーザーのマッピング変更の要望を尊重するので、再設定は行わな 48 | い。 49 | 50 | このコマンドはspecファイルのバッファにのみ適用される。 51 | 52 | 53 | ============================================================================== 54 | 2. カスタマイズ *spec-customizing* 55 | 56 | 書式設定文字列 *spec_chglog_format* 57 | -------------- 58 | 59 | specファイルがどのように表示されるかは簡単にカスタマイズできる。これを行うには 60 | ファイル.vimrcで次のように変数 "spec_chglog_format" を設定する: > 61 | 62 | let spec_chglog_format = "%a %b %d %Y My Name " 63 | 64 | "%a %b %d %Y"はもっとも頻繁に使用される時刻の書式であることに注意。書式文字列 65 | を準備していなければ、SpecChangelogコマンドを最初に実行した時に、ユーザーに 66 | emailアドレスを問い合わせアドレスから自動的に|spec_chglog_format|を構築する。 67 | この方法でユーザーは一度emailアドレスを設定するだけで済む。 68 | 69 | どのような書式を使うことができるのかを知るには、strftime()関数のマニュアルペー 70 | ジを参照する。 71 | {訳注: |strftime()|も参照} 72 | 73 | 新規項目の挿入箇所 *spec_chglog_prepend* 74 | ------------------ 75 | 76 | プラグインは通常新しい%changelogエントリの項目(エントリそのものではないこと 77 | に注意)を、既に存在するものの後に挿入しようとする。変数spec_chglog_prependを設 78 | 定すれば: > 79 | 80 | let spec_chglog_prepend = 1 81 | 82 | 既に存在するものの前に新規項目を挿入するようになる。 83 | 84 | リリース情報の挿入 *spec_chglog_release_info* 85 | ------------------ 86 | 87 | 望むのならば、プラグインはchangelogエントリごとのリリース情報を自動的に挿入す 88 | ることができる。この機能を利用することの利点の1つは、最後の変更の後にリリース 89 | を更新すべきかそうでないかをコントロールできることである。パッケージのバージョ 90 | ンかリリースを更新していない時には、パッケージリリースを更新すべきならばその旨 91 | をユーザーに問い合わせてくれる。この機能を利用するには、.vimrcに次のコードを書 92 | き加える: > 93 | 94 | let spec_chglog_release_info = 1 95 | 96 | こうすれば、changelogエントリの最初の項目が次のようなものの場合に問い合わせが 97 | 発生する: > 98 | 99 | + name-1.0-1cl 100 | 101 | リリース更新機能が気に入らず、古いリリースを検出するたびに毎回"No"と答えるのに 102 | 嫌気が差したならば、次のようにして無効化できる: > 103 | 104 | let spec_chglog_never_increase_release = 1 105 | 106 | 107 | 幸運を!! 108 | 109 | vim:tw=78:ts=8:noet:ft=help:norl: 110 | -------------------------------------------------------------------------------- /doc/pi_tar.jax: -------------------------------------------------------------------------------- 1 | *pi_tar.txt* For Vim バージョン 9.1. Last change: 2025 Mar 16 2 | 3 | +====================+ 4 | | Tar File Interface | 5 | +====================+ 6 | 7 | Author: Charles E. Campbell 8 | (まずメールアドレスから NOSPAM を削除する) 9 | Copyright 2005-2017: *tar-copyright* 10 | The VIM LICENSE (see |copyright|) applies to the files in this 11 | package, including tarPlugin.vim, tar.vim, and pi_tar.txt. Like 12 | anything else that's except use "tar.vim" instead of "VIM". Like 13 | anything else that's free, tar.vim and its associated files are 14 | provided *as is* and comes with no warranty of any kind, either 15 | expressed or implied. No guarantees of merchantability. No 16 | guarantees of suitability for any purpose. By using this plugin, you 17 | agree that in no event will the copyright holder be liable for any 18 | damages resulting from the use of this software. Use at your own risk! 19 | 20 | ============================================================================== 21 | 1. 目次 *tar* *tar-contents* 22 | 1. 目次......................................................|tar-contents| 23 | 2. 使い方....................................................|tar-usage| 24 | 3. オプション................................................|tar-options| 25 | 4. 開発履歴..................................................|tar-history| 26 | 27 | ============================================================================== 28 | 2. 使い方 *tar-usage* *tar-manual* 29 | 30 | *.tar ファイルを編集する場合、このプラグインは内容ページの表示処理を行う。 31 | 編集するファイルを選択するには、カーソルを目的のファイルの上に移動して、 32 | キーを押す。編集後、ファイルに書き込むこともできる。現在、このプラ 33 | グインを使用して tar アーカイブに新しいファイルを作成することはできない。 34 | 35 | *:Vimuntar* 36 | VIMUNTAR~ 37 | 38 | :Vimuntar [vimhome] 39 | 40 | このコマンドは [vimhome] が指定されていない場合、必要に応じて 41 | |'runtimepath'| の最初の書き込み可能なディレクトリを使用し、tarball を 42 | .vim または vimfiles ディレクトリにコピーする。それ以外の場合は、 43 | [vimhome] 引数を使用して代わりにそのディレクトリを指定できる。 44 | 45 | コピーは *g:tar_copycmd* に指定されたコマンドを使用して行われる。以下 46 | の通り > 47 | cp for cygwin, unix, macunix 48 | copy for windows (32, 95, 64, 16) 49 | < 抽出は *g:tar_extractcmd* で指定されたコマンドで行われる。デフォルトは 50 | > 51 | "tar -xf" 52 | < 53 | *:TarDiff* 54 | 差分サポート~ 55 | 56 | :TarDiff [filename] 57 | 58 | このコマンドは tarball の中のファイルと、システム上の関連付けられたファ 59 | イルの差分を表示する。システム上のファイルを探すため、そのファイルに関 60 | 連する tarball 内のファイルのパスが使われる。カレントディレクトリがそ 61 | のパスと整合しなかった場合は、:TarDiff コマンドは関連付けられたファイ 62 | ルを見つけることができずに失敗する。 63 | 64 | [filename] が指定された場合は、関連付けられたファイルとしてそのファイ 65 | ル名 (とパス) が使われる。 66 | 67 | 68 | 読み込みの無効化~ 69 | 70 | 何らかの理由で vim を使用して tar ファイルを検査したくない場合は、次の 2 つ 71 | の変数を <.vimrc> に追加して、tar プラグインが読み込まれないようにすること 72 | ができる: 73 | > 74 | let g:loaded_tarPlugin= 1 75 | let g:loaded_tar = 1 76 | < 77 | *tar-mappings* 78 | マッピング~ 79 | 80 | tar バッファでは、以下の (バッファローカル) マッピングが使用できる: 81 | 82 | 選択したファイルを編集用に開くと、変更内容がアーカイブ 83 | に書き戻される。 84 | と同じ。 85 | x 選択したファイルを抽出する。 86 | 87 | ============================================================================== 88 | 3. オプション *tar-options* 89 | 90 | これらのオプション変数は、通常は <.vimrc> ファイル内で変更できる。 91 | デフォルト 92 | 変数 値 説明 93 | *g:tar_browseoptions* "Ptf" ファイル一覧を取得するときに使われる 94 | *g:tar_readoptions* "OPxf" tar ファイルから抽出するときに使われる 95 | *g:tar_cmd* "tar" tar プログラムの名前 96 | *g:tar_nomax* 0 true ならファイルウィンドウが最大化されない 97 | *g:tar_secure* undef 変数が存在する場合: 98 | "--" を使って、ファイル名がオプション 99 | 指定として解釈されるのを防ぐ。 100 | tar コマンドが "--" に対応している必要 101 | がある。Posix 互換の tar なら対応して 102 | いるはずである。 103 | 変数が存在しない場合: 104 | tar プラグインは "-" で始まる tar ファ 105 | イルまたは中のファイルを受け付けない。 106 | すべての tar が "--" をサポートしているわけ 107 | ではないので、これがデフォルトではない。 108 | *g:tar_writeoptions* "uf" ファイルを更新/置換するときに使われる 109 | 110 | 111 | ============================================================================== 112 | 4. 開発履歴 *tar-history* 113 | 114 | v31 Apr 02, 2017 * (klartext) reported that browsing encrypted 115 | files in a zip archive created unencrypted 116 | swap files. I am applying a similar fix 117 | used on zip.vim to tar.vim: new buffers 118 | are opened with |:noswapfile|. 119 | May 16, 2017 * When the mouse option isn't empty, the 120 | leftmouse can be used to select a file 121 | in the tar-file listing. 122 | v30 Apr 22, 2014 * .tgz files are ambiguous: they may have been 123 | compressed with either gzip or bzip2. Tar.vim 124 | disambiguates by using unix's "file" command. 125 | Feb 18, 2016 * Changed =~ to =~# where appropriate 126 | Feb 18, 2017 * Now also permits xz decompression 127 | v28 Jun 23, 2011 * a few more decompression options (tbz tb2 txz) 128 | v27 May 31, 2011 * moved cygwin detection before g:tar_copycmd 129 | handling 130 | * inserted additional |:keepj| modifiers 131 | * changed silent to sil! (|:silent|) 132 | v26 Aug 09, 2010 * uses buffer-local instead of window variables 133 | to hold tarfile name 134 | * inserted keepj before 0d to protect jump list 135 | v25 Jun 19, 2010 * (Jan Steffens) added support for xz 136 | compression 137 | v24 Apr 07, 2009 * :Untarvim command implemented 138 | Sep 28, 2009 * Added lzma support 139 | v22 Aug 08, 2008 * security fixes 140 | v16 Jun 06, 2008 * tarfile:: used instead of tarfile: when 141 | editing files inside tarballs. Fixes a 142 | problem with tarballs called things like 143 | c:\abc.tar. (tnx to Bill McCarthy) 144 | v14 May 09, 2008 * arno caught a security bug 145 | May 28, 2008 * various security improvements. Now requires 146 | patch 299 which provides the fnameescape() 147 | function 148 | May 30, 2008 * allows one to view *.gz and *.bz2 files that 149 | are in *.tar files. 150 | v12 Sep 07, 2007 * &shq now used if not the empty string for 151 | g:tar_shq 152 | v10 May 02, 2006 * now using "redraw then echo" to show messages, 153 | instead of "echo and prompt user" 154 | v9 May 02, 2006 * improved detection of masquerading as tar file 155 | v8 May 02, 2006 * allows editing of files that merely masquerade 156 | as tar files 157 | v7 Mar 22, 2006 * work on making tar plugin work across network 158 | Mar 27, 2006 * g:tar_cmd now available for users to change 159 | the name of the tar program to be used. By 160 | default, of course, it's "tar". 161 | v6 Dec 21, 2005 * writing to files not in directories caused 162 | problems - fixed (pointed out by 163 | Christian Robinson) 164 | v5 Nov 22, 2005 * report option workaround installed 165 | v3 Sep 16, 2005 * handles writing files in an archive back to 166 | the archive 167 | Oct 18, 2005 * used instead of in autocmds 168 | Oct 18, 2005 * handles writing to compressed archives 169 | Nov 03, 2005 * handles writing tarfiles across a network 170 | using netrw#NetWrite() 171 | v2 * converted to use Vim7's new autoload feature 172 | by Bram Moolenaar 173 | v1 (original) * Michael Toren 174 | (see http://michael.toren.net/code/ 175 | link seems dead) 176 | 177 | ============================================================================== 178 | vim:tw=78:ts=8:noet:ft=help 179 | -------------------------------------------------------------------------------- /doc/pi_tutor.jax: -------------------------------------------------------------------------------- 1 | *pi_tutor.txt* For Vim バージョン 9.1. Last change: 2025 May 19 2 | 3 | ☆Vim の対話的なチュートリアル *vim-tutor-mode* 4 | 5 | vim-tutor-mode は、vim およびサードパーティのプラグインの対話的なチュートリア 6 | ルを実行および作成するためのシステムを提供する。これは、古くからある 7 | `vimtutor` システムに代わるものである。 8 | 9 | 原作者: Felipe Morales 10 | 11 | ============================================================================= 12 | 1. 使用法 *vim-tutor-usage* 13 | 14 | vim-tutor-mode チュートリアルはハイパーテキストドキュメントで、リッチテキスト 15 | とリンクが含まれている。テキストの残りの部分と区別するために、リンクには下線が 16 | 引かれている。 17 | カーソルをリンクの上に置いて キーを押すか、リンクをダブルクリックする 18 | と、リンクをたどることができる。 19 | 20 | 1.1 コマンド 21 | ------------ 22 | *:Tutor* 23 | :Tutor [tutorial] チュートリアルを開く。[tutorial] のコマンドライン補完 24 | が提供されており、候補は 'runtimepath' の 25 | "tutor/" フォルダにある ".tutor" ファイルのリス 26 | トである。"vim-" で始まるチュートリアルは常に最初に表 27 | 示される。 28 | 29 | [tutorial] が指定されていない場合、コマンドは Vim の 30 | `vimtutor` チャプター 1 に相当する "vim-01-beginner" 31 | チュートリアルを開始する。 32 | 33 | 可能であれば、現在のメッセージ言語に翻訳されたチュート 34 | リアルを使用する (|v:lang|)。例えば、イタリア語のチュー 35 | トリアルの第 1 章を開くには、以下のようにする: > 36 | 37 | :lang it_IT.UTF-8 38 | :Tutor 39 | < 40 | ============================================================================= 41 | 2. チュートリアルの作成 *vim-tutor-create* 42 | 43 | vim-tutor-mode チュートリアルの作成は簡単である。使用される形式の概要について 44 | は、"tutor.tutor" ファイルを参照: > 45 | 46 | :Tutor tutor 47 | < 48 | 新しいチュートリアルは、:Tutor コマンドで検出されるように、'runtimepath' の 49 | 'tutor/' フォルダに配置する必要がある。 50 | 51 | チュートリアルを書くときは、通常のドキュメントよりもカジュアルなスタイルを使用 52 | することをお勧めする (コンテンツで必要な場合を除く)。 53 | 54 | ============================================================================= 55 | vim:tw=78:ts=8:noet:ft=help:norl: 56 | -------------------------------------------------------------------------------- /doc/pi_zip.jax: -------------------------------------------------------------------------------- 1 | *pi_zip.txt* For Vim バージョン 9.1. Last change: 2025 Apr 02 2 | 3 | +====================+ 4 | | Zip File Interface | 5 | +====================+ 6 | 7 | Author: Charles E. Campbell 8 | (まずメールアドレスから NOSPAM を削除する) 9 | Copyright: Copyright (C) 2005-2015 Charles E Campbell *zip-copyright* 10 | The VIM LICENSE (see |copyright|) applies to the files in this 11 | package, including zipPlugin.vim, zip.vim, and pi_zip.vim. except use 12 | "zip.vim" instead of "VIM". Like anything else that's free, zip.vim 13 | and its associated files are provided *as is* and comes with no 14 | warranty of any kind, either expressed or implied. No guarantees of 15 | merchantability. No guarantees of suitability for any purpose. By 16 | using this plugin, you agree that in no event will the copyright 17 | holder be liable for any damages resulting from the use of this 18 | software. Use at your own risk! 19 | 20 | ============================================================================== 21 | 1. 目次 *zip* *zip-contents* 22 | 1. 目次....................................................|zip-contents| 23 | 2. 使い方..................................................|zip-usage| 24 | 3. zip以外の拡張子.........................................|zip-extension| 25 | 4. 開発履歴................................................|zip-history| 26 | 27 | ============================================================================== 28 | 2. 使い方 *zip-usage* *zip-manual* 29 | 30 | *.zip ファイルを編集する場合、このプラグインは内容ページの表示処理を行う。 31 | 編集するファイルを選択するには、カーソルを目的のファイルの上に移動して、 32 | キーを押す。編集後、ファイルに書き込むこともできる。現在、このプラ 33 | グインを使用して zip アーカイブに新しいファイルを作成することはできない。 34 | 35 | コマンド~ 36 | *zip-x* 37 | x : カーソル上にある一覧のファイルを解凍する 38 | 39 | オプション~ 40 | 41 | *g:zip_nomax* 42 | 43 | この変数が存在し、かつ真である場合、ファイルウィンドウは開かれたときに自動 44 | 的に最大化されない。 45 | 46 | *g:zip_shq* 47 | オペレーティングシステムによっては、コマンドを実行するために 1 つ以上のシェ 48 | ルを使用する場合がある。Zip は、ファイル名にスペースなどを含めることができ 49 | るように、正しいクォートのメカニズムを推測しようとする。ただし、設定で使用 50 | するクォートを誤推測した場合は以下を使用する > 51 | g:zip_shq 52 | < デフォルトでは、Unix ではシングルクォート (')、Windows ではダブルクォート 53 | (")である。クォート自体をしたくない場合は <.vimrc> の中で g:zip_shq に空文 54 | 字を設定する (let g:zip_shq = "") だけである。 55 | 56 | *g:zip_unzipcmd* 57 | このオプションを使用して、"unzip" の役割を果たすプログラムを指定する。これ 58 | はブラウジングに使用される。デフォルトでは: > 59 | let g:zip_unzipcmd= "unzip" 60 | < 61 | *g:zip_zipcmd* 62 | このオプションを使用して、"zip" の役割を果たすプログラムを指定する。これは、 63 | すでに zip ファイル内にあるファイルの書き込み (更新) に使用される。デフォル 64 | トでは: > 65 | let g:zip_zipcmd= "zip" 66 | < 67 | *g:zip_extractcmd* 68 | このオプションは、zip アーカイブからファイルを抽出する為に使用するプログラ 69 | ム(および必要なオプション)を指定する。デフォルトでは, > 70 | let g:zip_extractcmd= g:zip_unzipcmd 71 | < 72 | *g:zip_exec* 73 | セキュリティ上の理由から、バッファを開いた時に Vim が実行可能ファイルを自動 74 | 的に実行しないようにすることができる。このオプション (デフォルト: "1") を 75 | "0" に設定すると、"unzip" コマンドの実行を防ぐことができる: > 76 | let g:zip_exec=0 77 | < 78 | 読み込みの無効化~ 79 | 80 | 何らかの理由で vim を使用して zip ファイルを検査したくない場合は、次の 2 つ 81 | の変数を <.vimrc> に追加して、zip プラグインが読み込まれないようにすること 82 | ができる: > 83 | 84 | let g:loaded_zipPlugin= 1 85 | let g:loaded_zip = 1 86 | < 87 | 88 | ============================================================================== 89 | 3. zip 以外の拡張子 *zip-extension* 90 | 91 | zip ファイルを zip 以外の拡張子 (.jar や .xpi など) で生成するアーカイバが 92 | あるようだ。そのようなファイルを扱いたい場合は、<.vimrc> ファイルに以下の 93 | 行を追加する: > 94 | 95 | au BufReadCmd *.jar,*.xpi call zip#Browse(expand("")) 96 | < 97 | この行に拡張子を追加していけば対応する拡張子を増やすことができる。 98 | 99 | 代わりに .vimrc で *g:zipPlugin_ext* を使って変更する方法もある。現時点 100 | (2025年4月現在) は以下が含まれる: > 101 | 102 | let g:zipPlugin_ext='*.aar,*.apk,*.celzip,*.crtx,*.docm,*.docx, 103 | \ *.dotm,*.dotx,*.ear,*.epub,*.gcsx,*.glox,*.gqsx,*.ja,*.jar,*.kmz, 104 | \ *.odb,*.odc,*.odf,*.odg,*.odi,*.odm,*.odp,*.ods,*.odt,*.otc,*.otf, 105 | \ *.otg,*.oth,*.oti,*.otp,*.ots,*.ott,*.oxt,*.potm,*.potx,*.ppam, 106 | \ *.ppsm,*.ppsx,*.pptm,*.pptx,*.sldx,*.thmx,*.vdw,*.war,*.whl,*.wsz, 107 | \ *.xap,*.xlam,*.xlsb,*.xlsm,*.xlsx,*.xltm,*.xltx,*.xpi,*.zip' 108 | 109 | ============================================================================== 110 | 4. 開発履歴 *zip-history* {{{1 111 | v33 Dec 07, 2021 * *.xlam mentioned twice in zipPlugin 112 | v32 Oct 22, 2021 * to avoid an issue with a vim 8.2 patch, zipfile: has 113 | been changed to zipfile:// . This often shows up 114 | as zipfile:/// with zipped files that are root-based. 115 | v29 Apr 02, 2017 * (Klartext) reported that an encrypted zip file could 116 | opened but the swapfile held unencrypted contents. 117 | The solution is to edit the contents of a zip file 118 | using the |:noswapfile| modifier. 119 | v28 Oct 08, 2014 * changed the sanity checks for executables to reflect 120 | the command actually to be attempted in zip#Read() 121 | and zip#Write() 122 | * added the extraction of a file capability 123 | Nov 30, 2015 * added *.epub to the |g:zipPlugin_ext| list 124 | Sep 13, 2016 * added *.apk to the |g:zipPlugin_ext| list and 125 | sorted the suffices. 126 | v27 Jul 02, 2013 * sanity check: zipfile must have "PK" as its first 127 | two bytes. 128 | * modified to allow zipfile: entries in quickfix lists 129 | 130 | v26 Nov 15, 2012 * (Jason Spiro) provided a lot of new extensions that 131 | are synonyms for .zip 132 | v25 Jun 27, 2011 * using keepj with unzip -Z 133 | (consistent with the -p variant) 134 | * (Ben Staniford) now uses 135 | has("win32unix") && executable("cygpath") 136 | before converting to cygwin-style paths 137 | v24 Jun 21, 2010 * (Cédric Bosdonnat) unzip seems to need its filenames 138 | fnameescape'd as well as shellquote'd 139 | * (Motoya Kurotsu) inserted keepj before 0d to protect 140 | jump list 141 | v17 May 09, 2008 * arno caught a security bug 142 | v15 Sep 07, 2007 * &shq now used if not the empty string for g:zip_shq 143 | v14 May 07, 2007 * using b:zipfile instead of w:zipfile to avoid problem 144 | when editing alternate file to bring up a zipfile 145 | v10 May 02, 2006 * now using "redraw then echo" to show messages, instead 146 | of "echo and prompt user" 147 | * g:zip_shq provided to allow for quoting control for the 148 | command being passed via :r! ... commands. 149 | v8 Apr 10, 2006 * Bram Moolenaar reported that he received an error message 150 | due to "Pattern not found: ^.*\%0c"; this was caused by 151 | stridx finding a Name... at the beginning of the line; 152 | zip.vim tried 4,$s/^.*\%0c//, but that doesn't work. 153 | Fixed. 154 | v7 Mar 22, 2006 * escaped some characters that can cause filename handling 155 | problems. 156 | v6 Dec 21, 2005 * writing to files not in directories caused problems - 157 | fixed (pointed out by Christian Robinson) 158 | v5 Nov 22, 2005 * report option workaround installed 159 | v3 Oct 18, 2005 * used instead of in autocmds 160 | v2 Sep 16, 2005 * silenced some commands (avoiding hit-enter prompt) 161 | * began testing under Windows; works thus far 162 | * filetype detection fixed 163 | Nov 03, 2005 * handles writing zipfiles across a network using 164 | netrw#NetWrite() 165 | v1 Sep 15, 2005 * Initial release, had browsing, reading, and writing 166 | 167 | ============================================================================== 168 | vim:tw=78:ts=8:ft=help:noet:norl:fdm=marker 169 | -------------------------------------------------------------------------------- /doc/quotes.jax: -------------------------------------------------------------------------------- 1 | *quotes.txt* For Vim バージョン 9.1. Last change: 2018 Mar 29 2 | 3 | 4 | VIMリファレンスマニュアル by Bram Moolenaar 5 | 6 | 7 | *quotes* 8 | ニュースやメールから集めた、Vimに関する素晴らしい引用を紹介する。 9 | 10 | 11 | vim (vim) 名詞 - 溢れんばかりのバイタリティとエネルギー。 [ラテン語, 『力』の 12 | 直接目的格, 力] (辞書) 13 | 14 | Vimはviより大変優れているので、私の古いviの多くの偉大な:mapがすぐに廃れてし 15 | まった! (Tony Nugent, オーストラリア) 16 | 17 | WindowsのGUI志向の強い影響で、Viを使う人々は実は人間の姿をしたエイリアンなん 18 | じゃないかと思っていた。でも一度試してみるとそのパワーに病みつきになって、今で 19 | はVim以外のソフトウェアでVimのようにキータイプするまでになってしまった。これ 20 | が、テキストを編集するあらゆるアプリケーションにVimを埋め込まれて欲しいと願う 21 | 理由。 (José Fonseca) 22 | 23 | 私は12年来のemacsユーザーだったが、相次ぐ互換性のないバージョンアップや、役立 24 | たずの追加パッケージ群、一貫性のない操作方法などに嫌気がさして1年前にVimに乗り 25 | 換えた。まさに生涯最高の選択の1つだった。 (Joel Burton) 26 | 27 | 資料の作成や修正に多くのプログラムを使用したが、編集のほとんどはGNU-Linux 28 | (RedHat 4.2)上のVimのバージョン4.5と5.0で行われた。 29 | (Arnold Robbins, イスラエル, "Learning the Vi editor"の著者) 30 | 31 | 私は幾つものオープンソフトを使い、さらに多くのソフトを見てきたが、その中でも 32 | Vimは大変使いやすく、とても完成度が高く、linux kernel に次ぐ最高の作品だ。 33 | (Peter Jay Salzman) 34 | 35 | SourceForgeの「全体が」VimとそのPHP用のイカシた構文強調を使って書かれている、 36 | ということは大して重要ではない。大事なのはSF.netの技術スタッフ全員がVimを使っ 37 | ているということであり、そして貴方がVimを使うことを大いに歓迎しているというこ 38 | とだ! (Tim Perdue) 39 | 40 | Vimは私の七つ道具の一つで、代用品がありません。なんてすばらしい作品なんだろう! 41 | (Biju Chacko) 42 | 43 | 私の元カノはemacsに走りました。もちろん、彼女とはうまくいきませんでした。 44 | (Geoffrey Mann) 45 | 46 | 魚が水のことを意識しないと思われるのと同様に、私はほとんどVimについて意識しな 47 | い。それは全ての中にある環境である。私は相当に忙しいシステム管理者で、多くの異 48 | なるプラットフォームを扱っている。Vimは私のシステム全てに共通して存在する唯一 49 | のもので、「時々クラッシュする」ということもない唯一のものだ。新しいシステムに 50 | Vimが入っていなかったときには、私は真っ先にインストールする。どの環境でもまっ 51 | たく信頼のおける同じツールを使うことができることは素晴らしく、おかげでVimにつ 52 | いては無視することができ、その他のものについては考えることができるのだ。 (Pete 53 | Schaeffer) 54 | 55 | 最近ノキアの端末を通してtelnet経由でVimを起動することに成功した、現在Palm 56 | Pilotでも素晴らしく動いたことを報告できる。 (Allan Kelly, スコットランド) 57 | 58 | Bram! 'VIM'というなんてものすごい仕事をしたものだ! 使えば使うほど感動するよ 59 | (私は古い'vi'のダイハードで1970年代後半の初期の'emacs'から使い始め、1983年に初 60 | 期のUNIXで'vi'を見つけることで救われた)。私の考えでは、標準のトップエディタと 61 | して'VIM'が'emacs'に置換わる時だよ。 (Bo Thide', スウェーデン) 62 | 63 | 私もVimを深く愛し使っている。 (Larry Wall {訳注: Perlの作者}) 64 | 65 | Viはまるでフェラーリだ。初心者にはまるで暴れ馬だが、いったんコツさえ掴んでしま 66 | えば、非常に小さくパワフルかつ高速だ! (不明) 67 | Vimはまるでフェラーリの新モデルだ。発音もそっくり - "VIIIIIIMMM!"。(Stephen 68 | Riehm, ドイツ) 69 | 70 | Schon bei Nutzung eines Bruchteils der Vim-Funktionen wird der Benutzer recht 71 | schnell die Vorzuege dieses Editors kennen- und schaetzenlernen. 72 | 翻訳: Vimの機能をほんの少し使うだけでも、ユーザーはすぐに使うことができこのエ 73 | ディタの強みを正しく評価するだろう。 (Garry Glendown, conclusion of an 74 | article on Vim in iX magazine 9/1998) 75 | 76 | つい最近Viについてのオライリーの本を手に入れた(Vimについても深く言及されてい 77 | た)。このアプリケーションがあまりにパワフルで驚愕した。 (Jeffrey Rankin) 78 | 79 | このガイドは Windows 9.x 上の gvim で書いている。これは神が裸の女性を創造して 80 | 以来の最高傑作なんじゃないだろうか。 (Michael DiBernardo) 81 | 82 | 坊主、私は私自身Vimについてほとんど全てのことを知っていると考えていた。しかし 83 | いつもオンラインドキュメントを眺めるたびに、それまで知らなかったVimの機能の小 84 | さな、しかしクールな面を見つけるんだ! これは私がみた中でも(多くの商業製品と比 85 | べてさえも)最高のドキュメントであると言わねばならない。 (Gautam Mudunuri) 86 | 87 | Vim 4.5は本当に素晴らしい(ファンタスティックな)エディタだ。Vimにはものす 88 | ごぉぉぉぉい多くの機能があり更に重要なことには、初期設定が素晴らしいので本当に 89 | 何の変更も無しに使うことができるのだ!! Vim作者への私の驚きと感謝の念はどんな 90 | 言葉をもっても語り尽くせない。この先もそうであって。 (Vikas, アメリカ合衆国) 91 | 92 | 人々が他のViエディタをVimのクローンと呼ぶようになるまでどのくらいかかるだろう 93 | か? (Darren Hiebert) 94 | 95 | "Perfect Programmer's Editor"のスレッドにある[makeのエラーに基づいて自動的に 96 | ファイルの位置へ飛ぶ]というのを読んで、Vimは既にそれをサポートしているので嬉し 97 | かった。 (Brendan Macmillan, オーストラリア) 98 | 99 | Vim (5.0)を発見して多くの知人とそれについて話をした。VimはViの新世紀 100 | (Millenium)を象徴するんだ、と彼らに言い聞かせた。本当にありがとう! (Matt F. 101 | Valentine) 102 | 103 | "vi"は今から"Vim Imitation(Vimのものまね)"と呼ばれるべきで、逆ではないと考える 104 | {訳注: VimはもともとVi IMitationに端を発している}。 (Rungun Ramanathan) 105 | 106 | Vimの法則 {訳注: 数学の公式風に}: 107 | プログラムPの考え得る限りの動作空間Bの中で各々の要素をbとした時、プログラムPの 108 | 全ユーザー空間Uのうち少なくとも1人のユーザーuが、ある動作bを許された動作空間B' 109 | に加えるように要求するまでにかかる時間は有限である。 (このときB'は B' <= Bとな 110 | る) 言い換えれば: 遅かれ早かれ全員がオプションとして全てを欲しがるんだよ 111 | (Negri) 112 | 113 | あたらしい計算機プラットフォームに移る時はいつも、決まってまず最初にやるのは 114 | Vimを移植すること。後にconfigureを使った時にコンパイルの簡単さにビックリした。 115 | (A.M. Sabuncu, トルコ) 116 | 117 | オプションが本当に優秀でとてもパワフルだ。 (Anish Maharaj) 118 | 119 | ユーザーインターフェイスのデザインは春であり、80x24テキスト専用モードのブティッ 120 | クからの「言葉は復讐に戻った!」。ViエディタのクローンであるVimは、5.0のシン 121 | タックスハイライトによって3月のデスクトップに眩暈のするパステルの景色をもたら 122 | した。金切り声とカスタマイズ性、Vimは伝統的なViのシングルキーマクロ集に独自の 123 | 解釈をすることで、我々を驚かせる。{訳注: 原文が難解でまったく自信無} 124 | http://www.ntk.net/index.cgi?back=archive98/now0327.txt&line=179#l 125 | 126 | Vim 5の衝撃をどうしても伝えたかったんだ! シンタックスハイライティング: これ無 127 | しでどうやって生きろって?! 人類最高のエディタを作ってくれてありがとう! 128 | (Mun Johl, アメリカ合衆国) 129 | 130 | 重ね重ねVimには感謝する。Linuxで毎日使っている。 (Eric Foster-Johnson, "UNIX 131 | Programming Tools"の著者) 132 | 133 | 史上最高のエディタ (Stuart Woolford) 134 | 135 | Vimの素晴らしい機能のほとんどを少なくとも1度は、ものによってはもう何度も頻繁に 136 | 使ってきた。正直に白状しよう、どれ1つ欠けても生きていけない。viを使っていた頃 137 | の自分と生産性を比べると、優に倍にはなっている。 (Sitaram Chamarty) 138 | 139 | Vimを愛している。信じられないよ(incredible)。最初の子供にVimberlyと名づけた。 140 | (Jose Unpingco, アメリカ合衆国) 141 | 142 | ヒント: "Vim"は"vi improved(vi改)"っていうほうが良い! (Sven Guckes, ドイツ) 143 | 144 | 毎日Vimを使っている。他のどんなプログラムよりもVimと共に過ごす時間が長い…。存 145 | 在するviクローンの中で最高だ。とてもすごいよ。 (Craig Sanders, オーストラリア) 146 | 147 | その無限アンドゥ/リドゥで私を幾度となく悲しみから救ってくれた---Vimを使用す 148 | るように強く薦める。 (Terry Brown) 149 | 150 | 私の考えうるなかで、この惑星で最良のテキストエディタを書いて(作成して)くれたこ 151 | とにたいへん感謝する。次に猫を飼うときは"Vim"と命名したい。 (Bob Sheehan, アメ 152 | リカ合衆国) 153 | 154 | :set allとタイプすればオプションで画面が埋め尽くされる。画面全体のものが設定か 155 | 非設定かされている。wrapmarginやmodelinesやshowmodeといった古い友人たちも見つ 156 | けたが、新しい友人たちで画面は埋め尽くされていた。私は彼らを愛している!!私は 157 | Vimを愛している!! このエディタに出会えてとても幸せだ! この感じはかつてedを数年 158 | 使った後にviに出会った時感じたものに似ている。今まで私が愛したedや、ましてviを 159 | 捨て去る日が来るとは考えもしなかった…あぁ神様、viは偉大だった。でも今は、 160 | Vim。 (Peter Jay Salzman, アメリカ合衆国) 161 | 162 | こんな素晴らしいソフトウェアパッケージがあるなんて、私は本当に幸せだ。どんな高 163 | 価なソフトよりも良質で、しかも在庫切れということがない。 (Jeff Walker) 164 | 165 | Vimのドキュメントを読むといつも、エディタのパワーに興奮し打ちのめされる。 166 | (William Edward Webber, オーストラリア) 167 | 168 | Vim万歳!! それはviのように"すぐ手の届くところにあり"、viがひどく必要とした拡張 169 | がなされている: コマンドを実行すべきブロックの強調表示、簡単に操作でき消化でき 170 | るヘルプ画面、その他沢山。 (Paul Pax) 171 | 172 | 私がこの素晴らしく便利なマクロをもう使わない理由は、今はそれらが組み込まれて 173 | いるVimを使っているからだ。 (Stephen Riehm, ドイツ) 174 | 175 | 私はVimのユーザーで、それを愛している。自分の全てのプログラミング、C、C++、 176 | HTML、そのほか全てにおいてVimを使用している。 (Tim Allwine) 177 | 178 | 私はオリジナルのviと苦闘すること数年の後にVimを発見し、もうそれなしでは生きて 179 | いけなくなった。 (Emmanuel Mogenet, アメリカ合衆国) 180 | 181 | EmacsにはVimが活躍するほどに長く生き残るチャンスはこれっぽっちもない。加えて、 182 | これほどまでに詳細に渡って記されたドキュメントを持つソフトウェアを見たことがな 183 | い---しかもそれは多くの商用ソフトウェアよりも素晴らしい! (Leiming Qian) 184 | 185 | このVimのバージョンは、それがどんなに素晴らしいものが発見するたびに人々を驚愕 186 | させるだろう! (Tony Nugent, オーストラリア) 187 | 188 | 貴方のアドバイスに従い、ついにVimを入手し、本当に感動した。すぐに転向した。 189 | (Patrick Killelea, アメリカ合衆国) 190 | 191 | Vimはとりわけ好きなシェアウェアで、特にバージョン3.0がお気に入りだ。これは本当 192 | にしっかりした仕事だ。 (Robert Colon, アメリカ合衆国) 193 | 194 | Vimを使うは楽しいし、良く考えられていとても役に立つから、何故ほかの人たちがビ 195 | ジュアル開発ツールを使おうとするのか理解に苦しむ。Vimはパワフルで優雅で、一見 196 | 単純だが実は747 {訳注: ボーイングのジェット機} のように複雑で(とりわけ成長した 197 | 私の.vimrc)、この素晴らしい仕事を続けて欲しいし、Vimはフリーソフトウェア界の中 198 | 心だ。 (Louis-David Mitterand, アメリカ合衆国) 199 | 200 | Vimを使うことがこんなに素晴らしいなんて未だに信じられない。職場の仲間は私がそ 201 | れを誉めちぎるのを聞かされ過ぎて疲れているだろう。他の人の目が輝きだす。(Rick 202 | Croote) 203 | 204 | Emacsは起動と実行にかなり時間がかかり、実際に使用するには大きくかさばってい 205 | て、インターフェイスは助けになるよりもむしろ混乱させる。しかしながらVimは小さ 206 | く、早く、パワフルで、素晴らしいインターフェイスを持っていて、あらゆる用途に使 207 | うことができる。 (Paal Ditlefsen) 208 | 209 | Vim3.0を初めて得た時から、非常に熱狂した。ほとんど何の問題点もみあたらなかっ 210 | た。スワップファイルの扱いとバックアップの可能性が非常に堅固で、ひとつのファイ 211 | ルを2重に編集することから守ってもくれる。VIとの互換性も非常に高い(この数年私の 212 | 脳はすっかりVIに洗脳されているので、これは絶対条件である)。 (Gert van 213 | Antwerpen, オランダ) 214 | 215 | Vimのビジュアルモードは、凄くパワフルな機能だ! (Tony Nugent, オーストラリア) 216 | 217 | Vimは今までネットに存在しなかった {訳注: 定冠詞THEが付く} 唯一のもっとも偉大な 218 | ソースコード作品と言わざるを得ないだろう。 (Jim Battle, アメリカ合衆国) 219 | 220 | 実際、新しいviが必要ならばVim-3.0をお奨めする。これは今まで見たなかで断然最高 221 | のバージョンのviだ。 (Albert W. Schueller) 222 | 223 | Vimは良いエディタで他の如何なるものにも匹敵するものだ、というべきだろう。 224 | (Ilya Beloozerov) 225 | 226 | 実を言えば時々elvis、vile、xvi、calvinやその他の使っていた。だからこそVimが最 227 | 高だと断言できる!! (Ferenc Deak, ハンガリー) 228 | 229 | Vimは私が長年使用してきた断然最高のエディタである。そして私が使用した全てのプ 230 | ラットフォームに存在するいろんなものをみてきた。それらのなかでもVimは最高。 231 | だ。 (Guy L. Oliver) 232 | 233 | Vimは石ノミ以来、最高のエディタです。 (Jose Unpingco, アメリカ合衆国) 234 | 235 | こう言いたい、Vimに出会って私はついにemacsからviに鞍替えした - あらゆる点で優 236 | れたエディタだ: キーボードレイアウト、メモリ使用量、text alteration to name 3 237 | {訳注: 訳不明}。 (Mark Adam) 238 | 239 | 実際、今vi独特の設定について知りたいのならば、Vimを起動してそのヘルプをチェッ 240 | クする! (Nikhil Patel, アメリカ合衆国) 241 | 242 | viユーザーとして、Vimはテキストに関わる仕事を以前に遭遇していたよりも、はるか 243 | に愉快なものにしてくれた。 (Steinar Knutsen, ノルウェー) 244 | 245 | Vimをバージョン3.0から使っている。そのころから、Solaris、Linux、そしてOS/2 246 | Warpで使用した唯一のエディタだった。友達全員にVimを使うように薦め、彼らはトラ 247 | イし、今も使い続けている。Vimはインターネットからダウンロードした中で本当に最 248 | 高のソフトウェアであり、知りうる限りで最高のエディタである。(Marco Eccettuato, 249 | イタリア) 250 | 251 | 252 | 以上、要約すれば: (Vimが熱いぜ!) 253 | __ ___ _ _ _ ___ _____ ` 254 | \ \ / (_)_ __ ___ (_)___ | | | |/ _ \_ _| ` 255 | \ \ / /| | '_ ` _ \ | / __| | |_| | | | || | ` 256 | \ V / | | | | | | | | \__ \ | _ | |_| || | ` 257 | \_/ |_|_| |_| |_| |_|___/ |_| |_|\___/ |_| ` 258 | ____ _____ _ _ _____ _____ _ _ ` 259 | / ___|_ _| | | | ___| ___| | | ` 260 | \___ \ | | | | | | |_ | |_ | | | ` 261 | ___) || | | |_| | _| | _| |_|_| ` 262 | |____/ |_| \___/|_| |_| (_|_) (Tony Nugent, Australia) ` 263 | 264 | 265 | vim:tw=78:ts=8:noet:ft=help:norl: 266 | -------------------------------------------------------------------------------- /doc/recover.jax: -------------------------------------------------------------------------------- 1 | *recover.txt* For Vim バージョン 9.1. Last change: 2023 Apr 22 2 | 3 | 4 | VIMリファレンスマニュアル by Bram Moolenaar 5 | 6 | 7 | クラッシュ後のリカバリー *crash-recovery* 8 | 9 | あなたが明日の朝までに終わらせなければならない文書のタイピングに数時間を費や 10 | していたとき、悲劇があなたを襲う。コンピュータがクラッシュした。 11 | 12 | 慌てないで! 13 | 14 | あなたはVimがファイルの内容を蓄えていたファイルから、ほとんどの変更を回復でき 15 | る。たいていの場合、あなたの仕事は1コマンドで回復できる。 16 | vim -r filename 17 | 18 | 1. スワップファイル |swap-file| 19 | 2. リカバリー |recovery| 20 | 21 | ============================================================================== 22 | 1. スワップファイル *swap-file* 23 | 24 | Vimは変更した箇所をスワップファイルに蓄える。編集を開始したオリジナルのファイ 25 | ルとスワップファイルから、あなたのした作業は回復することができる。 26 | 27 | 現在使用しているスワップファイルの名前は、次のコマンドで確認できる: 28 | 29 | :sw[apname] *:sw* *:swapname* 30 | 31 | または、|swapname()| を使うことができる。他のバッファのスワップファイル名も確 32 | 認できる。 33 | 34 | スワップファイルの名前は、普通は編集中のファイルと同じで、拡張子が ".swp" のも 35 | のになる。 36 | - UNIXでは、スワップファイルは編集中のファイルと同じディレクトリ内に作られ、 37 | '.' が名前の前につけられる。これはディレクトリ表示からスワップファイルを隠す 38 | ためである。 39 | - MS-Windows マシンで、'shortname' オプションがオンのときは、オリジナルファイ 40 | ル名の '.' は '_' に置き換えられる。 41 | - このファイルがすでに存在すると(例えば、クラッシュから復帰した場合)、注意が表 42 | 示され、違った拡張子、".swo"、".swn"、などが用いられる。 43 | - 存在しているファイルは決して上書きされない。 44 | - スワップファイルはVimが編集を終えるとすぐに削除される。 45 | 46 | 技術情報: '.' から '_' への置換はMS-DOS互換のファイルシステム(例、crossdos、 47 | multidos)での問題を避けるためである。もしVimがMS-DOSライクなファイ 48 | ルシステムを探知すると、'shortname' オプションと同じ効果を持つフラ 49 | グが設定される。このフラグは違うファイルの編集を始めたときにリセッ 50 | トされる。 51 | *E326* 52 | もし ".swp" ファイルがすでに存在すると、同名のファイルが存在しなく 53 | なるか、".saa" となるまで最後の文字をひとつ前の文字に戻す。".saa" 54 | まで存在するときは、スワップファイルは作られない。 55 | 56 | 'directory' オプションを設定することによって、スワップファイルを、編集している 57 | ファイルとは別の場所に置くこともできる。 58 | 利点: 59 | - ディレクトリが ".swp" ファイルで汚染されることがない。 60 | - 'directory' が別パーティションにある場合、ファイルのあるファイルシステムが 61 | (クラッシュで)損傷を受けるリスクが減る。 62 | 欠点: 63 | - 別ディレクトリの同一名のファイルで名前の衝突を生じうる(Vimはパス名の比較でそ 64 | れを避けようとするが)。 65 | これによって偽の注意メッセージが表示される。 66 | - あなたがホームディレクトリで作業をしていて、他の誰かが同じファイルを編集しよ 67 | うとしたとき、そのユーザーはあなたのスワップファイルに気づかないし、注意の 68 | メッセージも表示されない。 69 | Amigaでは、回復可能なramディスクを使えるが、それが100%働くという保証はない。 70 | スワップファイルを通常のramディスク(AmigaではRAM:など)に置いたり、リブートに 71 | よって消されてしまう場所(Unixの/tmpなど)に置くことは無意味であり、クラッシュに 72 | よってスワップファイルは失われてしまう。 73 | 74 | スワップファイルを固定ディスクに置きたいときは、あなたの.vimrcファイルに次に示 75 | す様なコマンドを入れる: 76 | :set dir=dh2:tmp (Amigaの場合) 77 | :set dir=~/tmp (Unixの場合) 78 | :set dir=c:\\tmp (Win32の場合) 79 | これはフロッピー上のファイルを編集するときにもとても便利である。もちろん、この 80 | 様な設定で作業をするならば、"tmp" ディレクトリを作らねばならない。 81 | 82 | 読取専用属性のファイルに対しては、スワップファイルは使用されない。ファイルが大 83 | きくなければ、'maxmem' や 'maxmemtot' で与えられた量より多くのメモリを使用する 84 | ことはない。読取専用属性のファイルについて何らかの変更が加えられたとき、スワッ 85 | プファイルは無条件に作成される。 86 | 87 | スワップファイルの作成を避けるために 'swapfile' オプションをリセットできる。そ 88 | して新しいバッファでスワップファイルを作成しないようにするのに |:noswapfile| 89 | 修飾子を使うことができる。 90 | 91 | :nos[wapfile] {command} *:nos* *:noswapfile* 92 | {command} を実行する。それが新しいバッファを読み込むコマンドを 93 | 含んでいる場合は、スワップファイルは作成されずに読み込まれ、 94 | 'swapfile' オプションはリセットされる。バッファが既にスワップ 95 | ファイルを持っていた場合は、スワップファイルは削除されず、 96 | 'swapfile' はリセットされない。 97 | 98 | 99 | 既存のスワップファイルを削除する ~ 100 | 101 | ユーザーマニュアルの|11.3|を参照すること。 102 | 103 | 104 | スワップファイルの更新 ~ 105 | 106 | スワップファイルは200文字を打ち込むか、4秒間何もしなかったときに更新される。こ 107 | れはバッファが変更されたときのみ行われ、動き回っているだけでは行われない。なぜ 108 | 常に更新が行われないかといえば、それは通常の作業が大幅に遅くなるからである。 109 | 200文字の設定は 'updatecount' で、時間の設定は 'updatetime' で変更できる。時間 110 | はミリ秒単位で与えられる。スワップファイルに書き込んだ後で、Vimはファイルとディ 111 | スクの同期を取る。これにはしばらく時間が掛かる(ビジーなUnixシステムにおいては 112 | 特に時間がかかる)。もしこれを行って欲しくなければ、'swapsync' オプションに空文 113 | 字列を設定すればよい。作業の成果を失う危険性は増すが。いくつかの非Unixシステム 114 | (MS-Windows、Amigaなど)においては、スワップファイルはまったく書き込まれなくな 115 | るだろう。 116 | 117 | スワップファイルへの書き込みを望まないなら、'updatecount' を0に設定することで 118 | 行われなくなる。Vimを "-n" オプションで起動することで、同じ結果が得られる。書 119 | き込みは 'updatecount' を非0にすることでまた行われるようになる。これを行ったと 120 | きはスワップファイルが全てのバッファに対して作られる。しかし、'updatecount' を 121 | 0に設定したときは、存在しているスワップファイルは消されることはなく、次に開か 122 | れたファイルから有効になる。 123 | 124 | 行った編集がスワップファイルに書きこまれたかを確認するには、次のコマンドを使用 125 | する: 126 | 127 | *:pre* *:preserve* *E313* *E314* 128 | :pre[serve] 現在のバッファの全てのテキストをそのスワップファイルに 129 | 書き込む。回復のためにオリジナルが必要とされることは 130 | なくなる。このコマンドはカレントバッファにあるフラグを 131 | 設定する。また、'cpoptions' にフラグ '&' が入っている 132 | ならば、Vim が終了するとき、このバッファのスワップファ 133 | イルは削除されず、バッファは読み込まれた状態のままにな 134 | る。|cpo-&| 135 | 136 | Vimのスワップファイルは最初の6文字で認識される: "b0VIM "。 137 | この後に "3.0" などのバージョン番号が続く。 138 | 139 | 140 | リンクとシンボリックリンク~ 141 | 142 | Unix では同一のファイルに2つの名前をつけることができる。それはハードリンクまた 143 | はシンボリックリンク(symlink)を使って行う。 144 | 145 | ハードリンクの場合、Vim はそのファイルにつけられた他の名前を知ることができな 146 | い。そのため、スワップファイルの名前は、そのファイルを開くときに使った名前に基 147 | づいてつけられる。 148 | そのファイルが別の名前でも開かれているかどうかのチェックは行わない。他のスワッ 149 | プファイルを検出することはできないからである(ハードディスク全てを検索するとい 150 | う方法は除く。それはとても遅くなるから)。 151 | 152 | シンボリックリンクの場合、Vim はそのリンクが指す実際のファイルを見つけられる。 153 | スワップファイルの名前は実際の名前に基づいてつけられる。よって、ユーザーがどん 154 | な名前でそのファイルを開いたかは関係なく、スワップファイル名は同一になる。しか 155 | し次のような例外がある: 156 | - 実際のファイルのディレクトリが書き込み不可ならば、スワップファイルは別の場所 157 | に置かれる。 158 | - シンボリックリンクがなんらかの形でループになっているとき、エラーメッセージ 159 | *E773* が表示され、変更されていないファイル名が使われる。普通にファイルを保 160 | 存することはできない。 161 | 162 | ============================================================================== 163 | 2. リカバリー *recovery* *E308* *E311* 164 | 165 | 基本的なファイルの回復方法はユーザーマニュアルの|usr_11.txt|を参照すること。 166 | 167 | ファイルを回復するためのもうひとつの方法は、Vimを起動して ":recover" コマンド 168 | を使うことである。 169 | これはVimを起動したときに "ATTENTION: Found a swap file ..." というメッセージ 170 | を受け取ったときには便利である。その場合には ":recover" というコマンドひとつで 171 | 全てが済む。 172 | recoverコマンドにはファイル名かスワップファイル名を渡すことができる: 173 | 174 | *:rec* *:recover* *E305* *E306* *E307* 175 | :rec[over] [file] スワップファイルから[file]を回復するよう試みる。もし 176 | [file]が与えられていない場合は、現在のバッファの名前が 177 | 用いられる。現在のバッファの内容は失われる。このコマン 178 | ドはバッファが修正を加えられている場合に失敗する。 179 | 180 | :rec[over]! [file] ":recover" と同じだが、現在のバッファに対するどんな変 181 | 更も失われる。 182 | 183 | *E312* *E309* *E310* *E1364* 184 | Vimはスワップファイルが何らかの理由で壊れているときに、いくつかの対処を提供す 185 | る。Vimが見つかったものに疑問を持った場合、エラーメッセージが与えられ、"???" 186 | というテキストが一緒に行に挿入される。回復中にエラーメッセージを受け取ったら、 187 | "???" を検索することによってどこに問題があったかを知ることができる。必要なテキ 188 | ストを得るためには、カットやペーストを必要とするかもしれない。 189 | 190 | ほとんどは "???LINES MISSING" のようなものである。これはVimがそのテキストをオ 191 | リジナルのファイルから読み込めないことを示す。これはシステムがクラッシュした時 192 | にファイルが正しくディスクに書き込まれなかったときに起こる。 193 | 194 | オリジナルを上書きしたり、スワップファイルを削除する前に、回復が成功したことを 195 | 確認すること。回復されたファイルをどこか別の場所に保存して、'diff' によって変 196 | 更を加えた箇所が、ちゃんと回復されたファイルに入っているか調べてみるとよい。ま 197 | たは |:DiffOrig| を使う。 198 | 199 | 回復が成功したと確信したら、スワップファイルを削除する。そうしないと、".swp" 200 | が存在するというメッセージが表示されつづけることになる。 201 | 202 | 203 | 204 | ☆暗号化とスワップファイル *:recover-crypt* 205 | 206 | テキストファイルが暗号化されているときはスワップファイルも暗号化される。これは 207 | リカバリーを多少複雑にする。スワップファイルからリカバリーするときにそれが暗号 208 | 化されていた場合、一つか二つの秘密鍵を入力する必要があるだろう。 209 | 210 | テキストファイルが存在しない場合は入力する必要のある秘密鍵はスワップファイル用 211 | の一つだけである。 212 | 213 | テキストファイルが存在する場合、そのファイルはスワップファイルとは別の方法で復 214 | 号する必要があるかもしれない。秘密鍵を二つ入力する必要がある: 215 | 216 | Need encryption key for "/tmp/tt" ~ 217 | Enter encryption key: ****** ~ 218 | "/tmp/tt" [crypted] 23200L, 522129C ~ 219 | Using swap file "/tmp/.tt.swp" ~ 220 | Original file "/tmp/tt" ~ 221 | Swap file is encrypted: "/tmp/.tt.swp" ~ 222 | If you entered a new crypt key but did not write the text file, ~ 223 | enter the new crypt key. ~ 224 | If you wrote the text file after changing the crypt key press enter ~ 225 | to use the same key for text file and swap file ~ 226 | Enter encryption key: ~ 227 | 228 | 二つの状況が考えられる: 229 | 230 | 1. 暗号化キーが変更されなかったか、キーが変更された後でファイルが保存された場 231 | 合。秘密鍵を二回入力する必要がある。二回目に入力するときは単にエンターを押 232 | すこと。そうするとテキストファイルとスワップファイルの両方に同じキーが使用 233 | される。 234 | 2. 新しい暗号化キーを入力したが、ファイルは保存されなかった場合。スワップファ 235 | イルには新しいキーが使用されているが、テキストファイルは古いキーで暗号化さ 236 | れたままになっている。二回目にキーを入力するときに新しい方のキーを入力する 237 | こと。 238 | 239 | Note: リカバリー実行後にはスワップファイルのキーがテキストファイルに使用され 240 | る。したがって、ファイルを書き込んだ後は新しいキーを使用する必要がある。 241 | 242 | 243 | vim:tw=78:ts=8:noet:ft=help:norl: 244 | -------------------------------------------------------------------------------- /doc/remote.jax: -------------------------------------------------------------------------------- 1 | *remote.txt* For Vim バージョン 9.1. Last change: 2022 Feb 17 2 | 3 | 4 | VIMリファレンスマニュアル by Bram Moolenaar 5 | 6 | 7 | Vimクライアントサーバー通信 *client-server* 8 | 9 | 1. 共通機能 |clientserver| 10 | 2. X11特有の項目 |x11-clientserver| 11 | 3. Win32特有の項目 |w32-clientserver| 12 | 13 | ============================================================================== 14 | 1. 共通機能 *clientserver* 15 | 16 | オプション|+clientserver|でコンパイルした時には、Vimはコマンドサーバーとして動 17 | 作することができる。それによりクライアントからメッセージを受け取りそれを実行す 18 | ることができる。同時に、Vimはクライアントの機能も持ち合わせVimサーバーへメッ 19 | セージを送ることもできる。 20 | 21 | 以下のコマンドライン引数が利用できる: 22 | 23 | 引数 意味 ~ 24 | 25 | --remote [+{cmd}] {file} ... *--remote* 26 | ファイルをリモートのVimで開く。Vimサーバーが無 27 | い時には、ローカルで実行される。オプションで 28 | +{cmd}に一つだけExコマンドを指定できる。コマン 29 | ドは "|" でつなげて複数指定できる。コマンドラ 30 | インの残りの部分はファイルのリストとして扱われ 31 | る。だからファイルではない引数はこれよりも前に 32 | 書かなければならない。 33 | この方法で標準入力を開くことはできない|--|。 34 | 次のようにしなければリモートのVimが問題を起こ 35 | すかもしれない。 > 36 | vim --remote-send ":n filename" 37 | < 38 | --remote-silent [+{cmd}] {file} ... *--remote-silent* 39 | 上と同様、しかしサーバーが存在しなくてもエラー 40 | を報告しない。指定したファイルがすでにローカル 41 | で編集中であっても同様。 42 | --remote-wait [+{cmd}] {file} ... *--remote-wait* 43 | --remoteと 同様、しかしリモートVimでファイルが 44 | 完了(解放)されるまで待つ。 45 | --remote-wait-silent [+{cmd}] {file} ... *--remote-wait-silent* 46 | --remote-wait と同様、しかしサーバーが存在しな 47 | くてもエラーを報告しない。 48 | *--remote-tab* 49 | --remote-tab --remote と同様、しかし各ファイルを新しいタブ 50 | ページで開く。 51 | *--remote-tab-silent* 52 | --remote-tab-silent --remote-silent と同様、しかし各ファイルを新し 53 | いタブページで開く。 54 | *--remote-tab-wait* 55 | --remote-tab-wait --remote-wait と同様、しかし各ファイルを新しい 56 | タブページで開く。 57 | 58 | *--remote-tab-wait-silent* 59 | --remote-tab-wait-silent --remote-wait-silent と同様、しかし各ファイル 60 | を新しいタブページで開く。 61 | *--servername* 62 | --servername {name} サーバー名{name}になる。--remote コマンドのど 63 | れか1つと併用すると、デフォルトのサーバーでは 64 | なく{name}で指定されるサーバーに接続する(下を 65 | 参照)。使用される名前は大文字になる。 66 | *--remote-send* 67 | --remote-send {keys} サーバーに{keys}を送信して終了する。{keys} に 68 | マップは適用されない。特殊キー名が使用できる。 69 | 例: "" は CR 文字になる。 70 | *--remote-expr* 71 | --remote-expr {expr} サーバーに{expr}を実行評価させ、その結果を標準 72 | 出力に印刷する。 73 | *--serverlist* 74 | --serverlist サーバー名のリストを表示する。 75 | 76 | 77 | 使用例 ~ 78 | 79 | 既に起動しているgvimサーバーで "file.txt" を編集する: > 80 | gvim --remote file.txt 81 | 82 | 既に起動しているFOOBARという名のサーバーで "file.txt" を編集する: > 83 | gvim --servername FOOBAR --remote file.txt 84 | 85 | 既に起動しているFILESという名のサーバーがあれば、FILESで "file.txt" を編集する 86 | が、無ければ自分がFILESになる: > 87 | gvim --servername FILES --remote-silent file.txt 88 | 89 | --remoteの後の全ての引数がファイル名として解釈されるので動作しない: > 90 | gvim --remote --servername FOOBAR file.txt 91 | 92 | リモートサーバーで "+foo" という名のファイルを編集する("./" により先頭の "+" 93 | の特別な意味が無効化されていることに注目): > 94 | vim --remote ./+foo 95 | 96 | "BLA" という名のリモートサーバーで編集中の全てのファイルを保存して終了する: > 97 | vim --servername BLA --remote-send ':wqa' 98 | 99 | ☆サーバー名 *client-server-name* 100 | 101 | デフォルトではVimは自分が起動された時の名前(gvim, egvim ...)のサーバーになろう 102 | とする。これは引数 --servername で変更できる。指定した名前が利用できない場合に 103 | は、利用できる名前になるように後置名が付加される。例えば、1つのX-Serverで2つ目 104 | のgvimを起動したときには "gvim1" というようになる。その時のサーバー名へは組み 105 | 込み変数|v:servername|によりアクセスできる。サーバー名の大文字小文字は区別され 106 | ないので、"gvim" と "GVIM" は同じとみなされる。 107 | 108 | Vimが引数 --remote や --remote-wait または --remote-send で起動された時には、 109 | 上記のようにその名前で起動されたサーバーを探そうと試みる。正確に一致するサー 110 | バーがなかった時には、数字の後置名を付けて見つかった最初のサーバーを使用する。 111 | 引数 --servername に数字の後置を付けた名前を指定した場合には、それは正確に一致 112 | するものだけを対象とする。 113 | 114 | サーバーが見つからなく、--remote か --remote-wait が使われた時には、Vimは残り 115 | のコマンドラインに従い起動し、そのファイルの編集セッションを自分自身で取り持 116 | つ。この方法ならgvimはコマンドを送信する時に、既に別のgvimが起動しているかどう 117 | かを知る必要は無い。 118 | 119 | 引数 --serverlist はVimに登録(実行)されている全てのコマンドサーバーを、標準出 120 | 力(stdout)に印刷して終了する。 121 | 122 | *{server}* 123 | 引数 {server} はいくつかの関数で使われる。これが空文字列の場合、Unix ではデフォ 124 | ルトのサーバー名として "GVIM" が使用される。MS-Windows では空文字列は動作しな 125 | い。 126 | 127 | Win32 NOTE: Vimサーバーをアクティブアプリケーション(トップウィンドウ)にするこ 128 | とは、MS-Windowsがそれを許していないので必ずしも成功するわけではない。クライア 129 | ントは引数 --remote や --remote-wait を使用しサーバー名が "g" で始まる時には、 130 | サーバーをアクティブアプリケーションにすることを試みる。 131 | 132 | 133 | ☆リモート編集 134 | 135 | 引数 --argument は残りのコマンドラインから|:drop|コマンドを構成することを引き 136 | 起こし、それを上記の方法で送信する。 137 | 引数 --remote-wait は同じ事をして、加えて全てのファイルの編集の完了を待つよう 138 | に設定される。これはBufUnloadイベントを使用し、だからファイルがアンロードされ 139 | るとすぐに、Vimはファイルの編集が完了したと判断する。 140 | 引数 --remote と --remote-wait は残りのコマンドライン全てを自分のものとして扱 141 | うことに注意。言い換えれば残り全ての引数はファイル名とみなされる。そこにオプ 142 | ションを置くことはできない! 143 | 144 | 145 | ☆Vim script 関数 146 | *E240* *E573* 147 | Vim script にはコマンドサーバーを操作するために幾つか関数がある。詳細な解説は 148 | |builtin.txt|を参照するか、関数名の上でCTRL-]を使って完全な解説を参照すること。 149 | 150 | 概要 説明 ~ 151 | remote_startserver( name) サーバーを開始する 152 | remote_expr( server, string, idvar) 式を送信する 153 | remote_send( server, string, idvar) キーシーケンスを送信する 154 | serverlist() 利用可能なサーバーのリストを得る 155 | remote_peek( serverid, retvar) 結果文字列の有無確認する 156 | remote_read( serverid) 結果文字列を取得する 157 | server2client( serverid, string) 結果文字列を送信する 158 | remote_foreground( server) サーバーを前面に移動する 159 | 160 | |CTRL-\_CTRL-N|の説明も参照。キーシーケンスの先頭に使用すると便利。 161 | server2client()で使用するサーバーIDはexpand("")で取得できる。 162 | 163 | ============================================================================== 164 | 2. X11特有の項目 *x11-clientserver* 165 | *E247* *E248* *E251* *E258* *E277* 166 | 167 | クライアントとサーバー間の通信はXサーバーにより行われる。Vimサーバーのディスプ 168 | レイを指定する必要がある。Xサーバーの通常の保護機能が使われており、通信が成り 169 | 立つためにはそのXサーバーでウィンドウを作成できなければならない。異なるマシン 170 | 間での通信も可能である。 171 | 172 | デフォルトでは、GUI Vim は X サーバーに名前を登録して送信された文字列を実行で 173 | きるように備える。Vim はクライアントとしても振舞い、同じ X11 ディスプレイで動 174 | 作する別の Vim インスタンスに文字列を送ることができる。 175 | 176 | X11のGUI Vim(gvim)が起動すると、ルートウィンドウの 'VimRegistry' プロパティに 177 | 送信サーバー名を登録しようと試みる。 178 | 179 | X11ディスプレイにアクセスできる非GUIのVim(|xterm-clipboard|が有効になっている) 180 | も、サーバー名が引数 --servername で明示的に与えられるか、Vim が 181 | |+autoservername| 機能付きでビルドされている場合は、コマンドサーバーとして振舞 182 | うことができる。 183 | 184 | 引数 --servername に空のサーバー名を与えればコマンドサーバー機能を無効にできる。 185 | 186 | 異なるアプリケーションからVimサーバーへコマンドを送るには、使われているプロト 187 | コルの幾つかのヒントを含むソースコードsrc/if_xcmdsrv.cを参照のこと。 188 | 189 | ============================================================================== 190 | 3. Win32特有の項目 *w32-clientserver* 191 | 192 | 全てのWin32版Vimはコンソールもサーバーとして動作できる。OLEを組み込んでコンパ 193 | イルする必要は無い。どのMS-Windowsでも動作する、Windowsメッセージが使用されて 194 | いる。しかしネットワークを通じてやり取りすることはできない。 195 | 196 | MS-Windowsメッセージを使っているから、どのようなアプリケーションでもVimサーバー 197 | と通信することができる。加えてOLEの機能を使うこともできる|ole-interface|。 198 | 199 | gvimを使っている時には、--remote-wait は以下のようにしないと正しく動作しない: > 200 | 201 | start /w gvim --remote-wait file.txt 202 | < 203 | vim:tw=78:sw=4:ts=8:noet:ft=help:norl: 204 | -------------------------------------------------------------------------------- /doc/rileft.jax: -------------------------------------------------------------------------------- 1 | *rileft.txt* For Vim バージョン 9.1. Last change: 2022 Oct 12 2 | 3 | 4 | VIMリファレンスマニュアル by Avner Lottem 5 | updated by Nadim Shaikli 6 | 7 | 8 | Vimにおける "右左" 書きとヘブライマッピング *rileft* 9 | 10 | 11 | これらの機能はAvner Lottemによって作成された 12 | E-mail: alottem@iil.intel.com 13 | Phone: +972-4-8307322 14 | 15 | *E26* 16 | {Vim が |+rightleft| 機能付きでコンパイルされたときのみ有効} 17 | 18 | 19 | はじめに 20 | ------------------ 21 | アラビア語、ペルシア語、ヘブライ語など、いくつかの言語では文章を右から左へ表示 22 | する。これらの言語で書かれたファイルは普通に記録され、右から左へ表示するのはグ 23 | ラフィックエンジンの機能である(Unicodeを利用して)。右左指向ファイルでは文字は 24 | 画面の右から左へ書かれる。 25 | 26 | 双方向性(Bidirectionality 略して bidi)はUnicodeがこれらの言語を扱うために提供 27 | しているものである。双方向性はユーザーが "右から左" のテキストと "左から右" の 28 | テキストを同時に同じウィンドウで適切に表示できるようにする。Vim は現在のとこ 29 | ろ、簡素でいるために、双方向性を提供していない。単に "右から左" 言語を表示、入 30 | 力、使用する機能を提供している。古い混在方法、文字単位 (または複数文字) で表示 31 | する方向を決める方法はサポートされていない。そして、この種のサポートは既存のエ 32 | ディタに簡単に加えることはできない (そしてUnicodeでも承認されていない)。 33 | 34 | 多くの人々は右から左へモードを使用しないコードで作業しており、この機能はいくつ 35 | かの場合で動作しない。不具合があって修正したらどう動作するのか説明できるなら、 36 | GitHubにIssueを作ってほしい、|bug-reports| を参照。 37 | 38 | 39 | 概要 40 | ---------- 41 | o "左右" ファイルの編集はオリジナルのVimと同じで、変更はない 42 | 43 | o "右から左" ウィンドウでファイルを閲覧、編集できる。ファイルはウィンドウ単位 44 | で指向方向を選択できるので、同じファイルを "右左" と "左右" ウィンドウで同 45 | 時に閲覧することが可能である。(これは表示方向の違う複数の言語が混在している 46 | 時に便利である) 47 | 48 | o オリジナルのVimとの互換性。ほとんど全ての機能が "右左" モードでも使用できる。 49 | (下記「バグ」の章を参照) 50 | 51 | o 反転入力モードからの復帰がファイルの正しい場所で行われる(可能な限り)。 52 | 53 | o "右左" 機能を使用するのに特別な端末を必要としない。"右左" 拡張機能は完全に 54 | ハードウェア非依存である。 55 | 56 | o たくさんの言語が "右左" 言語サポートを必要とする。このサポートに手を加え他の 57 | "右左" 言語(アラビア語など)に対応させるのは簡単だろう。文字エンコードに合わ 58 | せてキーボードマッピングを変更したり、ほんの少しコードに手を加えればいい。 59 | 現在はこれら|arabic.txt|, |farsi.txt|, |hebrew.txt|の言語サポートを含んでい 60 | る。 61 | 62 | 63 | 重要 64 | -------------- 65 | 66 | o 機能を有効にするために 67 | ----------- 68 | + 'rightleft' ('rl') ウィンドウを "右から左" 指向に設定する。 69 | + 'delcombine' ('deco')、真偽値、UTF-8 でエンコードされた言語を編集している 70 | ならば、先行する文字に重ね合わせられた合成文字を削除することを許可する(い 71 | くつかの言語ではこれが必要である)。 72 | + 'rightleftcmd' ('rlc') "右から左" 指向で便利なように、あるモード (検索な 73 | ど) のコマンドラインの入力方法を設定する。 74 | 75 | o 後方タイピング *ins-reverse* 76 | -------------- 77 | 78 | 全面的に 'rightleft' オプションを使う代わりに、もう一つ逆方向に挿入する方法 79 | がある。'revins' (逆挿入)オプションが有効になっていると、挿入した文字が後方 80 | に流れていく。"右左" 方向のテキストを入力するのに使える。キャラクタを挿入す 81 | ると、カーソルはその場から動かずテキストが右へ流れていく。はカーソルの 82 | 下の文字を削除する。CTRL-WとCTRL-Uも反対の方向へ働く。'backspace' オプショ 83 | ンが指定されているかにかかわらず、CTRL-W、CTRL-Uは入力の開始点や行末で 84 | 停止しない。 85 | 86 | (まだ)逆置換モードは実装されていない。 87 | 88 | 'showmode' オプションが設定されていると、逆挿入モードが有効になっている時 89 | には状態表示行(ステータスライン)に "-- REVERSE INSERT --" が表示されるだろ 90 | う。 91 | 92 | o "右左" ウィンドウでの貼り付け 93 | ----------------------------- 94 | 95 | マウスでカットした文章を "右左" ウィンドウに貼り付けると、"左右" バッファ 96 | からカットされたバッファの文字を "右左" ファイルへ入力することになるので、 97 | テキストは反転される。これを避けるには貼り付け前に 'revins' を切り替える。 98 | 99 | バグ 100 | ---- 101 | o "右左" ウィンドウではCTRL-AとCTRL-X(足し算、引き算)コマンドは正しく働かな 102 | い。 103 | 104 | o 逆挿入とコマンドラインでの "右左" モードはサポートされない。しかしながらマッ 105 | ピング、短縮入力、検索、コマンドラインでの "左右" 入力が可能なので、エディ 106 | タの機能性はそこなわれない 107 | 108 | o "右左" モードでは多少遅くなる。"右左" の動作は端末制御ではなくVimでのエミュ 109 | レーションによって実現されているため。 110 | 111 | o 'rightleft' と 'revins' が両方とも有効になっていると: 'textwidth' が動作し 112 | ない。行が折り返されない; 長い行が作成される。 113 | 114 | o 双方向 (bidi) を完全にはサポートしていない。 115 | 116 | 117 | vim:tw=78:ts=8:noet:ft=help:norl: 118 | -------------------------------------------------------------------------------- /doc/russian.jax: -------------------------------------------------------------------------------- 1 | *russian.txt* For Vim バージョン 9.1. Last change: 2006 Apr 24 2 | 3 | 4 | VIMリファレンスマニュアル by Vassily Ragosin 5 | 6 | 7 | ロシア語サポート *russian* *Russian* 8 | 9 | 1. はじめに |russian-intro| 10 | 2. ロシア語キーマップ |russian-keymap| 11 | 3. ローカライゼーション |russian-l18n| 12 | 4. 既知の問題 |russian-issues| 13 | 14 | =============================================================================== 15 | 1. はじめに *russian-intro* 16 | 17 | Vim ではロシア語は完璧にサポートされています。特別な設定をすることなく、他の言 18 | 語とまったく同じようにロシア語のテキストを書いたり表示したりできます。 19 | 20 | =============================================================================== 21 | 2. ロシア語キーマップ *russian-keymap* 22 | 23 | 言語を切り替えるには、システムネイティブのキーボード切り替えを使うか、Vim に含 24 | まれているロシア語キーマップのどれかを使います。例: > 25 | > 26 | :set keymap=russian-jcukenwin 27 | < 28 | 後者の方法なら、ロシア語のキーボードを持っていなくてもいいですし、システムの 29 | キーボード設定とは独立して言語を切り替えることができます。|'keymap'| を参照し 30 | てください。また、キーボードを切り替えるためのキーマップを作ることもできます。 31 | |:map| を参照してください。 32 | 33 | ノーマルモードコマンドを入力するときにキーボードを切り替えなくてすむように、オ 34 | プション 'langmap' をセットすると便利です: 35 | > 36 | :set langmap=ФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯ;ABCDEFGHIJKLMNOPQRSTUVWXYZ, 37 | фисвуапршолдьтщзйкыегмцчня;abcdefghijklmnopqrstuvwxyz 38 | 39 | 上の行は utf-8 で書かれているので、'encoding' が utf-8 でないと読めません。読 40 | みやすいように折り返していますが、このコマンドを一行で入力してください。 41 | 42 | =============================================================================== 43 | 3. ローカライゼーション *russian-l18n* 44 | 45 | ロシア語に翻訳されたメッセージ、ヘルプファイル、メニューなどを使うには、RuVim 46 | 言語パックをインストールする必要があります。次のサイトからダウンロードできます。 47 | 48 | http://www.sourceforge.net/projects/ruvim/ 49 | 50 | 自動インストールするためには Vim 6.2.506 以上、ruvim 0.5 以上でなければなりま 51 | せん。また、ユーザーインターフェイス項目の翻訳を使うには Vim が |+gettext| 機 52 | 能つきでコンパイルされていなければなりません。 53 | 54 | RuVim プロジェクトからアーカイブをダウンロードしたら、あなたの $VIMRUNTIME ディ 55 | レクトリに展開してください。UTF-8 アーカイブを使うことを推奨します。 56 | 57 | ロシア語のドキュメントを使うには、オプション 'helplang' に "ru" をセットしてく 58 | ださい。 59 | 60 | =============================================================================== 61 | 4. 既知の問題 *russian-issues* 62 | 63 | -- Win32 のコンソールでロシア語メッセージを使っていると、"vim --help" と 64 | "vim --version" の出力、コンソールウィンドウタイトルが間違ったコードページ 65 | で表示されてしまいます。この問題は GNU gettext ライブラリのバグに関係してい 66 | て、将来の gettextでは修正されるかもしれません。 67 | 68 | =============================================================================== 69 | vim:tw=78:ts=8:noet:ft=help:norl: 70 | -------------------------------------------------------------------------------- /doc/sponsor.jax: -------------------------------------------------------------------------------- 1 | *sponsor.txt* For Vim バージョン 9.1. Last change: 2024 Aug 14 2 | 3 | 4 | VIMリファレンスマニュアル by Bram Moolenaar 5 | 6 | 7 | 8 | ☆開発支援 (スポンサー) *sponsor* 9 | 10 | バグの修正や新機能の追加には多くの時間と労力が必要である。その仕事に対するあな 11 | たの評価を形にするために、また、開発者達の Vim を開発しようとする気持ちを継続 12 | させるために、寄付をお願いしている。 13 | 14 | ご寄付いただいたお金は主にウガンダの子供達を援助するために使われる。|uganda| 15 | を参照。しかし同時に、寄付は Vim に取り組み続ける開発チームのモチ 16 | ベーションを高める! 17 | 18 | 開発支援に関する最新の情報は Vim のウェブサイトを参照。 19 | 20 | http://www.vim.org/sponsor/ 21 | 22 | |sponsor-faq| にさらに説明がある。 23 | 24 | 25 | ☆ユーザー登録 *register* 26 | 27 | 10 ユーロ以上の送金で Vim の登録ユーザーになれる。これは開発支援と似たようなも 28 | のである。上記 |sponsor| を参照。上司や帳簿係はソフトウェアに出費してくれるが、 29 | "開発支援" や "寄付"という名目では問題がある、という場合に使ってほしい。 30 | 31 | |register-faq| にさらに説明がある。 32 | 33 | 34 | ☆機能への投票 *vote-for-features* 35 | 36 | Note: 2023 年に Bram が亡くなって以来、機能への投票は中止された。次の 2 つのリ 37 | ンクはまだ機能するが、更新されなくなった。したがって、現在は 2023 年夏の時点で 38 | の歴史的なビューのみが提供されている。 39 | 40 | 投票結果は結果ページに表示され、誰でも閲覧できる: 41 | http://www.vim.org/sponsor/vote_results.php 42 | 43 | 送金額が合計で 100 ユーロを越えると、名誉の殿堂 (Vim hall of honour) にあなた 44 | の名前が載る。http://www.vim.org/sponsor/hall_of_honour.php 45 | しかしそれは、あなたが自分のアカウントページでそれを許可した場合のみである。 46 | 47 | 48 | ☆送金方法 *send-money* 49 | 50 | クレジットカード 51 | クレジットカードでの送金には PayPal を使う。詳しいことは 52 | PayPal のサイトを参照: 53 | https://www.paypal.com/ 54 | 開発支援の送金のためのメールアドレスは以下: 55 | donate@vim.org 56 | ユーザー登録のためのメールアドレスは以下: 57 | register@vim.org 58 | なるべくユーロを使って欲しいが、他の通貨も受け付けている。ヨー 59 | ロッパ在住なら銀行振込の方が手数料が安い。 60 | 61 | 他の方法 |iccf-donations| を参照。 62 | 送金するときにコメント欄に "Vim sponsor" か "Vim registration" 63 | と記入する。 64 | 65 | 66 | ☆質問と回答 *sponsor-faq* *register-faq* 67 | 68 | なぜ送金しないといけないのか? 69 | 70 | Vim に対する感謝の気持ちを示さなければ、開発チームはバグを修正したり新機能を追 71 | 加したりする意欲が減退する。彼らは代わりに何か他のことをするだろう。 72 | 73 | 74 | いくら送金すればいいのか? 75 | 76 | いくらでも良い。たくさん送金すれば、たくさんの子供達が救われる。目安としては、 77 | ホームユーザーの場合は年に 10 ユーロ、仕事で使う場合は 1 人あたり年に 30 ユー 78 | ロほど。 79 | 80 | 81 | スポンサーや登録ユーザーになるにはどうすればいいのか? 82 | 83 | 上記 |send-money| に従って送金し、メールアドレスを明記する。送金が完了すると、 84 | 登録キーが送付される。このキーを Vim ウェブサイトで使用すると、寄付したことを 85 | 他の人に表示するかどうかを選択できる追加ページが表示される。そのページへのリン 86 | クは "My Account" ページにある。 87 | 88 | 89 | 登録ユーザーとスポンサーの違いは? 90 | 91 | 名前が違うだけである。あなたの上司が "開発支援" や "寄付" を好まない場合に 92 | "ユーザー登録" という名目を使用する。特典は同じである。 93 | 94 | 95 | どうやって送金するのか? 96 | 97 | |send-money| を参照。最新情報はウェブサイトで確認: 98 | http://www.vim.org/sponsor/ 99 | 100 | 101 | なぜ SourceForge の寄付システムを使わないのか? 102 | 103 | SourceForge は寄付金の 5% を手数料として取るため。SouceForge を支援したい場合 104 | は直接彼らに送金することができる。 105 | 106 | 107 | 私には送金するほど経済的余裕がない。それでも Vim を使えるか? 108 | 109 | はい。 110 | 111 | 112 | 私はユーザー登録していない。すべての機能を使えるか? 113 | 114 | はい。 115 | 116 | 117 | バグを発見した。報告するにはユーザー登録が必要か? 118 | 119 | 必要ない。Vim をより良くするための提案はいつでも歓迎する。改良に関しては開発 120 | メーリングリスト |maillist| を使用する。バグ報告に関しては |bugs| を参照。 121 | 122 | 123 | チャリティウェアとは? 124 | 125 | 現在、Vim への寄付金は |uganda| に送金される。そのため、Vim または ICCF のどち 126 | らを支援するかは関係ない。 127 | 128 | 129 | 私は $$$ 円寄付した。XYZ の機能を加えてほしい。 130 | 131 | あなたの寄付と開発者達の作業の間には直接的な関係はない。対価が仕事に対し 132 | て支払われるとすると、私たちはその寄付に関して納税しなければならない。特定の 133 | 仕事のために開発者達を雇いたい場合は、寄付ではなく、彼らに直接連絡してほしい。 134 | 135 | 136 | 寄付金は税金控除の対象になるか? 137 | 138 | 国によって違う。|Uganda| の子供達を援助するための寄付は、オランダ、ドイツ、カ 139 | ナダ、アメリカ、で税金が控除される。ICCF のウェブサイトを参照 140 | http://iccf-holland.org/donate.html。 141 | 142 | 143 | 請求書は送付可能か? 144 | 145 | いいえ。なぜなら、寄付金と仕事の間には関係がないからである。領収書を発行するこ 146 | とは可能である。 147 | 148 | 149 | 150 | vim:tw=78:ts=8:noet:ft=help:norl: 151 | -------------------------------------------------------------------------------- /doc/usr_01.jax: -------------------------------------------------------------------------------- 1 | *usr_01.txt* For Vim バージョン 9.1. Last change: 2024 Dec 17 2 | 3 | VIM USER MANUAL - by Bram Moolenaar 4 | 5 | マニュアルについて 6 | 7 | 8 | この章では、Vim のマニュアルを紹介します。著作権についてもお読み下さい。 9 | 10 | |01.1| 2つのマニュアル 11 | |01.2| Vim の準備 12 | |01.3| チュートリアル 13 | |01.4| 著作権 (copyright) 14 | 15 | 次章: |usr_02.txt| 初めての Vim 16 | 目次: |usr_toc.txt| 17 | 18 | ============================================================================== 19 | *01.1* 2つのマニュアル 20 | 21 | Vim のマニュアルは2部構成になっています。 22 | 23 | 1. ユーザーマニュアル 24 | 簡単なものから複雑なものまで、具体的な例を使って説明しています。本のよう 25 | に最初から順を追って読んでください。 26 | 27 | 2. リファレンスマニュアル 28 | Vim がどのように動作するかを詳しく説明しています。 29 | 30 | マニュアルの表記方法については |notation| をご覧ください。 31 | 32 | 33 | ☆他のトピックへのジャンプ 34 | 35 | 2つのマニュアルにはハイパーリンクが張ってあります。編集手順の説明とコマンドや 36 | オプションの詳しい説明とを素早く行き来できます。次のコマンドを使ってください。 37 | 38 | CTRL-] : カーソル位置の項目にジャンプする。 39 | CTRL-O : ジャンプ先から戻る。 40 | 41 | リンクは |bars| のように縦線 (vertical bar) で囲まれています。縦線は隠れている 42 | か非表示になっているかもしれません (下記参照)。オプション名は 'number' のよう 43 | にアポストロフィで、コマンドは ":write" のように引用符で囲まれています。普通の 44 | 単語もリンクとして使えます。試しに、カーソルを CTRL-] の上に動かして CTRL-] を 45 | 押してみてください。 46 | 47 | ":help" コマンドでヘルプの目次を表示できます。|help.txt|をご覧ください。 48 | 49 | 縦線とスターは通常は |conceal| 機能によって隠されています。さらに、|hl-Ignore| 50 | が使用され、背景色と同じ色が設定されています。次のコマンドでそれらを表示するこ 51 | とができます: > 52 | :set conceallevel=0 53 | :hi link HelpBar Normal 54 | :hi link HelpStar Normal 55 | 56 | ============================================================================== 57 | *01.2* Vim の準備 58 | 59 | マニュアルの大部分は Vim が正しくインストールされていることを前提にしていま 60 | す。まだインストールしていなかったり、うまく動いていない (ファイルが見つからな 61 | い、GUI でメニューが出ないなどの) 場合は、インストールの章 |usr_90.txt| を読ん 62 | でください。 63 | *not-compatible* 64 | このマニュアルでは「vi互換スイッチ('compatible')」がオフになっていることを前提 65 | にしています。ほとんどのコマンドは互換スイッチの影響を受けませんが、例えば、複 66 | 数回アンドゥなどの機能を使うときは設定が重要になります。正しく設定されているこ 67 | とを確実にするには、サンプル設定ファイルをコピーするのが簡単です。Vim の中から 68 | コピーを実行するなら、サンプル設定ファイルの場所を探す必要はありません。コピー 69 | の方法はシステムによって違います: 70 | 71 | Unix: > 72 | :!cp -i $VIMRUNTIME/vimrc_example.vim ~/.vimrc 73 | MS-Windows: > 74 | :!copy $VIMRUNTIME/vimrc_example.vim $VIM/_vimrc 75 | Amiga: > 76 | :!copy $VIMRUNTIME/vimrc_example.vim $VIM/.vimrc 77 | 78 | vimrc ファイルが既にある場合はコピーする必要はないかもしれません。 79 | 80 | Vim を起動すると、オプション 'compatible' はオフになっているはずです。次のコマ 81 | ンドで現在の設定を確認できます: > 82 | 83 | :set compatible? 84 | 85 | "nocompatible" と表示されればオフになっています。"compatible" と表示された場合 86 | は正しく設定されていません。オプションがオンになっている理由を確認してくださ 87 | い。もしかしたら、先程保存した設定ファイルが読み込まれていないのかもしれませ 88 | ん。次のコマンドで確認してください: > 89 | 90 | :scriptnames 91 | 92 | ファイルが一覧に無い場合は、vimrc ファイルの名前と場所を確認してください。一覧 93 | に入っている場合は、他のファイルによって 'compatible' がオンに設定されているは 94 | ずです。 95 | 96 | 詳しくは|vimrc|と|compatible-default|をご覧ください。 97 | 98 | Note: 99 | このマニュアルはVimを普通に使うための説明書です。実は evim(=easy vim) 100 | という別の Vim があります。これも Vim なのですが、メモ帳 のように 101 | 「クリック & 入力」方式であったり、常に挿入モードであったり、普通の 102 | Vim とはかなり雰囲気が違います。このユーザーマニュアルでは evim につい 103 | て説明していません。操作方法は使えばわかるはずです。 104 | 詳しいことは |evim-keys| をご覧ください。 105 | 106 | ============================================================================== 107 | *01.3* チュートリアル *tutor* *vimtutor* 108 | 109 | 対話型 tutor については、|vim-tutor-mode| を参照 110 | 111 | テキストを読むだけではなく (退屈だし!) チュートリアルを使って Vim の初歩を学ぶ 112 | ことができます。これは 2 つの章で提供される 30 分間のチュートリアルで、最も基 113 | 本的な Vim の機能を実際に体験しながら学べます。 114 | 115 | Unix では、Vim が適切にインストールしてあれば、シェルから起動できます: > 116 | 117 | vimtutor 118 | 119 | MS-Windows では、"Program/Vim 9.1" メニューにあります。または、インストールディ 120 | レクトリから vimtutor.bat を実行します (このディレクトリを見つけるには、Vim 内 121 | から `:echo $VIMRUNTIME` が使用できます)。 122 | 123 | 演習ファイルの第 1 章のコピーが作られるので、テキストを編集してもオリジナルの 124 | 演習ファイルを壊してしまう心配はありません。第 2 章に進むには、以下のコマンド 125 | を使用できます: > 126 | vimtutor -c 2 127 | < 128 | チュートリアルはいくつかの言語に翻訳されています。翻訳されたチュートリアル 129 | を使うには、2 文字の言語コードを指定します。日本語の場合は次のようにします: > 130 | 131 | vimtutor ja 132 | 133 | Unix で GUI 版の Vim を使いたい場合は、"gvimtutor" か "vimtutor -g" を実行して 134 | ください。 135 | 136 | OpenVMS では、VMS プロンプトから次のようにして起動できます。 > 137 | 138 | @VIM:vimtutor 139 | 140 | 上の例と同じようにオプションで二文字の言語コードを指定できます。 141 | 142 | 143 | Unix 以外のシステムでは、多少の作業が必要です。 144 | 145 | 1. 演習用ファイルをコピーします。これは Vim を使ってコピーできます (Vim はファ 146 | イルの場所を知っている): 147 | > 148 | vim --clean -c 'e $VIMRUNTIME/tutor/tutor1' -c 'w! TUTORCOPY' -c 'q' 149 | < 150 | "TUTORCOPY" というファイルがカレントディレクトリに作成されます。翻訳された演習 151 | ファイルを使うには、二文字の言語コードを指定します。日本語の場合は次のようにし 152 | ます: 153 | > 154 | vim --clean -c 'e $VIMRUNTIME/tutor/tutor1.fr' -c 'w! TUTORCOPY' -c 'q' 155 | < 156 | 2. コピーしたファイルを Vim で開きます: 157 | > 158 | vim --clean TUTORCOPY 159 | < 160 | 引数 --clean は Vim をイイ感じのデフォルト設定で起動します。 161 | 162 | 3. 練習が終わったら、コピーしたファイルを削除します: 163 | > 164 | del TUTORCOPY 165 | < 166 | ============================================================================== 167 | *01.4* 著作権 (Copyright) *manual-copyright* 168 | 169 | Vim のユーザーマニュアルとリファレンスマニュアルの著作権は以下の通りです。 170 | Copyright (c) 1988 by Bram Moolenaar 171 | Open Publication License, v1.0 以降の条件に従って配布することができます。ライ 172 | センスの最新バージョンは次の場所から入手できます: 173 | https://opencontent.org/openpub/ 174 | 175 | マニュアルに貢献する人は上記の著作権通達に同意しなければなりません。 176 | 177 | *frombook* 178 | ユーザーマニュアルの一部は "Vi IMproved - VIM" から取られたものです。 179 | "Vi IMproved - Vim" Steve Oualline著 180 | (出版:New Riders Publishing, ISBN: 0735710015) 181 | この本には Open Publication License が適用されています。必要な部分のみコピー 182 | し、変更を加えています (図を削除したり、Vim 6.0 以降のために更新したり、間違い 183 | を訂正したり)。|frombook|タグが省略されていたとしても、この本からコピーしたこ 184 | とを否定するものではありません。 185 | 186 | この本を OPL で出版してくださった Steve Oualline 氏と New Riders に深く感謝し 187 | ます。ユーザーマニュアルの執筆においてとても助けられました。文章を提供しても 188 | らっただけでなく、スタイルや文体も参考にさせていただきました。 189 | 190 | このマニュアルの販売で収益を上げた方は、利益の一部を寄付してくださるようお願い 191 | します。ウガンダのエイズ患者を助けてあげてください。詳しくは|iccf|をご覧くださ 192 | い。 193 | 194 | ============================================================================== 195 | 196 | 次章: |usr_02.txt| 初めての Vim 197 | 198 | Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl: 199 | -------------------------------------------------------------------------------- /doc/usr_06.jax: -------------------------------------------------------------------------------- 1 | *usr_06.txt* For Vim バージョン 9.1. Last change: 2024 Oct 05 2 | 3 | VIM USER MANUAL - by Bram Moolenaar 4 | 5 | 構文強調表示 6 | 7 | 8 | 白黒だけのテキストは退屈です。カラー表示すればファイルも生き生き見えてきます。 9 | これは単に見た目が良いだけではなく、作業のスピードアップにもつながります。意味 10 | のある文字列は違う色で表示しましょう。そして、画面と同じ色で印刷しましょう。 11 | 12 | |06.1| 構文強調表示を有効にする 13 | |06.2| 色が付かない?変な色になる? 14 | |06.3| 色を変える 15 | |06.4| カラーを使う?使わない? 16 | |06.5| カラー印刷 17 | |06.6| 詳しい情報 18 | 19 | 次章: |usr_07.txt| 複数のファイルを開く 20 | 前章: |usr_05.txt| 設定の変更 21 | 目次: |usr_toc.txt| 22 | 23 | ============================================================================== 24 | *06.1* 構文強調表示を有効にする 25 | 26 | 次の簡単なコマンドで全てが始まります。 > 27 | 28 | :syntax enable 29 | 30 | これで、カラー表示になるはずです。ファイルタイプが自動的に特定され、適切な構文 31 | 強調がロードされます。すると、コメントは青、キーワードは茶色、文字列は赤、と 32 | いった具合にカラー表示になります。ファイルが見やすくなりましたね。しばらくする 33 | と、白黒のテキストがあなたの足を引っ張っていたことに気づくでしょう。 34 | 35 | 常に構文強調表示を使いたい場合は、":syntax enable" コマンドを|vimrc|ファイルに 36 | 追加してください。 37 | 38 | カラー端末のときだけ使いたい場合は、次のコマンドを|vimrc|ファイルに追加してく 39 | ださい。 > 40 | if &t_Co > 1 41 | syntax enable 42 | endif 43 | 44 | GUI バージョンのときだけ使いたい場合は、":syntax enable" を |gvimrc| ファイル 45 | に追加してください。 46 | 47 | ============================================================================== 48 | *06.2* 色が付かない?変な色になる? 49 | 50 | カラー表示がうまくいかない理由はいろいろあります: 51 | 52 | - カラー端末じゃない。 53 | Vim は、太字やイタリック、下線も使えます。でもそれだけではあまりカッコ 54 | 良くはできません。カラー対応の端末を入手するのがいいでしょう。 55 | Unixなら、XFree86プロジェクト(|xfree-xterm|)のxtermがお勧めです。 56 | 57 | - カラー端末であることを Vim が認識できない。 58 | $TERM の設定が正しいかどうかを確認してください。例えば、カラー対応の 59 | xterm なら次のように設定します: > 60 | 61 | setenv TERM xterm-color 62 | < 63 | シェルによってはこうかもしれません: > 64 | 65 | TERM=xterm-color; export TERM 66 | 67 | < 端末名と実際に使っている端末名は同じでないといけません。それでも 68 | うまく動かない場合は、|xterm-color|を参照してください。この文書には 69 | Vim をカラー表示にする方法がいくつか書いてあります。(xtermに限った文書 70 | ではありません) 71 | 72 | - ファイルタイプが識別できなかった。 73 | いくら Vim でも古今東西のファイルタイプをすべて知っているわけではあり 74 | ません。ファイルがどの言語で書かれているかを特定するのが困難な場合もあ 75 | ります。このコマンドを使ってみてください。 > 76 | 77 | :set filetype 78 | < 79 | この結果が "filetype=" ならば、ファイルタイプが認識できなかったという 80 | ことです。手動でファイルタイプを指定することもできます。 > 81 | 82 | :set filetype=fortran 83 | 84 | < どんなタイプが使えるかは、$VIMRUNTIME/syntax のディレクトリを見て 85 | ください。GUI なら、[シンタックス]メニューも使えます。 86 | ファイルタイプの設定はモード行(|modeline|)でもできます。モード行で指定 87 | すれば、そのファイルを開いたときにカラー表示が必ず設定されます。例え 88 | ば、Makefile なら次のように書きます。(ファイルの最初か最後に近い場所に 89 | 書いてください): > 90 | 91 | # vim: syntax=make 92 | 93 | < あなたはファイルタイプの判定方法を知っているかもしれませんね。ほとんど 94 | のファイルは拡張子を見ればファイルタイプがわかります。 95 | ファイルタイプを検出して設定する方法については|new-filetype|を参照して 96 | ください。 97 | 98 | - ファイルタイプ用の構文定義がない。 99 | 似ているファイルタイプを手動で設定して使ってみてください。それでも不満 100 | な場合は、自分で構文定義ファイルを書くこともできます。詳しくは 101 | |mysyntaxfile|を参照してください。 102 | 103 | 104 | 色がおかしい場合: 105 | 106 | - 色付きの文字が非常に読みづらい 107 | Vim は使われている背景色を推測します。黒 (もしくは同様の暗色) なら、明 108 | るい色で文字を表示します。白 (もしくは同様の明るい色) なら、暗い色で文 109 | 字を表示します。Vim の予想がはずれると、文字は読みづらくなります。 110 | これは 'background' オプションを設定することで解決できます。暗い背景色 111 | を使っている場合は、次のように設定してください: > 112 | 113 | :set background=dark 114 | 115 | < 明るい背景色なら次のように設定してください: > 116 | 117 | :set background=light 118 | 119 | < このコマンドは ":syntax enable" より *前* に実行してください。色が設 120 | 定された後では意味がありません。後から 'background' を設定した場合は、 121 | ":syntax reset" を実行すると、標準色に戻すことができます。 122 | 123 | - 上に向ってスクロールしたときに色が間違っている 124 | 構文解析は、ファイル全体を読んでるわけではありません。画面に表示されて 125 | いるところから、解析は始まります。これだと時間を大幅に節約できるのです 126 | が、時には色を間違ってしまいます。直すには単に CTRL-L を押してくださ 127 | い。あるいは、少し多めに上スクロールしてから戻ると直ります。 128 | 根本的に解決するには、|:syn-sync|を参照してください。一部の構文ファイ 129 | ルは、ずっと上の方まで戻って解析をしています。詳しくは個々の構文定義 130 | ファイルのヘルプを参照してください。例えば、TeX 用の定義ファイル 131 | |tex.vim|がそれを行っています。 132 | 133 | ============================================================================== 134 | *06.3* 色を変える *:syn-default-override* 135 | 136 | 標準色が好みでなければ、他の色テーマを使うことができます。GUI ならメニューの 137 | [編集]-[色テーマ] が使えます。コマンドで指定することもできます: > 138 | 139 | :colorscheme evening 140 | 141 | "evening" というのは色テーマの名前です。色テーマは他にもたくさんあります。ディ 142 | レクトリ $VIMRUNTIME/colors をご覧ください。 143 | 144 | 好みの色テーマを見つけたら、":colorscheme" コマンドを|vimrc|ファイルに追加して 145 | ください。 146 | 147 | 自分で色テーマを作ることもできます。その手順は次の通りです。 148 | 149 | 1. 作りたいテーマに近い色テーマを選び、それを自分の Vim ディレクトリにコピーし 150 | ます。Unix なら次のとおりです: > 151 | 152 | !mkdir ~/.vim/colors 153 | !cp $VIMRUNTIME/colors/morning.vim ~/.vim/colors/mine.vim 154 | < 155 | $VIMRUNTIME は Vim が設定する環境変数なので、このコマンドは Vim から実行し 156 | てください。 157 | 158 | 2. 色テーマファイルを編集します。この一覧が役に立つでしょう: 159 | 160 | term 白黒端末での属性 161 | cterm カラー端末での属性 162 | ctermfg カラー端末での文字色 163 | ctermbg カラー端末での背景色 164 | gui GUI での属性 165 | guifg GUI での文字色 166 | guibg GUI での背景色 167 | 168 | 例えば、コメントを緑にするにはこのようにします。 > 169 | 170 | :highlight Comment ctermfg=green guifg=green 171 | < 172 | "cterm" と "gui" の属性には、"bold" と "underline" が指定できます。両方を指 173 | 定したい場合は、"bold,underline" のように指定します。詳しくは|:highlight|を 174 | 参照してください。 175 | 176 | 3. 作った色テーマが使われるように設定します。この行を|vimrc|に追加してくださ 177 | い: > 178 | 179 | colorscheme mine 180 | 181 | 次のコマンドで、よく使われる色の組み合わせを表示して、見栄えを確認できます: > 182 | 183 | :runtime syntax/colortest.vim 184 | 185 | いろんな色の組み合せが表示されます。どれが読みやすくて見た目が良いかチェックし 186 | てください。ただし使用できるのはこれらの色だけではありません。 187 | #rrggbb の16進数カラーを指定することもできますし、|v:colornames| で16進数カラー 188 | の新しい名前を以下のように定義することも可能です: > 189 | 190 | let v:colornames['mine_red'] = '#aa0000' 191 | 192 | 他から利用できるカラースキームを作る場合は、既存の定義がないものにすることが重 193 | 要です: > 194 | 195 | call extend(v:colornames, {'mine_red': '#aa0000'}, 'keep') 196 | 197 | これによって、カラースキームのユーザーはあなたのカラースキームをロードする前に 198 | 正確に定義を上書き定義できます、例えば、|.vimrc| ファイルにて: > 199 | 200 | runtime colors/lists/css_colors.vim 201 | let v:colornames['your_red'] = v:colornames['css_red'] 202 | colorscheme yourscheme 203 | 204 | カラースキームの作者であれば、一部のカラー名はGUIカラーに頼ることができます。 205 | これらは `colors/lists/default.vim` に定義されています。|'runtimepath'| 上に発 206 | 見されるこの形式のファイルは colorscheme コマンドが実行されるたびにロードされ 207 | ます。Vim の配布物として提供される正規のリストにはすべての X11 カラーが含まれ 208 | ています(以前は rgb.txtで定義されていました)。 209 | 210 | 211 | ============================================================================== 212 | *06.4* カラーを使う?使わない? 213 | 214 | テキストをカラーで表示するには、たくさんの計算が必要です。表示が遅すぎると感じ 215 | たときは、構文強調表示を一時的に止めてみてください: > 216 | 217 | :syntax clear 218 | 219 | 他のファイル (又は同じファイル) を開くと、再びカラー表示されます。 220 | 221 | 構文強調表示を完全に無効にするには、このようにします: > 222 | 223 | :syntax off 224 | 225 | これで、構文強調表示が無効になり、すべてのバッファが白黒表示になります。詳細は 226 | |:syntax-off| を参照してください。 227 | 228 | *:syn-manual* 229 | 特定のファイルだけ構文強調表示するには、このようにします: > 230 | 231 | :syntax manual 232 | 233 | 構文強調表示は有効になりますが、ファイルを開いても、自動的にはカラー表示になり 234 | ません。'syntax' オプションを設定すると、カレントバッファがカラー表示になりま 235 | す: > 236 | 237 | :set syntax=ON 238 | < 239 | ============================================================================== 240 | *06.5* カラー印刷 *syntax-printing* 241 | 242 | MS-Windows では、次のコマンドでファイルを印刷できます: > 243 | 244 | :hardcopy 245 | 246 | 通常の印刷ダイアログが表示されるので、プリンタを選択し、設定してください。カ 247 | ラープリンタを使っている場合は、画面に表示されているのと同じように印刷されま 248 | す。ただし、背景色を暗い色にしている場合は、白い紙に適した色に変更されます。 249 | 250 | 印刷方法を変更するには、以下のオプションを設定してください: 251 | 'printdevice' 252 | 'printheader' 253 | 'printfont' 254 | 'printoptions' 255 | 256 | 一部の範囲だけ印刷するには、ビジュアルモードで印刷したい範囲を選択し、印刷コマ 257 | ンドを実行してください: > 258 | 259 | v100j:hardcopy 260 | 261 | "v" でビジュアルモードを開始して、"100j" で 100 行下まで移動すると、その範囲が 262 | 選択されます。":hardcopy" で選択範囲が印刷されます。もちろん、ビジュアルモード 263 | では他のコマンドを使って移動することもできます。 264 | 265 | PostScript プリンタを使っている場合は Unix でも同様に印刷できます。PostScript 266 | を印刷できない場合は多少の手間がかかります。テキストを HTML に変換してから Web 267 | ブラウザーで印刷してください。 268 | 269 | 現在のファイルを HTML に変換するには次のコマンドを使います: > 270 | 271 | :TOhtml 272 | 273 | 動かない場合は次のコマンドを試してください: > 274 | 275 | :source $VIMRUNTIME/syntax/2html.vim 276 | 277 | カリカリと音を立て処理が開始します。巨大なファイルの変換にはしばらく時間がかか 278 | ります。しばらくすると別ウィンドウに HTMLコードが表示されるので、どこかに保存 279 | してください (後で削除するファイルなので、適当な場所に保存してください): 280 | > 281 | :write main.c.html 282 | 283 | このファイルをお好みのブラウザーで開いて印刷してください。うまくいけば、Vim の 284 | 画面での表示と全く同じものが印刷されます。詳しくは|2html.vim|を参照してくださ 285 | い。全てが終わったら、HTMLファイルは削除してしまいましょう。 286 | 287 | 印刷する代わりに、HTML ファイルを Web サーバーに置いて、他の人にカラー付きの文 288 | 書として提供することもできます。 289 | 290 | ============================================================================== 291 | *06.6* 詳しい情報 292 | 293 | |usr_44.txt| 構文定義の自作 294 | |syntax| 全ての詳細 295 | 296 | ============================================================================== 297 | 298 | 次章: |usr_07.txt| 複数のファイルを開く 299 | 300 | Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl: 301 | -------------------------------------------------------------------------------- /doc/usr_09.jax: -------------------------------------------------------------------------------- 1 | *usr_09.txt* For Vim バージョン 9.1. Last change: 2017 Aug 11 2 | 3 | VIM USER MANUAL - by Bram Moolenaar 4 | 5 | GUI を使う 6 | 7 | 8 | Vimは通常の端末で動作しますが、gVimはグラフィカルユーザーインターフェイス (GUI) 9 | を持っています。それはVimと同じこととさらにいくつかのことができます。GUIは、メ 10 | ニュー、ツールバー、スクロールバー、およびその他のアイテムを提供します。この章 11 | では、GUIが提供するこれらの機能について説明します。 12 | 13 | |09.1| GUI の部品 14 | |09.2| マウスを使う 15 | |09.3| クリップボード 16 | |09.4| 選択モード 17 | 18 | 次章: |usr_10.txt| 大規模な編集 19 | 前章: |usr_08.txt| ウィンドウの分割 20 | 目次: |usr_toc.txt| 21 | 22 | ============================================================================== 23 | *09.1* GUI の部品 24 | 25 | おそらく、gvim を起動するためのアイコンがデスクトップにあるはずです。ない場合 26 | は、次のコマンドのどちらかで起動できます: > 27 | 28 | gvim file.txt 29 | vim -g file.txt 30 | 31 | GUI 版の Vim がインストールされていない場合は起動できません。まず最初に GUI 版 32 | の Vim をインストールしてください。 33 | 起動すると、ウィンドウが開き、そこに "file.txt" が表示されます。ウィンドウの外 34 | 見は Vim のバージョンによって違うかもしれませんが、だいたい次のような画面が表 35 | 示されるはずです (この図は ASCII で正しく表示されます)。 36 | 37 | +----------------------------------------------------+ 38 | | file.txt + (~/dir) - VIM X | <- ウィンドウ 39 | +----------------------------------------------------+ タイトル 40 | | File Edit Tools Syntax Buffers Window Help | <- メニューバー 41 | +----------------------------------------------------+ 42 | | aaa bbb ccc ddd eee fff ggg hhh iii jjj | <- ツールバー 43 | | aaa bbb ccc ddd eee fff ggg hhh iii jjj | 44 | +----------------------------------------------------+ 45 | | file text | ^ | 46 | | ~ | # | 47 | | ~ | # | <- スクロール 48 | | ~ | # | バー 49 | | ~ | # | 50 | | ~ | # | 51 | | | V | 52 | +----------------------------------------------------+ 53 | 54 | 一番大きな領域にはファイルのテキストが表示されています。その部分は端末での表示 55 | と同じです。色やフォントは違うかもしれません。 56 | 57 | 58 | ☆ウィンドウタイトル 59 | 60 | 最上部はウィンドウタイトルです。この部分はウィンドウシステム (Windows や X の 61 | ウィンドウマネージャーなど) によって描画されます。Vim はカレントファイルの名前 62 | をタイトルに設定します。ファイル名が先頭に表示され、それから、記号、カッコで囲 63 | まれたディレクトリ名が表示されます。記号には次の意味があります。 64 | 65 | - ファイルは変更不可。(例: ヘルプファイル) 66 | + ファイルは変更された。 67 | = ファイルは読み込み専用。 68 | =+ ファイルは読み込み専用だが、変更された。 69 | 70 | 何も表示されていなければ、変更されていない通常のファイルです。 71 | 72 | 73 | ☆メニューバー 74 | 75 | メニューの使い方はわかりますよね? 一般的な項目に加え、Vim 特有の項目が少しあ 76 | ります。メニューをざっと眺めてどんなものがあるか確認してください。この章に関連 77 | したサブメニューが [編集]-[全体設定] にあります。次のような項目です: 78 | 79 | ツールバー表示切替 ツールバーの表示のon/off 80 | スクロールバー(下)表示切替 スクロールバー(下)の表示のon/off 81 | スクロールバー(左)表示切替 スクロールバー(左)の表示のon/off 82 | スクロールバー(右)表示切替 スクロールバー(右)の表示のon/off 83 | 84 | ほとんどのシステムではメニューの切り離しができます。メニューの最上部にある点線 85 | のような項目を選択すると、メニューが別ウィンドウで表示されます。明示的に閉じる 86 | まで、ウィンドウは開いたままです。 87 | 88 | 89 | ☆ツールバー 90 | 91 | ツールバーには、よく使われる機能がアイコンの形で格納されています。アイコンを見 92 | ればその機能を連想できると思います。マウスをアイコンの上に動かしてクリックせず 93 | に一秒ほど待つと、機能の説明がツールチップで表示されます。 94 | 95 | メニューの [編集]-[全体設定]-[ツールバー表示切換] を使うとツールバーを非表示に 96 | できます。ツールバーを全く使わないのであれば、次のコマンドを vimrc に書いてく 97 | ださい: > 98 | 99 | :set guioptions-=T 100 | 101 | これは 'guioptions' オプションから "T" フラグを取り除くコマンドです。GUI の他 102 | の部品もこのオプションを使って、表示/非表示を指定できます。詳しくはオプション 103 | のヘルプを参照してください。 104 | 105 | 106 | ☆スクロールバー 107 | 108 | 初期設定では右側にスクロールバーが表示されます。動作は一般的なアプリケーション 109 | と同じです。ウィンドウを分割するとウィンドウごとにスクロールバーが作られます。 110 | メニューの [編集]-[全体設定]-[スクロールバー(下)表示切換] を使うと横スクロール 111 | バーを表示できます。差分モードのときや 'wrap' オプションをオフにしているときに 112 | 便利です。(詳しくは後で説明します) 113 | 114 | ウィンドウを垂直分割していて、右側のウィンドウにだけスクロールバーが付いている 115 | 場合は、左側のウィンドウにカーソルを移動すれば、スクロールバーはそのウィンドウ 116 | に作用するようになります。 117 | 垂直分割をよく使うなら、左側にもスクロールバーを付けるといいかもしれません。メ 118 | ニューから選択するか、'guioptions' を設定してください: > 119 | 120 | :set guioptions+=l 121 | 122 | これは 'guioptions' に 'l' フラグを追加しています。 123 | 124 | ============================================================================== 125 | *09.2* マウスを使う 126 | 127 | 標準は素晴らしい。Microsoft Windows では、マウスを使った標準的な操作方法でテキ 128 | ストを選択できます。X ウィンドウシステムにもマウスの操作方法の標準があります。 129 | 残念ながら、この二つの標準は別物です。 130 | 幸運なことに Vim はカスタマイズできます。マウスの振る舞いを X ウィンドウシステ 131 | ム方式か Microsoft Windows 方式のどちらかに変更できます。次のコマンドでマウス 132 | の振る舞いを X ウィンドウシステム方式に設定できます: > 133 | 134 | :behave xterm 135 | 136 | 次のコマンドでマウスの振る舞いを Microsoft Windows 方式に設定できます: > 137 | 138 | :behave mswin 139 | 140 | UNIX での初期設定は xterm です。Microsoft Windows での初期設定はインストール時 141 | に選択できます。二つの振る舞いの詳細については|:behave|をご覧ください。ここで 142 | は概要だけ説明します。 143 | 144 | 145 | ☆xterm 方式のマウスの振る舞い 146 | 147 | 左クリック カーソル移動 148 | 左ドラッグ ビジュアルモードでテキストを選択 149 | 中クリック クリップボードからテキストを貼り付け 150 | 右クリック マウスポインタで指した場所まで選択範囲を拡張 151 | 152 | 153 | ☆MS-Windows 方式のマウスの振る舞い 154 | 155 | 左クリック カーソル移動 156 | 左ドラッグ 選択モードでテキストを選択 (|09.4| 参照) 157 | シフトキー + 左クリック マウスポインタで指した場所まで選択範囲を拡張 158 | 中クリック クリップボードからテキストを貼り付け 159 | 右クリック ポップアップメニューを表示 160 | 161 | 162 | マウスの動作はさらに細かく設定できます。マウスの動作を変更したい場合は、以下の 163 | オプションを確認してください。 164 | 165 | 'mouse' Vim のどのモードでマウスを使うのか 166 | 'mousemodel' クリックしたときの動作 167 | 'mousetime' ダブルクリックのクリック間隔 168 | 'mousehide' 入力している間、マウスを隠す 169 | 'selectmode' マウスで選択したときにビジュアルモードとセレク 170 | トモードのどちらを開始するか 171 | 172 | ============================================================================== 173 | *09.3* クリップボード 174 | 175 | |04.7| ではクリップボードの基本的な使い方を説明しました。ここでは X-windows で 176 | の必須事項を説明します。X-windows にはプログラム間でテキストを交換するための空 177 | 間が二つあります。MS-Windows にはそういうのはありません。 178 | 179 | X-Windows にはカレントセレクション ("current selection") があります。これは選 180 | 択中のテキストのことです。Vim において、それはビジュアル選択している範囲のこと 181 | です (初期設定の場合)。選択しているテキストは特に何もしなくても他のアプリケー 182 | ションにペーストできます。 183 | 例えば、この文章のどこかを適当にマウスで選択したとします。Vim は自動的にビジュ 184 | アルモードに切り替わり、選択したテキストが強調表示されます。ここで、別の gvim 185 | を引数なしで起動し、空のウィンドウを開きます。中央ボタンをクリックすると、選択 186 | したテキストが挿入されます。 187 | 188 | カレントセレクションは他のテキストを選択するまで有効です。他の gvim にペースト 189 | した後、そのウィンドウのテキストを選択すると、直前に別の gvim で選択していたテ 190 | キストの表示が変わるのが確認できると思います。その選択範囲はもうカレントセレク 191 | ションではないのです。 192 | 193 | テキストの選択はマウスでなくても構いません。ビジュアルモードのコマンドをキー 194 | ボードで入力しても同じことになります。 195 | 196 | 197 | ☆真のクリップボード 198 | 199 | さて、テキストを交換するためのもう一つの空間を説明します。今までの説明との混同 200 | を避けるために、ここでは真のクリップボード ("real clipboard") と呼びます。普通 201 | はカレントセレクションと真のクリップボードはどちらもクリップボードと呼ばれます 202 | が、慣れてください。 203 | 真のクリップボードにテキストをプットするために、動作中の gvim で適当なテキスト 204 | を選択し、メニューの [編集]-[コピー] コマンドを実行してください。これで、テキ 205 | ストが真のクリップボードにコピーされました。クリップボードの内容は専用のアプリ 206 | ケーション (例えば KDE の Klipper) がなければ見ることはできません。 207 | 次に、別の gvim に移り、カーソルを適当なところに移動し、メニューの [編集]-[貼 208 | り付け] コマンドを実行します。真のクリップボードからテキストが挿入されます。 209 | 210 | 211 | ☆両方を使う 212 | 213 | カレントセレクションと真のクリップボードを両方使うのは少し複雑ですが、でもこれ 214 | はとても便利なのです。例を挙げましょう。 215 | gvim でテキストファイルを開いて以下の操作を実行してください: > 216 | 217 | - 単語をビジュアルモードで選択する。 218 | - [編集]-[コピー] メニューを実行して単語をクリップボードに入れる。 219 | - ビジュアルモードで別の単語を選択する。 220 | - [編集]-[貼り付け] メニューを実行する。選択している単語がクリップボードにあ 221 | る単語で置き換えられます。 222 | - マウスポインタを他のところに動かして中央ボタンを押す。直前にクリップボード 223 | のテキストで上書きされた単語がその場所に挿入されます。 224 | 225 | カレントセレクションと真のクリップボードは気をつけて使いさえすれば、非常に役立 226 | つテクニックになります。 227 | 228 | 229 | ☆キーボードを使う 230 | 231 | マウスが嫌いなあなたでも、二つのレジスタを使って、カレントセレクションと真のク 232 | リップボードにアクセスできます。カレントセレクションには "* レジスタでアクセス 233 | します。 234 | テキストをカレントセレクションにするにはビジュアルモードを使います。例えば、 235 | "V" を押せば行全体を選択できます。 236 | 次のコマンドでカレントセレクションのテキストをカーソルの直前に挿入できます: > 237 | 238 | "*P 239 | 240 | 大文字の "P" であることに注意してください。小文字の "p" だとカーソルの直後に 241 | プットされます。 242 | 243 | 真のクリップボードには "+ レジスタでアクセスします。例えば、カーソル位置から行 244 | 末までを真のクリップボードにコピーするには、次のようにします: > 245 | 246 | "+y$ 247 | 248 | "y" はヤンク、つまり Vim のコピーコマンドのことでしたね。 249 | 次のコマンドで真のクリップボードのテキストをカーソルの直前に挿入できます: > 250 | 251 | "+P 252 | 253 | カレントセレクションの場合とコマンドは同じですが、スター (*) ではなくプラス 254 | (+) レジスタを使っています。 255 | 256 | ============================================================================== 257 | *09.4* 選択モード 258 | 259 | これは X Window よりも MS-Windows でよく利用される機能です。しかし、どちらの環 260 | 境でも利用できます。ビジュアルモードについては既に知っていますね。選択モードは 261 | ビジュアルモードに似ています。選択モードもテキストを選択するための機能です。違 262 | いは、文字を入力すると、選択されていたテキストが削除され、入力した文字に置き換 263 | わることです。 264 | 265 | 選択モードを使うには、最初にそれを有効にする必要があります。(MS-Windows では、 266 | 既に有効になっていると思いますが、これを実行しても問題ありません): > 267 | 268 | :set selectmode+=mouse 269 | 270 | 設定したら、マウスを使ってテキストを選択してみてください。ビジュアルモードのよ 271 | うにテキストが強調表示されます。そして、文字を入力してください。選択されていた 272 | テキストが削除され、入力した文字に置き換わります。挿入モードに入るので、続けて 273 | 文字を入力することができます。 274 | 275 | 普通に文字を入力すると選択中のテキストが削除されてしまうので、通常の移動コマン 276 | ドの "hjkl" や "w" などは使えません。代わりに、シフト + 特殊キーの組み合わせを 277 | 使ってください。 (シフト + 左矢印キー) でカーソルが左に移動します。ビ 278 | ジュアルモードと同じように選択範囲が変化します。他の矢印キーも同様に使えます。 279 | も使えます。 280 | 281 | 選択モードの動作は 'selectmode' オプションで変更できます。 282 | 283 | ============================================================================== 284 | 285 | 次章: |usr_10.txt| 大規模な編集 286 | 287 | Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl: 288 | -------------------------------------------------------------------------------- /doc/usr_23.jax: -------------------------------------------------------------------------------- 1 | *usr_23.txt* For Vim バージョン 9.1. Last change: 2020 Dec 19 2 | 3 | VIM USER MANUAL - by Bram Moolenaar 4 | 5 | 特殊なファイルを編集する 6 | 7 | 8 | この章では特殊なファイルの編集について説明します。圧縮ファイルや暗号化された 9 | ファイルを編集できます。多少不便ですが、バイナリファイルも編集できます。イン 10 | ターネット越しにファイルアクセスする方法も説明します。 11 | 12 | |23.1| DOS、Mac、Unix形式のファイル 13 | |23.2| インターネット上のファイル 14 | |23.3| 暗号化 15 | |23.4| バイナリファイル 16 | |23.5| 圧縮ファイル 17 | 18 | 次章: |usr_24.txt| 効率的な入力 19 | 前章: |usr_22.txt| ファイルを探す 20 | 目次: |usr_toc.txt| 21 | 22 | ============================================================================== 23 | *23.1* DOS、Mac、Unix形式のファイル 24 | 25 | その昔、旧いテレタイプマシンは改行のために二つの文字を使っていました。一つ目の 26 | 文字 (キャリッジリターン。) でキャリッジを初期位置に戻し、二つ目の文字 (ラ 27 | インフィード。) で用紙を送っていたのです。 28 | コンピュータが登場した頃は記憶装置がとても高価だったので、改行のために二文字も 29 | 使う必要はないと考える人たちがいました。UNIX の人々は または 30 | を行末にのみ使用できると決めました。Apple の人々は を標準としました。 31 | Microsoft Windows の人々は古い を使い続けました。(我々はヘルプテキス 32 | トの改行に を使用します) 33 | このような事情により、異なるシステム間でファイルを交換するときには改行文字の非 34 | 互換が問題になります。Vim はファイル形式を自動的に認識し、それを適切に処理する 35 | ことができます。 36 | 'fileformats' オプションを設定して使用するファイル形式を指定してください。例え 37 | ば、最初に Unix 形式を試し、次に MS-DOS 形式を試すには、次のように設定します: 38 | > 39 | :set fileformats=unix,dos 40 | 41 | ファイルを開いたときのメッセージにファイル形式が表示されることがあります。シス 42 | テム標準のファイル形式だった場合は表示されません。例えば、Unix で Unix 形式の 43 | ファイルを編集するときに注意は必要ないでしょう。しかし、DOS 形式のファイルな 44 | ら注意が必要です。次のようなメッセージが表示されます: 45 | 46 | "/tmp/test" [dos] 3L, 71C ~ 47 | 48 | Mac 形式なら "[mac]" と表示されます。 49 | ファイル形式は 'fileformat' オプションに設定されます。現在のファイル形式を確認 50 | するには、次のコマンドを使います: > 51 | 52 | :set fileformat? 53 | 54 | Vim では次の3つの名前が使われます: 55 | 56 | unix 57 | dos 58 | mac 59 | 60 | 61 | ☆Mac 形式を使う 62 | 63 | Unix では が改行文字です。行の途中に 文字がくることは普通はありませ 64 | ん。ただし、Vi (と Vim) のスクリプトでは 文字が使われることがあります。 65 | Macintosh では が改行文字なので、行の途中に 文字を使うことができま 66 | す。 67 | つまり、 を両方含んでいるファイルは、ファイル形式を 100% 確実に判 68 | 別することはできません。 69 | そのため、Unix では Mac 形式の改行はチェックされません。おそらく、Unix で Mac 70 | 形式のファイルを編集することはあまりないでしょう。どうしても Mac 形式のファイ 71 | ルを使いたい場合は 'fileformats' オプションに "mac" を追加してください。 > 72 | 73 | :set fileformats+=mac 74 | 75 | これで、Mac 形式の改行が認識されるようになります。ただし、正しく認識できないこ 76 | とがあるので注意してください。 77 | 78 | 79 | ☆ファイル形式を指定する 80 | 81 | 古き良き Vi で MS-DOS 形式のファイルを開くと、すべての行末に ^M が付きます。 82 | (^M = )。Vim では改行が自動認識されるので、そのようなことにはなりません。 83 | 敢えて昔の動作を再現したい場合は、ファイル形式を指定してください: > 84 | 85 | :edit ++ff=unix file.txt 86 | 87 | "++" に続いてオプション名を指定することで、コマンドの設定を変更できます。 88 | 'fileformat' なら "++ff" です。もちろん "++ff=mac" または "++ff=dos" と設定す 89 | ることもできます。 90 | この方法ではすべてのオプションを設定できません。現在のところ "++ff" と "++enc" 91 | だけが実装されています。"++fileformat" や "++encoding" のようにフルネームでも 92 | 指定できます。 93 | 94 | 95 | ☆ファイル形式の変換 96 | 97 | 'fileformat' オプションを使ってファイル形式を変換できます。例えば、README.TXT 98 | を MS-DOS 形式から UNIX 形式に変換してみます。まず、MS-DOS 形式のファイルを開 99 | きます: > 100 | 101 | vim README.TXT 102 | 103 | ファイル形式は自動的に認識されます。では、ファイル形式を変換しましょう: > 104 | 105 | :set fileformat=unix 106 | :write 107 | 108 | ファイルは Unix 形式で保存されます。 109 | 110 | ============================================================================== 111 | *23.2* インターネット上のファイル 112 | 113 | 誰かがあなたにメールを出しました。メールには URL が書いてあります。例: 114 | 115 | そのことならここに情報があったよ。 ~ 116 | ftp://ftp.vim.org/pub/vim/README ~ 117 | 118 | 他のプログラムを使ってファイルをダウンロードし、それを Vim で開いても構いませ 119 | んが、もっと簡単な方法があります。カーソルを URL の上に移動して次のコマンドを 120 | 入力してください。 > 121 | 122 | gf 123 | 124 | 運が良ければ、ダウンロード用のプログラムが実行され、ダウンロードされたファイル 125 | が開かれます。新しいウィンドウで開きたい場合は "CTRL-W f" を使ってください。 126 | ダウンロードが失敗してエラーメッセージが表示された場合は、次のような原因が考え 127 | られます。 128 | - URL が間違っている。 129 | - アクセス権限がない。 130 | - ネットワークがダウンしている。 131 | - その他。 132 | 残念ながら、エラーの原因を把握するのは非常に困難です。エラーが起きた場合は手作 133 | 業でファイルをダウンロードしてください。 134 | 135 | インターネット経由のファイルアクセスは netrw プラグインによって実行されます。 136 | 現在、以下の形式の URL が認識可能です。 137 | 138 | ftp:// ftp を使う 139 | rcp:// rcp を使う 140 | scp:// scp を使う 141 | http:// wget を使う (読込専用) 142 | 143 | Vim 自身は通信機能を持っていません。インターネットアクセスは外部プログラムを 144 | 使って実行されます。"ftp" と "rcp" はほとんどの Unix システムで利用できるはず 145 | です。"scp" と "wget" は別途インストールする必要があるかもしれません。 146 | 147 | ":edit" や ":split" などのコマンドでファイルを開くときにも URL を指定できます。 148 | もちろん保存もできます (http:// は不可)。 149 | 150 | パスワードの指定方法など、詳細は|netrw|を参照してください。 151 | 152 | ============================================================================== 153 | *23.3* 暗号化 154 | 155 | 情報を秘密にしたいことがあると思います。例えば、生徒と共有のコンピュータを使っ 156 | てテストを作成している場合、賢い生徒にテスト問題を盗み見られてしまうようでは困 157 | ります。Vim の暗号化機能を使って情報を保護しましょう。 158 | ファイルを暗号化するには、Vim の起動引数に "-x" を指定します。例: > 159 | 160 | vim -x exam.txt 161 | 162 | プロンプトが表示されるので、ファイルを暗号化または複号するための鍵を入力してく 163 | ださい: 164 | 165 | 暗号化用のキーを入力してください: ~ 166 | 167 | 慎重に秘密鍵を入力してください。入力した文字は表示されません。代わりにスター 168 | (*) が表示されます。入力ミスがあると大変なので、念のため、もう一度同じ鍵を入力 169 | してください: 170 | 171 | もう一度同じキーを入力してください: ~ 172 | 173 | ファイルの編集方法は通常のファイルと同じです。秘密にしたいことを書き込んでくだ 174 | さい。ファイルを保存すると、暗号化されて保存されます。 175 | 次にそのファイルを Vim で開くと、鍵を入力するためのプロンプトが表示されます。 176 | 既に暗号化されたファイルを開くときは "-x" 引数を指定する必要はありません。通常 177 | の ":edit" コマンドで開くこともできます。暗号化ファイルにはマジック文字列が埋 178 | め込まれているので、Vim は暗号化ファイルを認識できます。 179 | 他のプログラムで暗号化ファイルを開くと、ゴミが表示されます。たとえ Vim で開い 180 | たとしても、不正な鍵を使った場合は、やはりゴミが表示されます。鍵が正しいかどう 181 | かを判断する機能は Vim にはありません (暗号をより強固なものにするため)。 182 | 183 | 184 | ☆暗号化と解除 185 | 186 | ファイルの暗号化を解除するには、'key' オプションに空文字を設定します: > 187 | 188 | :set key= 189 | 190 | 空に設定してからファイルを保存すると、暗号化されずに保存されます。 191 | 'key' オプションに鍵を設定すれば暗号化を有効にできますが、それは安全ではありま 192 | せん。パスワードがコマンドラインに表示されるので、肩越しに盗み見られてしまいま 193 | す。 194 | 安全に暗号化を有効にするには、":X" コマンドを使ってください。"-x" 引数を使った 195 | ときと同じプロンプトが表示されます: > 196 | 197 | :X 198 | 暗号化用のキーを入力してください: ****** 199 | もう一度同じキーを入力してください: ****** 200 | 201 | 202 | ☆暗号化の限界 203 | 204 | Vimが使用している暗号化アルゴリズムはあまり強くありません。いたずら小僧を撃退 205 | するには十分ですが、時間をたくさん持て余した暗号エキスパートのハックには耐えら 206 | れません。スワップファイルとアンドゥファイルのテキストも暗号化されています。し 207 | かし、これはブロック単位で行われているため、パスワードを解読するために必要な時 208 | 間を短縮する可能性があります。スワップファイルを無効にすることはできますが、ク 209 | ラッシュするとあなたの作業が失われてしまいます。Vimはすべてのテキストをメモリ 210 | 内にのみ保持しているからです。バッファをアンロードした後に元に戻すことができな 211 | いという唯一の欠点とともに、アンドゥファイルを無効にすることができます。 212 | スワップファイルを使用しないようにするには、コマンドラインで -n 引数を指定し 213 | ます。例えば、スワップファイルなしで暗号化されたファイル "file.txt" を編集する 214 | には、次のコマンドを使用します: > 215 | 216 | vim -x -n file.txt 217 | 218 | 既にファイルを編集中なら、次のコマンドでスワップファイルを無効にできます: > 219 | 220 | :setlocal noswapfile 221 | 222 | スワップファイルが無いということは、リカバリできないということです。普段よりま 223 | めにファイルを保存し、クラッシュによるリスクを抑えましょう。 224 | 225 | メモリ上のファイルは暗号化されていません。権限さえあれば誰でもエディタのメモリ 226 | を調べてファイルの内容を知ることができます。 227 | viminfo ファイルを使っている場合、レジスタの中身が平文で保存されることにも注意 228 | が必要です。 229 | 本気でファイルを秘密にしたいなら、ネットワークから切り離したマシンで作業し、強 230 | 力な暗号化ツールを使い、そのマシンを使わないときは金庫に入れておきましょう。 231 | 232 | ============================================================================== 233 | *23.4* バイナリファイル 234 | 235 | Vim はバイナリファイルを編集できます。専用ツールではないので若干の制限はありま 236 | すが、ファイルを読み込み、編集し、保存できます。 237 | Vim の便利な (そして今は邪魔な) 機能を無効にするために、"-b" 引数を付けて Vim 238 | を起動してください: > 239 | 240 | vim -b datafile 241 | 242 | 'binary' オプションがオンになります。これにより、余計な機能が無効になります。 243 | 例えば、'textwidth' が 0 に設定され、自動整形が無効になります。そして、ファイ 244 | ルは Unix 形式で読み込まれます。 245 | 246 | バイナリモードを使うと、例えば実行可能ファイルのメッセージを変更できます。ただ 247 | し、文字を挿入したり削除したりするとプログラムが動かなくなってしまうので注意し 248 | てください。"R" コマンドの置換モードを使いましょう。 249 | 250 | バイナリファイルには非印字可能文字がたくさんあります。これを 16 進数で表示する 251 | には、次のように設定してください: > 252 | 253 | :set display=uhex 254 | 255 | あるいは、調べたい文字にカーソルを移動して "ga" コマンドを使います。例えば、 256 | の上で "ga" を実行すると、次のように表示されます: 257 | 258 | <^[> 27, Hex 1b, Octal 033 ~ 259 | 260 | ファイルに含まれている改行コードが少ない場合、'wrap' オプションをオフにすると 261 | 全体をざっくり眺めることができます: > 262 | 263 | :set nowrap 264 | 265 | 266 | ☆バイト位置 267 | 268 | 次のコマンドで現在のカーソル位置をバイト単位で表示できます: > 269 | 270 | g CTRL-G 271 | 272 | 冗長なメッセージが表示されます: 273 | 274 | 列 9-16 / 9-16; 行 277 / 330; 単語 1806 / 2058; バイト 10580 / 12206 ~ 275 | 276 | 末尾の数字に注目してください。カーソルの位置とファイルの大きさがバイト単位で表 277 | 示されています。'fileformat' の設定による改行の種類もちゃんと考慮されています。 278 | 指定したバイト位置に移動するには "go" コマンドを使います。例えば、2345 バイト 279 | 目に移動するには、次のようにします: > 280 | 281 | 2345go 282 | 283 | 284 | ☆xxdを使う 285 | 286 | 本物のバイナリエディタは、テキスト表示と 16 進表示の二通りの方法でファイルを表 287 | 示します。"xxd" を使ってファイルを変換すれば Vim でも同じように表示できます。 288 | "xxd" は Vim に付属しています。 289 | まず、ファイルをバイナリモードで開いてください: > 290 | 291 | vim -b datafile 292 | 293 | そして、xxd を使って16進数ダンプ形式に変換します: > 294 | 295 | :%!xxd 296 | 297 | テキストは次のように変換されます: 298 | 299 | 0000000: 1f8b 0808 39d7 173b 0203 7474 002b 4e49 ....9..;..tt.+NI ~ 300 | 0000010: 4b2c 8660 eb9c ecac c462 eb94 345e 2e30 K,.`.....b..4^.0 ~ 301 | 0000020: 373b 2731 0b22 0ca6 c1a2 d669 1035 39d9 7;'1.".....i.59. ~ 302 | 303 | あとは、好きなようにテキストを編集してください。普通のテキストを編集するのと同 304 | じです。16 進数部分を変更しても、テキスト部分は更新されません。逆も同様です。 305 | 編集が済んだら変換し、テキストに戻します: > 306 | 307 | :%!xxd -r 308 | 309 | 16 進数部分への変更だけが反映されます。右側のテキスト部分への変更は無視されま 310 | す。 311 | 312 | 詳細は xxd のマニュアルを参照してください。 313 | 314 | ============================================================================== 315 | *23.5* 圧縮ファイル 316 | 317 | これは簡単です。圧縮ファイルを編集するのに特別な操作は必要ありません。ただファ 318 | イルを開くだけです。"gzip" プラグインが展開の面倒をみてくれます。ファイルを保 319 | 存すれば勝手に圧縮してくれます。 320 | 現在、以下の圧縮形式がサポートされています: 321 | 322 | .Z compress 323 | .gz gzip 324 | .bz2 bzip2 325 | 326 | 実際の圧縮と展開には上記のプログラムが使われます。無い場合は別途インストールし 327 | てください。 328 | 329 | ============================================================================== 330 | 331 | 次章: |usr_24.txt| 素早く入力する 332 | 333 | Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl: 334 | -------------------------------------------------------------------------------- /doc/usr_26.jax: -------------------------------------------------------------------------------- 1 | *usr_26.txt* For Vim バージョン 9.1. Last change: 2006 Apr 24 2 | 3 | VIM USER MANUAL - by Bram Moolenaar 4 | 5 | 繰り返し 6 | 7 | 8 | ほとんどの編集作業は手順が決まっています。同じ変更を繰り返したいと思うことはよ 9 | くあります。この章では、変更を繰り返すための便利な方法をいくつか説明します。 10 | 11 | |26.1| ビジュアルモードを使って繰り返す 12 | |26.2| 加算と減算 13 | |26.3| 複数のファイルを変更する 14 | |26.4| シェルスクリプトから Vim を使う 15 | 16 | 次章: |usr_27.txt| 検索コマンドと正規表現 17 | 前章: |usr_25.txt| テキストの整形 18 | 目次: |usr_toc.txt| 19 | 20 | ============================================================================== 21 | *26.1* ビジュアルモードを使って繰り返す 22 | 23 | ビジュアルモードを使えば好きな範囲のテキストを変更できるのでとても便利です。選 24 | 択範囲は強調表示されるので、変更される範囲が正しいかどうか確認できます。しか 25 | し、何度も範囲選択するのは少し面倒です。"gv" コマンドを使えば同じ範囲を再選択 26 | できます。同じ範囲に対して別の変更を加えることができます。 27 | 例えば、"2001" を "2002" に変更し、"2000" を "2001" に変更してみます: 28 | 29 | The financial results for 2001 are better ~ 30 | than for 2000. The income increased by 50%, ~ 31 | even though 2001 had more rain than 2000. ~ 32 | 2000 2001 ~ 33 | income 45,403 66,234 ~ 34 | 35 | まず "2001" を "2002" に変更します。ビジュアルモードでテキストを選択し、次のコ 36 | マンドを実行します: > 37 | 38 | :s/2001/2002/g 39 | 40 | 次に "gv" で同じ範囲を再選択します。カーソルの位置は気にしなくて大丈夫です。そ 41 | して、":s/2000/2001/g" で二回目の変更を加えます。 42 | 同じ方法で何度でも変更を繰り返せます。 43 | 44 | ============================================================================== 45 | *26.2* 加算と減算 46 | 47 | ある数字を変更し、それと同じ数だけ他の数字を変更したいような場合があります。例 48 | えば上の例ではすべての年に 1 を加えました。変更したいすべての年に対して置換コ 49 | マンドを実行しなくても、CTRL-A を使って同じことができます。 50 | 上記例文から、年を検索します: > 51 | 52 | /19[0-9][0-9]\|20[0-9][0-9] 53 | 54 | そして CTRL-A を押すと、年が一つ増えます: 55 | 56 | The financial results for 2002 are better ~ 57 | than for 2000. The income increased by 50%, ~ 58 | even though 2001 had more rain than 2000. ~ 59 | 2000 2001 ~ 60 | income 45,403 66,234 ~ 61 | 62 | "n" で次の年を検索し、"." を押して CTRL-A を繰り返します ("." を押す方が簡単で 63 | すよね)。"n" と "." を繰り返し、全ての年を更新します。 64 | ヒント: 'hlsearch' オプションを設定して検索にヒットした場所を確認できるように 65 | すると、先の方まで見通せるので作業がはかどります。 66 | 67 | 加算する量を増やしたい場合は CTRL-A の前に数値を指定します。例えば、次のテキス 68 | トで: 69 | 70 | 1. item four ~ 71 | 2. item five ~ 72 | 3. item six ~ 73 | 74 | カーソルを "1." のところに動かして次のように入力します: > 75 | 76 | 3 CTRL-A 77 | 78 | "1." が "4." に変わります。"." を使って同じ変更を繰り返せます。 79 | 80 | もう一つ例を示します: 81 | 82 | 006 foo bar ~ 83 | 007 foo bar ~ 84 | 85 | これらの数字に対して CTRL-A を使うと次のようになります: 86 | 87 | 007 foo bar ~ 88 | 010 foo bar ~ 89 | 90 | 7 + 1 = 10? これは、"007" の先頭が 0 で始まっているため、8進数と認識されてし 91 | まったのです。この表記方法は C 言語などで使われています。先頭が 0 で始まってい 92 | る数字を8進数として扱いたくない場合は、次のように設定してください: > 93 | 94 | :set nrformats-=octal 95 | 96 | CTRL-X コマンドを使うと同じ方法で減算できます。 97 | 98 | ============================================================================== 99 | *26.3* 複数のファイルを変更する 100 | 101 | あるプログラムに "x_cnt" という変数があり、それを "x_counter" に変更したい場合 102 | を考えます。変数は複数の C ファイルで使われているので、すべてのファイルを変更 103 | しなければなりません。その方法を説明します。 104 | 関連ファイルを引数リストに加えます: > 105 | 106 | :args *.c 107 | 108 | すべての C ファイルが検索され、一つ目のファイルが開きます。これで、すべてのファ 109 | イルに対して置換コマンドを実行できます: > 110 | 111 | :argdo %s/\/x_counter/ge | update 112 | 113 | ":argdo" コマンドの引数にはコマンドを指定できます。指定されたコマンドは引数リ 114 | スト内のすべてのファイルに対して実行されます。 115 | "%s" はファイル全体を置換するコマンドです。"\" で "x_cnt" を検索してい 116 | ます。"\<" と "\>" を使って単語全体がマッチするようにしています。つまり 117 | "px_cnt" や "x_cnt2" は置換されません。 118 | 置換コマンドに指定された "g" フラグは、一つの行で複数の "x_cnt" が見つかった場 119 | 合に、すべての "x_cnt" を置換するための指定です。"e" フラグは "x_cnt" が見つか 120 | らなかった場合でもエラーメッセージを表示しないための指定です。エラーが起こると 121 | その場で ":argdo" が止まってしまいます。 122 | "|" はコマンドの区切りです。"update" コマンドを使って、変更があったときだけ 123 | ファイルを保存しています。置換する "x_cnt" が見つからなければ保存は実行されま 124 | せん。 125 | 126 | 他にも、すべてのウィンドウに対してコマンドを実行する ":windo" コマンド、すべて 127 | のバッファに対してコマンドを実行する ":bufdo" コマンドがあります。バッファリス 128 | トにはあなたの予想以上にファイルが入っているかもしれないので注意してください。 129 | ":buffers" コマンド (or ":ls") で確認できます。 130 | 131 | ============================================================================== 132 | *26.4* シェルスクリプトから Vim を使う 133 | 134 | 例えば、たくさんのファイルがあって、"-person-" を "Jones" に置換して印刷する必 135 | 要があるとします。どのように実行すればいいでしょう。すべてを手作業で実行するの 136 | も一つの方法ですが、シェルスクリプトを書いて済ます方法もあります。 137 | スクリーンエディタとして Vim を使うとき、ノーマルモードコマンドを使えば簡単に 138 | 処理できます。しかし、バッチ処理したい場合は、ノーマルモードコマンドでは分かり 139 | 難くなってしまいますし、コマンドファイルにコメントも書けません。代わりに Ex 140 | モードを使います。Ex モードのコマンドはバッチファイルを書くのに適しています。 141 | ("EX コマンド" はコマンドライン (:) コマンドの別名です) 142 | 必要となる Ex コマンドは次のとおりです: > 143 | 144 | %s/-person-/Jones/g 145 | write tempfile 146 | quit 147 | 148 | これらのコマンドを "change.vim" に保存します。そして、Vim をバッチモードで起動 149 | します: > 150 | 151 | for file in *.txt; do 152 | vim -e -s $file < change.vim 153 | lpr -r tempfile 154 | done 155 | 156 | for-done ループは間にある行を繰り返し実行するためのシェル構文です。繰り返すた 157 | びに $file 変数に異なるファイル名が設定されます。 158 | 二行目では、Vim を Ex モード (-e 引数) で起動して $file を開き、"change.vim" 159 | からコマンドを読み込んでいます。-s 引数を指定して Vim をサイレントモードにして 160 | いるので、":" プロンプトやその他のプロンプトは表示されません。 161 | "lpr -r tempfile" コマンドで出力結果の "tempfile" を印刷し、そのファイルを削除 162 | しています ("-r" 引数が削除指示)。 163 | 164 | 165 | ☆標準入力からの読み込み 166 | 167 | Vim は標準入力からテキストを読み込めます。標準入力からはコマンドを読み込むのが 168 | 普通なので、そうでないことを Vim に伝えなくてはなりません。ファイルを指定する 169 | 場所に "-" 引数を指定してください。例: > 170 | 171 | ls | vim - 172 | 173 | "ls" コマンドの出力結果を、ファイルに保存せずに直接編集できます。 174 | 標準入力からテキストを読み込む場合でも、"-S" 引数を使えば、スクリプトを読み込 175 | ませることができます。 > 176 | 177 | producer | vim -S change.vim - 178 | 179 | 180 | ☆ノーマルモードスクリプト 181 | 182 | ノーマルモードコマンドをスクリプトの中で使いたい場合は、次のようにすればできま 183 | す: > 184 | 185 | vim -s script file.txt ... 186 | < 187 | Note: 188 | "-s" 引数は "-e" の有無で違う意味になります。この例の場合は、"script" 189 | をノーマルモードコマンドとして実行するという意味になります。"-e" といっ 190 | しょに指定された場合はサイレントモードの指定になり、"-s" にファイルを 191 | 指定することはできません。 192 | 193 | "script" の中のコマンドは、実際に入力したのと同じように実行されます。改行は 194 | として解釈されるので注意してください。次の行へ移動するノーマルモードコ 195 | マンドとして実行されます。 196 | スクリプトを作る方法はスクリプトファイルを開いてコマンドを入力するだけですが、 197 | コマンドの結果を自分で想像しなければならないので、少し難しい作業になります。 198 | 実際に編集をしてみて、その操作手順を記録する方法もあります。次のコマンドを使い 199 | ます: > 200 | 201 | vim -w script file.txt ... 202 | 203 | 入力したすべてのキーが "script" に保存されます。多少のミスがあってもそのまま操 204 | 作を続けて、後からスクリプトを編集できます。 205 | "-w" 引数は既存のスクリプトに追記します。したがって、スクリプトの記録を少しず 206 | つ進めることができます。スクリプトをスクラッチから作成したい場合は "-W" 引数を 207 | 使ってください。既存のファイルが上書きされます。 208 | 209 | ============================================================================== 210 | 211 | 次章: |usr_27.txt| 検索コマンドと正規表現 212 | 213 | Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl: 214 | -------------------------------------------------------------------------------- /doc/usr_31.jax: -------------------------------------------------------------------------------- 1 | *usr_31.txt* For Vim バージョン 9.1. Last change: 2020 Jul 28 2 | 3 | VIM USER MANUAL - by Bram Moolenaar 4 | 5 | GUI を活用する 6 | 7 | 8 | Vim は端末でも動作しますが、GUI 版の Vim にはさらに追加機能があります。ファイ 9 | ルブラウザーを使ってファイルを選択したり、操作を確認するためのダイアログを表示 10 | したり、キーボードショートカットを使ってメニューにアクセスしたりできます。 11 | 12 | |31.1| ファイルブラウザー 13 | |31.2| 操作確認 14 | |31.3| メニューのショートカット 15 | |31.4| Vim ウィンドウの位置とサイズ 16 | |31.5| その他 17 | 18 | 次章: |usr_32.txt| undo ツリー 19 | 前章: |usr_30.txt| プログラムの編集 20 | 目次: |usr_toc.txt| 21 | 22 | ============================================================================== 23 | *31.1* ファイルブラウザー 24 | 25 | [ファイル]/[開く...] メニューを実行するとファイルブラウザーが表示されます。ファ 26 | イルブラウザーを使えば簡単にファイルを探すことができます。しかし例えば、[ウィ 27 | ンドウを分割して開く] などのメニューは用意されていません。[ウィンドウ]/[分割] 28 | を実行してから [ファイル]/[開く...] を実行することもできますが、面倒ですよね。 29 | 他のコマンドと同様、ファイルブラウザーもコマンド入力で開くことができます。例え 30 | ば、split コマンドに "browse" を付けることで、ファイルブラウザーを使うことがで 31 | きます: > 32 | 33 | :browse split 34 | 35 | 選択したファイルが ":split" コマンドで開かれます。キャンセルボタンを押した場合 36 | は何も実行されず、ウィンドウも分割されません。引数にファイルを指定すると、ファ 37 | イルブラウザーの初期ディレクトリとして使われます。例: > 38 | 39 | :browse split /etc 40 | 41 | "/etc" ディレクトリでファイルブラウザーが開きます。 42 | 43 | ":browse" コマンドはファイルを開くためのコマンドと組み合わせて使います。 44 | ディレクトリを指定しなかった場合は、適切なディレクトリが選択されます。初期設定 45 | では、最後に使ったディレクトリが使われます。例えば、":browse split" で 46 | "/usr/local/share" のファイルを開いた場合、次に ":browse" を使ったときは 47 | "/usr/local/share" が使われます。 48 | この動作は 'browsedir' オプションで変更できます。次の値を設定できます: 49 | 50 | last 最後に使ったディレクトリ (初期設定) 51 | buffer カレントバッファと同じディレクトリ 52 | current カレントディレクトリ 53 | 54 | 例えば、カレントディレクトリが "/usr" で、"/usr/local/share/readme" を開いてい 55 | るとき、次のコマンドを実行すると: > 56 | 57 | :set browsedir=buffer 58 | :browse edit 59 | 60 | "/usr/local/share" でブラウザーが開きます。次のように設定すると: > 61 | 62 | :set browsedir=current 63 | :browse edit 64 | 65 | "/usr" で開きます。 66 | 67 | Note: 68 | 大抵のファイルブラウザーではキーボードが使えるので、マウスを使わなくて 69 | も操作できます。操作方法はシステム依存なのでここでは説明しません。Vim 70 | は (可能な限り) 標準のブラウザーを使用します。システムのドキュメントに 71 | キーボードショートカットの説明が載っているはずです。 72 | 73 | GUI を使っていない場合でも、ファイルエクスプローラーを使えばファイルブラウザー 74 | と同じようにファイルを選択できます。ただし、":browse" コマンドは使えません。 75 | |netrw-browse| 参照。 76 | 77 | ============================================================================== 78 | *31.2* 操作確認 79 | 80 | ファイルが上書きされたり変更が失われたりするような操作は、間違って実行してしま 81 | わないように保護されています。何かがマズいことになりそうなときは「本当にその操 82 | 作を実行したい場合は ! を付けてください」というようなエラーメッセージが表示さ 83 | れます。 84 | 同じコマンドを再度入力したくない場合は、ダイアログを使うと便利です。"OK" か 85 | "Cancel" を選ぶだけで動作を指示できます。 86 | 例えば、ファイルを開いて変更を加えてから、次のコマンドで別のファイルを開きま 87 | す: > 88 | 89 | :confirm edit foo.txt 90 | 91 | すると、次のようなダイアログが表示されます: 92 | 93 | +-----------------------------------+ 94 | | | 95 | | ? Save changes to "bar.txt"? | 96 | | | 97 | | YES NO CANCEL | 98 | +-----------------------------------+ 99 | 100 | ファイルを保存したい場合は "YES" を選択します。変更を破棄したい場合は "NO" を 101 | 選択します。戻って状態を確認したい場合は "CANCEL" を選択します。"CANCEL" を選 102 | 択すると元のファイルに戻れます。変更は失われません。 103 | 104 | ":browse" と同様、":confirm" もファイルを開くためのコマンドと組み合わせること 105 | ができます。同時に使うこともできます: > 106 | 107 | :confirm browse edit 108 | 109 | カレントバッファが未保存ならダイアログが表示されます。そして、ファイルブラウ 110 | ザーが表示され、ファイルを選択できます。 111 | 112 | Note: 113 | ダイアログはキーボードで操作できます。一般的には、 キーと矢印キー 114 | で選択を変更し、 で決定します。操作方法はシステムにより異なりま 115 | す。 116 | 117 | ":conform" コマンドは CUI 版の Vim でも使えます。ダイアログの代わりに Vim ウィ 118 | ンドウの下部にメッセージが表示されるので、キーを押して操作を選択してください。 119 | > 120 | :confirm edit main.c 121 | < Save changes to "Untitled"? ~ 122 | [Y]es, (N)o, (C)ancel: ~ 123 | 124 | どれか一つのキーを押すと選択できます。コマンドラインでの入力とは違い、 125 | を押す必要はありません。 126 | 127 | ============================================================================== 128 | *31.3* メニューのショートカット 129 | 130 | キーボードを使えばすべてのコマンドを実行できます。メニューは (複雑な) コマンド 131 | を簡単に使うための手段を提供しますが、キーボードから手を離してマウスを使わなけ 132 | ればなりません。 133 | メニューはキーボードでも選択できます。キーボードが使えるかどうかはシステム依存 134 | ですが、大抵は大丈夫です。メニューを選択するには、メニューの下線付きの文字と 135 | キーを組み合わせて使います。例えば、 (とw) で [ウィンドウ] メ 136 | ニューが表示されます。 137 | [ウィンドウ] メニューの "分割(p)" アイテムは p に下線が付いているので、 138 | キーを押したまま p を押せば選択できます。 139 | 140 | キーでメニューを表示した後は、カーソルキーを使ってメニューを選択できま 141 | す。サブメニューは で開いて で閉じることができます。閉じるのは 142 | でも可能です。 でメニューを実行します。 143 | 144 | キーはメニュー選択とキーマップの両方で使われるので操作が衝突します。 145 | キーの動作は 'winaltkeys' オプションで設定できます。 146 | 初期設定は "menu" です。メニューのショートカットと同じキーはマップできません 147 | が、他のキーはマップすることができます。 148 | 設定を "no" にすると、 キーを使ってメニューを選択できなくなります。メ 149 | ニューを選択するにはマウスを使う必要がありますが、すべての キーをマップ 150 | できます。 151 | 設定を "yes" にすると、 キーはメニューのために使われます。いくつかの 152 | キー操作はメニュー選択以外の動作になることもあります。 153 | 154 | ============================================================================== 155 | *31.4* Vim ウィンドウの位置とサイズ 156 | 157 | 次のコマンドでスクリーン上の Vim ウィンドウの位置を確認できます: > 158 | 159 | :winpos 160 | 161 | このコマンドは GUI でのみ機能します。次のような出力が表示されます: 162 | 163 | Window position: X 272, Y 103 ~ 164 | 165 | 位置は画面のピクセル単位です。数値を指定して Vim ウィンドウを移動することもで 166 | きます。例えば、左に 100 ピクセル移動するには次のようにします: > 167 | 168 | :winpos 172 103 169 | < 170 | Note: 171 | 指定した位置と実際に移動した位置が少しずれることがあります。これはウィ 172 | ンドウの枠があるからです。ウィンドウマネージャーがずれを引き起こします。 173 | 174 | このコマンドを起動スクリプトに書けば好きな位置でウィンドウを開くことができま 175 | す。 176 | 177 | Vim ウィンドウのサイズは文字数で計算されるので、実際の幅はフォントの大きさに依 178 | 存します。次のコマンドで現在のサイズを確認できます: > 179 | 180 | :set lines columns 181 | 182 | サイズを変更するには 'lines' と 'columns' を設定します: > 183 | 184 | :set lines=50 185 | :set columns=80 186 | 187 | CUI 端末でもサイズを取得することができますが、ほとんどの端末ではサイズを変更で 188 | きません。 189 | 190 | X-Windows 版の gvim では、ウィンドウの位置とサイズを起動引数で指定できます: > 191 | 192 | gvim -geometry {width}x{height}+{x-offset}+{y-offset} 193 | 194 | {width} と {height} は文字数です。{x-offset} と {y-offset} はピクセル数です。 195 | 例: > 196 | 197 | gvim -geometry 80x25+100+300 198 | 199 | ============================================================================== 200 | *31.5* その他 201 | 202 | gvim はメールの編集にも使えます。そのためには、メーラーを設定して、gvim をエ 203 | ディタとして選択する必要があります。しかしそれだけではうまくいきません。gvim 204 | がまだ実行中にもかかわらず、メーラーは、gvim が編集を終えたものと判断してしま 205 | います。 206 | gvim が起動するとき、gvim はシェルから分離されます。これは、端末から gvim を起 207 | 動したときに、gvim と端末を平行して使うことができるので便利です。gvim が終了す 208 | るまで待機させたい場合は分離をしないようにする必要があります。それには "-f" 引 209 | 数を使います: > 210 | 211 | gvim -f file.txt 212 | 213 | "-f" は "foreground" (操作中) の意味です。Vim を終了するまでシェルがブロックさ 214 | れます。 215 | 216 | 217 | ☆GUI の遅延スタート 218 | 219 | Unix では gvim を vim として起動することができます。これはシェルの中だけで作業 220 | を完結したい場合に便利です。ファイルの編集中に GUI を使いたくなったら、次のコ 221 | マンドで GUI を開始できます: > 222 | 223 | :gui 224 | 225 | GUI ウィンドウが開いて端末が開放されるので、同じ端末で他の作業を開始できます。 226 | "-f" 引数を指定するとフォアグラウンドで GUI を開始できます。":gui -f" のように 227 | 指定します。 228 | 229 | 230 | ☆gVim の起動ファイル 231 | 232 | gVim を起動すると、gvimrc ファイルが読み込まれます。これは Vim を起動したとき 233 | に使われる vimrc ファイルのようなものです。gvimrc には、GUI を開始したときだけ 234 | 使いたい設定やコマンドを記述します。例えば、'lines' オプションを設定してウィン 235 | ドウのサイズを変更できます: > 236 | 237 | :set lines=55 238 | 239 | 端末ではウィンドウサイズは固定なのでこの設定は必要ありません (サイズの変更をサ 240 | ポートしている xterm もありますが)。 241 | gvimrc は vimrc と同じ場所から検索されます。通常、Unix では "~/.gvimrc"、 242 | MS-Windows では "$VIM/_gvimrc" が使われます。 243 | $MYGVIMRC 環境変数に、読み込まれたファイルの名前が設定されるので、次のコマンド 244 | でそのファイルを開くことができます (ファイルが存在するなら): > 245 | 246 | :edit $MYGVIMRC 247 | 248 | 何らかの理由で通常の gvimrc を使いたくない場合は、"-U" 引数で他のファイルを指 249 | 定できます: > 250 | 251 | gvim -U thisrc ... 252 | 253 | いつもと違う設定で gvim を起動できます。例えばフォントのサイズを変更するなど。 254 | gvimrc を読み込みたくない場合は次のようにします: > 255 | 256 | gvim -U NONE ... 257 | 258 | ============================================================================== 259 | 260 | 次章: |usr_32.txt| undo ツリー 261 | 262 | Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl: 263 | -------------------------------------------------------------------------------- /doc/usr_32.jax: -------------------------------------------------------------------------------- 1 | *usr_32.txt* For Vim バージョン 9.1. Last change: 2010 Jul 20 2 | 3 | VIM USER MANUAL - by Bram Moolenaar 4 | 5 | undo ツリー 6 | 7 | 8 | Vim にはマルチレベルの undo 機能があります。変更を undo してから新しい変更を加 9 | えると、undo ツリーに枝が作成されます。このテキストでは、枝を移動する方法を説 10 | 明します。 11 | 12 | |32.1| ファイル保存時への undo 13 | |32.2| 変更の番号付け 14 | |32.3| ツリーを飛び回る 15 | |32.4| タイムトラベル 16 | 17 | 次章: |usr_40.txt| 新しいコマンドを作る 18 | 前章: |usr_31.txt| GUI の活用 19 | 目次: |usr_toc.txt| 20 | 21 | ============================================================================== 22 | *32.1* ファイル保存時への undo 23 | 24 | いくつかの変更を加えた後で、やっぱり最後にファイルを保存したときの状態に戻りた 25 | いなと思うようなことがときどきあります。そんなときは次のコマンドを使います: > 26 | 27 | :earlier 1f 28 | 29 | "f" は "file" を意味します。 30 | 31 | このコマンドを繰り返し実行してさらに過去に戻ることができます。あるいは、1 より 32 | 大きなカウント指定をすればもっと素早く過去に戻れます。 33 | 34 | 戻り過ぎてしまったときは次のコマンドで進むことができます: > 35 | 36 | :later 1f 37 | 38 | Note: このコマンドは時間を基準にして移動します。これは undo した後で何か変更を 39 | 加えていた場合に重要になってきます。それについては次の節で説明します。 40 | 41 | Note: ここではテキストの保存の話をしています。undo 情報のファイルへの保存につ 42 | いては |undo-persistence| を参照してください。 43 | 44 | ============================================================================== 45 | *32.2* 変更の番号付け 46 | 47 | セクション |02.5| では一本道の undo/redo について説明しましたが、実は、 48 | undo/redo は分岐することができます。変更を undo してから新しい変更を加えると、 49 | 新しい変更が undo ツリーの枝になります。 50 | 51 | "one" というテキストから始めましょう。最初に " too" を追加します。次に too の 52 | 一つ目の 'o' を 'w' に変更します。これで、二つの変更 (番号 1、2) と、テキスト 53 | の三つの状態ができました。 54 | 55 | one ~ 56 | | 57 | change 1 58 | | 59 | one too ~ 60 | | 61 | change 2 62 | | 63 | one two ~ 64 | 65 | 一つだけ変更を undo して "one too" の状態に戻り、"one" を "me" に変更します。 66 | すると、undo ツリーに枝が作成されます。 67 | 68 | one ~ 69 | | 70 | change 1 71 | | 72 | one too ~ 73 | / \ 74 | change 2 change 3 75 | | | 76 | one two me too ~ 77 | 78 | この状態で |u| コマンドを使って undo してみてください。二回 undo すると "one" 79 | に戻ります。|CTRL-R| で redo すると "one too" になります。もう一度 |CTRL-R| を 80 | 実行すると "me too" になります。このように、undo/redo を実行すると、最後に使わ 81 | れた枝を上下に移動できます。 82 | 83 | 重要なのは変更が作成される順番です。undo ツリーにおいては、undo と redo は変更 84 | とはみなされません。それぞれの変更の後にはテキストの新しい状態があります。 85 | 86 | Note: 変更にだけ番号が付きます。上図のツリーに示されている "テキスト" の部分に 87 | は番号が付きません。テキストは、その上の変更番号によって参照されます。ただし、 88 | ツリーを上に移動したときなどは、下の変更番号によって参照されます (どの変更が 89 | undo されたかわかるように)。 90 | {訳注: 例えば上図の "one too" から undo/redo したときのメッセージ: 91 | undo したとき: 1 change; before #1 <- 下の番号が使われる 92 | redo したとき: 1 change; after #3} 93 | 94 | ============================================================================== 95 | *32.3* ツリーを飛び回る 96 | 97 | さて、"one two" の状態を得るにはどうすればいいでしょうか。次のコマンドを使いま 98 | す: > 99 | 100 | :undo 2 101 | 102 | テキストが "one two" (change 2 の下) になります。|:undo| コマンドを使うと、指 103 | 定した変更の下にジャンプできます。 104 | 105 | 新しい変更を加えてみましょう。"one" を "not" に変更します: 106 | 107 | one ~ 108 | | 109 | change 1 110 | | 111 | one too ~ 112 | / \ 113 | change 2 change 3 114 | | | 115 | one two me too ~ 116 | | 117 | change 4 118 | | 119 | not two ~ 120 | 121 | 何か考えが変わって "me too" に戻りたくなった場合は、|g-| コマンドを使います。 122 | このコマンドは時間を基準にして戻ります。ツリーを上下に移動するのではなく、直前 123 | の変更に移動します。 124 | 125 | |g-| を繰り返し実行すると、テキストは次のように変化します: 126 | me too ~ 127 | one two ~ 128 | one too ~ 129 | one ~ 130 | 131 | |g+| を使えば時間を進めることができます: 132 | one ~ 133 | one too ~ 134 | one two ~ 135 | me too ~ 136 | not two ~ 137 | 138 | ジャンプしたい変更番号が分かっているときには |:undo| が便利です。番号がよく分 139 | からないときには |g-| と |g+| が便利です。 140 | 141 | |g-| と |g+| にカウント指定を付けると実行回数を指定できます。 142 | 143 | ============================================================================== 144 | *32.4* タイムトラベル 145 | 146 | しばらくテキストを編集すると、ツリーは大きく成長します。そのとき、数分前のテキ 147 | ストに戻りたいと思うことがあるかもしれません。 148 | 149 | undo ツリーにどのような枝があるかを確認するには次のコマンドを使います: > 150 | 151 | :undolist 152 | < number changes time ~ 153 | 3 2 16 seconds ago 154 | 4 3 5 seconds ago 155 | 156 | 枝に付いている葉の数と、変更された時間が表示されます。今、change 4 の下 ("not 157 | two") にいるとして、10 秒前に戻るには次のようにします: > 158 | 159 | :earlier 10s 160 | 161 | 指定した時間だけ戻り、ツリーの特定の位置へ移動できます。|:earlier| コマンドの 162 | 引数は "m" で分、"h" で時間、"d" で日を指定することもできます。すべての変更を 163 | 元に戻したい場合は大きな値を指定してください: > 164 | 165 | :earlier 100d 166 | 167 | 時間を進めるには |:later| コマンドを使います: > 168 | 169 | :later 1m 170 | 171 | |:earlier| と同様に、"s"、"m"、"h" で単位を指定します。 172 | 173 | undo 情報の詳細を見たい、触りたい、という場合は |undotree()| 関数を使ってくだ 174 | さい。関数が何を返すかは次のコマンドで確認できます: > 175 | 176 | :echo undotree() 177 | 178 | ============================================================================== 179 | 180 | 次章: |usr_40.txt| 新しいコマンドを作る 181 | 182 | Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl: 183 | -------------------------------------------------------------------------------- /doc/usr_43.jax: -------------------------------------------------------------------------------- 1 | *usr_43.txt* For Vim バージョン 9.1. Last change: 2024 Oct 05 2 | 3 | VIM USER MANUAL - by Bram Moolenaar 4 | 5 | ファイルタイプを使う 6 | 7 | 8 | C プログラムやシェルスクリプトなどの特定の種類のファイルを編集するときに、よく 9 | 使うオプション設定やマップがあると思います。それを毎回手作業で設定するのは面倒 10 | ですよね。この章ではそれを自動化する方法を説明します。 11 | 12 | |43.1| ファイルタイププラグイン 13 | |43.2| ファイルタイプを追加する 14 | 15 | 次章: |usr_44.txt| 構文ファイルを作成する 16 | 前章: |usr_42.txt| 新しいメニューを追加する 17 | 目次: |usr_toc.txt| 18 | 19 | ============================================================================== 20 | *43.1* ファイルタイププラグイン *filetype-plugin* 21 | 22 | ファイルタイププラグインの使用方法については既に |add-filetype-plugin| で説明 23 | しました。しかし、標準では最小限の設定しかされないので、それだけでは物足りない 24 | と思います。例えば C ファイルを開いたときに、'softtabstop' オプションを 4 に設 25 | 定したり、三行コメントを挿入するためのマップを定義したりすると便利かもしれませ 26 | ん。2 ステップで設定できます。 27 | 28 | *your-runtime-dir* 29 | 1. 自分のランタイムディレクトリを作成する。Unix なら普通は "~/.vim" です。その 30 | ディレクトリの中に "ftplugin" ディレクトリを作成します: > 31 | 32 | mkdir ~/.vim 33 | mkdir ~/.vim/ftplugin 34 | < 35 | Unix 以外のシステムでは、'runtimepath' オプションを見て、"ftplugin" ディレ 36 | クトリが検索される場所を確認してください: > 37 | 38 | set runtimepath 39 | 40 | < 普通は最初のディレクトリ (最初のコンマの前) を使います。初期設定以外のディ 41 | レクトリを使いたい場合は、|vimrc| ファイルの中で 'runtimepath' オプションを 42 | 設定してディレクトリを追加してください。 43 | 44 | 2. "~/.vim/ftplugin/c.vim" を作成して設定を書きます: > 45 | 46 | setlocal softtabstop=4 47 | noremap c o/**************/ 48 | let b:undo_ftplugin = "setl softtabstop< | unmap c" 49 | 50 | そして、C ファイルを開いてみてください。'softtabstop' オプションが 4 に設定さ 51 | れていますね。しかし、他のファイルを開くと初期設定の 0 にリセットされます。そ 52 | れは ":setlocal" コマンドが使われているからです。このコマンドはバッファの 53 | 'softtabstop' オプションだけを設定します。他のバッファを開くと、開いたバッファ 54 | 用の設定が使用されます。新しいバッファの設定には、初期設定、または最後に 55 | ":set" コマンドで設定された値が使われます。 56 | 57 | 同様に、"\c" マップも他のバッファを開くと見えなくなります。":map " コ 58 | マンドを使うと、カレントバッファの中だけで使えるマップを作成できます。これは 59 | ":map!" や ":vmap" などの他のマップコマンドでも同様です。マップの中の 60 | || は "maplocalleader" 変数の値で置き換えられます。 61 | 62 | b:undo_ftplugin を設定する行はファイルタイプを別の値に設定されていたときのため 63 | に用います。このケースではあなたが望む方法でundoしたいでしょう。 64 | b:undo_ftplugin 変数はコマンドとして実行されます。そのため中の文字は、バック 65 | スラッシュのように特別な意味を持つものがあるので、気をつけてください。 66 | 67 | ファイルタイププラグインの例はこのディレクトリで探すことができます: > 68 | 69 | $VIMRUNTIME/ftplugin/ 70 | 71 | ファイルタイププラグインの作成方法の詳細は |write-plugin| を参照してください。 72 | 73 | ============================================================================== 74 | *43.2* ファイルタイプを追加する 75 | 76 | Vim がファイルタイプを認識しない場合は、設定を追加してください。まず自分用のラ 77 | ンタイムディレクトリを用意する必要があります。上述の |your-runtime-dir| を参照 78 | してください。 79 | 80 | "filetype.vim" というファイルを作成してファイルタイプ用の自動コマンドを設定し 81 | ます。(自動コマンドは |40.3| で説明されています。) 例: > 82 | 83 | augroup filetypedetect 84 | au BufNewFile,BufRead *.xyz setf xyz 85 | augroup END 86 | 87 | ファイル名が ".xyz" で終わるすべてのファイルが "xyz" ファイルタイプとして認識 88 | されるようになります。":augroup" コマンドを使って自動コマンドを 89 | "filetypedetect" グループに置いています。こうすることで、ファイルタイプを認識 90 | するための自動コマンドを ":filetype off" で削除できるようになります。"setf" コ 91 | マンドは 'filetype' を指定されたタイプに設定します。ただし、設定済みの場合は変 92 | 更しません。これによってファイルタイプが二重に設定されないようになっています。 93 | 94 | ファイル名にマッチするパターンはいろいろなものが使えます。ディレクトリ名を含め 95 | ることもできます。|autocmd-patterns| 参照。例えば、"/usr/share/scripts" にある 96 | ファイルが拡張子に関係なくすべて "ruby" ファイルであるなら、次のような設定を追 97 | 加します: > 98 | 99 | augroup filetypedetect 100 | au BufNewFile,BufRead *.xyz setf xyz 101 | au BufNewFile,BufRead /usr/share/scripts/* setf ruby 102 | augroup END 103 | 104 | しかし、/usr/share/scripts/README.txt を開いたとき、それは ruby ファイルではあ 105 | りえませんよね。"*" で終わるパターンの問題は、多くのファイルにマッチしすぎてし 106 | まうことです。この問題を避けるには、'runtimepath' の最後に指定されたディレクト 107 | リに "filetype.vim" を置きます。例えば Unix なら "~/.vim/after/filetype.vim" 108 | などです。 109 | では、~/.vim/filetype.vim にテキストファイルの検出を設定します: > 110 | 111 | augroup filetypedetect 112 | au BufNewFile,BufRead *.txt setf text 113 | augroup END 114 | 115 | このファイルは 'runtimepath' の最初に見つかります。そして、最後に見つかるファ 116 | イル "~/.vim/after/filetype.vim" の中で次の設定をします: > 117 | 118 | augroup filetypedetect 119 | au BufNewFile,BufRead /usr/share/scripts/* setf ruby 120 | augroup END 121 | 122 | 処理の流れは次のようになります。Vim は 'runtimepath' の各ディレクトリから 123 | "filetype.vim" を探します。最初に "~/.vim/filetype.vim" が見つかります。*.txt 124 | を処理する自動コマンドがここで定義されます。次に Vim は $VIMRUNTIME にある 125 | filetype.vim を見つけます ($VIMRUNTIME は 'runtimepath' の中程にあります)。最 126 | 後に ~/.vim/after/filetype.vim が見つかり、/usr/share/scripts の ruby ファイル 127 | を認識するための自動コマンドが追加されます。 128 | /usr/share/scripts/README.txt を開くと、定義された順番で自動コマンドがチェック 129 | されます。*.txt というパターンがマッチするので、"setf text" が実行され、ファイ 130 | ルタイプが "text" に設定されます。ruby 用のパターンもマッチするので、"setf 131 | ruby" が実行されます。しかし、'filetype' は既に設定されているので何も起こりま 132 | せん。 133 | /usr/share/scripts/foobar を開くと、同様に自動コマンドがチェックされます。ruby 134 | のパターンだけがマッチするので、"setf ruby" が実行され、'filetype' が ruby に 135 | 設定されます。 136 | 137 | 138 | ☆内容を見て判断する 139 | 140 | ファイル名からはファイル種別を判断できなくても、内容で判断できる場合がありま 141 | す。例えば、多くのスクリプトファイルは次のような行で始まります: 142 | 143 | #!/bin/xyz ~ 144 | 145 | このスクリプトを認識するには、"scripts.vim" というファイルをランタイムディレク 146 | トリに作ります (filetype.vim と同じ場所です)。中身は次のようになります: > 147 | 148 | if did_filetype() 149 | finish 150 | endif 151 | if getline(1) =~ '^#!.*[/\\]xyz\>' 152 | setf xyz 153 | endif 154 | 155 | 最初に did_filetype() を使って、既にファイル名からファイルタイプが認識されてい 156 | るかどうかを確認し、不要ならファイル内容のチェックを実行しないようにします。こ 157 | れは、"setf" コマンドが意味をなさないときに、ファイルのチェックによって時間を 158 | 無駄に消費しないためです。 159 | scripts.vim は標準ファイルの filetype.vim で定義された自動コマンドによって読み 160 | 込まれます。そのため、次の順番でチェックが実行されます: 161 | 162 | 1. 'runtimepath' の $VIMRUNTIME の前にある filetype.vim 163 | 2. $VIMRUNTIME/filetype.vim の前半部分 164 | 3. 'runtimepath' のすべての scripts.vim 165 | 4. $VIMRUNTIME/filetype.vim の後半部分 166 | 5. 'runtimepath' の $VIMRUNTIME の後にある filetype.vim 167 | 168 | もっと複雑なことがしたい場合は、すべてのファイルにマッチする自動コマンドを追加 169 | して、スクリプトを読み込むなり関数を実行するなりしてファイルの内容をチェックし 170 | てください。 171 | 172 | ============================================================================== 173 | 174 | 次章: |usr_44.txt| 構文ファイルを作成する 175 | 176 | Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl: 177 | -------------------------------------------------------------------------------- /doc/usr_50.jax: -------------------------------------------------------------------------------- 1 | *usr_50.txt* For Vim バージョン 9.1. Last change: 2022 Jun 20 2 | 3 | VIM USER MANUAL - by Bram Moolenaar 4 | 5 | 高度な Vim script の書き方 6 | 7 | 8 | |50.1| 例外 9 | |50.2| 可変長引数の関数 10 | |50.3| ビューの復元 11 | 12 | 次章: |usr_51.txt| プラグインを作る 13 | 前章: |usr_45.txt| 言語を選択する (ロケール) 14 | 目次: |usr_toc.txt| 15 | 16 | ============================================================================== 17 | *50.1* 例外 18 | 19 | まずは例から始めましょう: > 20 | 21 | try 22 | read ~/templates/pascal.tmpl 23 | catch /E484:/ 24 | echo "パスカル用のテンプレートファイルは見つかりませんでした。" 25 | endtry 26 | 27 | `read` コマンドはファイルがなければ失敗します。そのエラーをキャッチして、エラー 28 | メッセージの代わりにより詳細な情報のメッセージを表示しています。 29 | 30 | `try` と `endtry` の間で起きたエラーは例外に変換されます。例外は文字列です。エ 31 | ラーの場合、文字列はエラーメッセージを含んでいます。そして、全てのエラーメッ 32 | セージは番号を持っています。この場合、キャッチしたエラーには "E484:" が含まれ 33 | ています。この番号は変わらないことが保証されています (テキストは翻訳されるなど 34 | して変わる可能性があります)。 35 | 36 | 素敵なエラーメッセージを出力し、Vim は `:endtry` 以降のコマンドの実行も続けま 37 | す。それ以外のキャッチされないエラーに遭遇した場合、スクリプト/関数/マッピング 38 | の実行は中断されます。 39 | 40 | `read` コマンドが他のエラーを起こした場合、"E484:" というパターンはマッチしな 41 | いでしょう。したがって、その例外はキャッチされず、通常のエラーメッセージの表示 42 | とともに実行が中断されます。 43 | 44 | あなたはこれをしたくなるかもしれません: > 45 | 46 | try 47 | read ~/templates/pascal.tmpl 48 | catch 49 | echo "パスカル用のテンプレートファイルは見つかりませんでした。" 50 | endtry 51 | 52 | 全ての例外がキャッチされます。しかし "E21: Cannot make changes, 'modifiable' 53 | is off" のようなまったく異なる問題を示す有効なエラーに気づくことができません。 54 | エラーをキャッチする前によく考えてください! 55 | 56 | もう1つの便利なメカニズムは `finally` コマンドです: > 57 | 58 | var tmp = tempname() 59 | try 60 | exe ":.,$write " .. tmp 61 | exe "!filter " .. tmp 62 | :.,$delete 63 | exe ":$read " .. tmp 64 | finally 65 | delete(tmp) 66 | endtry 67 | 68 | これは、ファイル名の引数をとる "filter" コマンドを使用して、カーソルからファイ 69 | ルの終わりまでの行をフィルタリングします。フィルタリングが動作しても、`try` と 70 | `finally` の間で何か問題が発生した場合や、ユーザーが CTRL-C を押してフィルタリ 71 | ングをキャンセルした場合は、常に `delete(tmp)` 呼び出しが実行されます。これに 72 | より、一時ファイルを残さないようにすることができます。 73 | 74 | `finally` は例外をキャッチせず、エラーはそれ以降の実行を中断します。 75 | 76 | 例外についてさらに詳しい情報はリファレンスマニュアルの|exception-handling|を 77 | 参照してください。 78 | 79 | ============================================================================== 80 | *50.2* 可変長引数の関数 81 | 82 | Vim では、可変数の引数を持つ関数を定義できます。例えば、次のコマンドは、1つの 83 | 引数(start)を持つ必要があり、最大20個の追加の引数を持つことができる関数を定義 84 | します: > 85 | 86 | def Show(start: string, ...items: list) 87 | 88 | 変数 "items" は、追加の引数を含む関数内のリストになります。any型のリストと同じ 89 | ように使用できます。例: > 90 | 91 | def Show(start: string, ...items: list) 92 | echohl Title 93 | echo "start is " .. start 94 | echohl None 95 | for index in range(len(items)) 96 | echon $" Arg {index} is {items[index]}" 97 | endfor 98 | echo 99 | enddef 100 | 101 | このように呼び出しできます: > 102 | 103 | Show('Title', 'one', 'two', 'three') 104 | < start is Title Arg 0 is one Arg 1 is two Arg 2 is three ~ 105 | 106 | これは `echohl` コマンドを使用して以降の `echo` コマンドをハイライトするように 107 | 指定しています。`echohl None` で再度停止します。`echon` コマンドは `echo` と同 108 | 様に動作しますが、改行を出力しません。 109 | 110 | 引数を1つで呼び出したときは "items" リストは空になります。`range(len(items))` 111 | はインデックス付きのリストを返します。`for` がループするものについては、さらに 112 | 詳しく説明します。 113 | 114 | ============================================================================== 115 | *50.3* ビューの復元 116 | 117 | 場合によっては、ジャンプして変更を加えてから、同じ位置とビューに戻りたいことが 118 | あります。例えば、ファイルヘッダーの何かを変更します。これは、次の 2 つの関数 119 | で実行できます: > 120 | 121 | var view = winsaveview() 122 | # 移動して、変更を行う 123 | winrestview(view) 124 | 125 | ============================================================================== 126 | 127 | Next chapter: |usr_51.txt| プラグインを作る 128 | 129 | Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl: 130 | -------------------------------------------------------------------------------- /doc/usr_toc.jax: -------------------------------------------------------------------------------- 1 | *usr_toc.txt* For Vim バージョン 9.1. Last change: 2024 Oct 07 2 | 3 | VIM USER MANUAL - by Bram Moolenaar 4 | 5 | 目次 *user-manual* *usr* 6 | 7 | ============================================================================== 8 | 大見出し一覧 ~ 9 | 10 | 初級編 ~ 11 | |usr_01.txt| マニュアルについて 12 | |usr_02.txt| 初めての Vim 13 | |usr_03.txt| カーソルの移動 14 | |usr_04.txt| 簡単な編集 15 | |usr_05.txt| 設定の変更 16 | |usr_06.txt| 構文強調表示 17 | |usr_07.txt| 複数のファイルを開く 18 | |usr_08.txt| ウィンドウの分割 19 | |usr_09.txt| GUI を使う 20 | |usr_10.txt| 大規模な編集 21 | |usr_11.txt| クラッシュからの復帰 22 | |usr_12.txt| 便利な小技 23 | 24 | 上級編 ~ 25 | |usr_20.txt| コマンドラインを素早く入力する 26 | |usr_21.txt| 中断と再開 27 | |usr_22.txt| ファイルを探す 28 | |usr_23.txt| 特殊なファイルを編集する 29 | |usr_24.txt| 素早く入力する 30 | |usr_25.txt| テキストの整形 31 | |usr_26.txt| 繰り返し 32 | |usr_27.txt| 検索コマンドと正規表現 33 | |usr_28.txt| 折り畳み 34 | |usr_29.txt| プログラムの中を移動する 35 | |usr_30.txt| プログラムの編集 36 | |usr_31.txt| GUI を活用する 37 | |usr_32.txt| undo ツリー 38 | 39 | カスタマイズ ~ 40 | |usr_40.txt| 新しいコマンドを作る 41 | |usr_41.txt| Vim script 書法 42 | |usr_42.txt| 新しいメニューを追加する 43 | |usr_43.txt| ファイルタイプを使う 44 | |usr_44.txt| 構文ファイルを作成する 45 | |usr_45.txt| 言語を選択する (ロケール) 46 | 47 | Vim script を書く ~ 48 | |usr_50.txt| 高度な Vim script の書き方 49 | |usr_51.txt| プラグインを作る 50 | |usr_52.txt| 大きなプラグインを作る 51 | 52 | インストール ~ 53 | |usr_90.txt| Vimのインストール 54 | 55 | 56 | リファレンスマニュアル ~ 57 | |reference_toc| 全コマンドの詳細情報 58 | 59 | シングルファイルで印刷に適した HTML 形式と PDF 形式のユーザーマニュアル(古い版 60 | のもの)が用意されています: 61 | http://vimdoc.sf.net 62 | 63 | ============================================================================== 64 | 初級編 ~ 65 | 66 | 最初から順番に読んで基本的なコマンドを学びましょう。 67 | 68 | |usr_01.txt| マニュアルについて 69 | |01.1| 二つのマニュアル 70 | |01.2| Vim の準備 71 | |01.3| チュートリアル 72 | |01.4| 著作権 (copyright) 73 | 74 | |usr_02.txt| 初めての Vim 75 | |02.1| Vim の起動方法 76 | |02.2| 文字の挿入 77 | |02.3| カーソル移動 78 | |02.4| 文字の削除 79 | |02.5| undo (取り消し) と redo (やり直し) 80 | |02.6| 他の編集コマンド 81 | |02.7| Vim の終了 82 | |02.8| ヘルプの引き方 83 | 84 | |usr_03.txt| カーソルの移動 85 | |03.1| 単語ごとの移動 86 | |03.2| 行頭、行末への移動 87 | |03.3| 文字への移動 88 | |03.4| カッコの対応 89 | |03.5| 特定の行への移動 90 | |03.6| 現在の場所を表示 91 | |03.7| スクロール 92 | |03.8| 簡単な検索 93 | |03.9| 簡単なパターン検索 94 | |03.10| マークの使用 95 | 96 | |usr_04.txt| 簡単な編集 97 | |04.1| オペレータとモーション 98 | |04.2| テキストの変更 99 | |04.3| 変更の繰り返し 100 | |04.4| ビジュアルモード 101 | |04.5| テキストの移動 102 | |04.6| テキストのコピー 103 | |04.7| クリップボード 104 | |04.8| テキストオブジェクト 105 | |04.9| 置換モード 106 | |04.10| 終わりに 107 | 108 | |usr_05.txt| 設定の変更 109 | |05.1| vimrc ファイル 110 | |05.2| 見本 vimrc ファイルの解説 111 | |05.3| defaults.vim ファイルの解説 112 | |05.4| 簡単なマップ 113 | |05.5| パッケージの追加 114 | |05.6| プラグインの追加 115 | |05.7| ヘルプファイルの追加 116 | |05.8| オプションウィンドウ 117 | |05.9| よく使うオプション 118 | 119 | |usr_06.txt| 構文強調表示 120 | |06.1| 構文強調表示を有効にする 121 | |06.2| 色がつかない?変な色になる? 122 | |06.3| 色を変える 123 | |06.4| カラーを使う?使わない? 124 | |06.5| カラー印刷 125 | |06.6| 詳しい情報 126 | 127 | |usr_07.txt| 複数のファイルを開く 128 | |07.1| 他のファイルを開く 129 | |07.2| ファイルのリスト 130 | |07.3| 他のファイルにジャンプする 131 | |07.4| バックアップファイル 132 | |07.5| 他のファイルにテキストをコピーする 133 | |07.6| 読み込み専用モード 134 | |07.7| ファイル名の変更 135 | 136 | |usr_08.txt| ウィンドウの分割 137 | |08.1| ウィンドウの分割 138 | |08.2| ウィンドウを分割してファイルを開く 139 | |08.3| ウィンドウのサイズ 140 | |08.4| 縦分割 141 | |08.5| ウィンドウの移動 142 | |08.6| 全ウィンドウに対するコマンド 143 | |08.7| vimdiff で差分を表示する 144 | |08.8| その他 145 | |08.9| タブページ 146 | 147 | |usr_09.txt| GUIを使う 148 | |09.1| GUI の部品 149 | |09.2| マウスを使う 150 | |09.3| クリップボード 151 | |09.4| 選択モード 152 | 153 | |usr_10.txt| 大規模な編集 154 | |10.1| 操作の記録と再実行 155 | |10.2| 置換 156 | |10.3| コマンドの範囲指定 157 | |10.4| global コマンド 158 | |10.5| 矩形選択 159 | |10.6| ファイルの一部の保存と読み込み 160 | |10.7| テキストの整形 161 | |10.8| 大文字/小文字の変換 162 | |10.9| 外部プログラムを使う 163 | 164 | |usr_11.txt| クラッシュからの復帰 165 | |11.1| リカバリの基本 166 | |11.2| スワップファイルはどこにある? 167 | |11.3| クラッシュした? 168 | |11.4| さらなる情報 169 | 170 | |usr_12.txt| 便利な小技 171 | |12.1| 単語を置換する 172 | |12.2| "Last, First" を "First Last" に変更する 173 | |12.3| リストをソートする 174 | |12.4| 行を逆順に並べ替える 175 | |12.5| 単語を数える 176 | |12.6| マニュアルを引く 177 | |12.7| 空白を取り除く 178 | |12.8| 単語が使われている場所を検索する 179 | 180 | ============================================================================== 181 | 上級編 ~ 182 | 183 | これらの項目は好きな順番で読んでも構いません。 184 | 185 | |usr_20.txt| コマンドラインを素早く入力する 186 | |20.1| コマンドライン編集 187 | |20.2| コマンドライン短縮入力 188 | |20.3| コマンドライン補完 189 | |20.4| コマンドライン履歴 190 | |20.5| コマンドラインウィンドウ 191 | 192 | |usr_21.txt| 中断と再開 193 | |21.1| サスペンドとレジューム 194 | |21.2| シェルコマンドの実行 195 | |21.3| viminfo に情報を記録する 196 | |21.4| セッション 197 | |21.5| ビュー 198 | |21.6| モードライン 199 | 200 | |usr_22.txt| ファイルを探す 201 | |22.1| ファイルブラウザー 202 | |22.2| カレントディレクトリ 203 | |22.3| ファイルを探す 204 | |22.4| バッファリスト 205 | 206 | |usr_23.txt| 特殊なファイルを編集する 207 | |23.1| DOS、Mac、Unix形式のファイル 208 | |23.2| インターネット上のファイル 209 | |23.3| 暗号化 210 | |23.4| バイナリファイル 211 | |23.5| 圧縮ファイル 212 | 213 | |usr_24.txt| 素早く入力する 214 | |24.1| 修正する 215 | |24.2| 対応する括弧を表示する 216 | |24.3| 補完 217 | |24.4| 挿入を繰り返す 218 | |24.5| 隣の行からコピーする 219 | |24.6| レジスタを挿入する 220 | |24.7| 短縮形 221 | |24.8| 特殊な文字を入力する 222 | |24.9| ダイグラフ (Digraph) 223 | |24.10| ノーマルモードコマンド 224 | 225 | |usr_25.txt| テキストの整形 226 | |25.1| 行を改行する 227 | |25.2| テキストの位置揃え 228 | |25.3| インデントとタブ 229 | |25.4| 長い行の扱い 230 | |25.5| 表の編集 231 | 232 | |usr_26.txt| 繰り返し 233 | |26.1| ビジュアルモードを使って繰り返す 234 | |26.2| 加算と減算 235 | |26.3| 複数のファイルを変更する 236 | |26.4| シェルスクリプトから Vim を使う 237 | 238 | |usr_27.txt| 検索コマンドと正規表現 239 | |27.1| 大文字と小文字を区別しない 240 | |27.2| ファイルの端で折り返す 241 | |27.3| オフセット 242 | |27.4| 繰り返しマッチ 243 | |27.5| 選択肢 244 | |27.6| 文字範囲 245 | |27.7| 文字クラス 246 | |27.8| 改行記号にマッチ 247 | |27.9| 例 248 | 249 | |usr_28.txt| 折り畳み 250 | |28.1| 折り畳みとは 251 | |28.2| 手動で折り畳む 252 | |28.3| 折り畳みを使って作業する 253 | |28.4| 折り畳みの保存と復元 254 | |28.5| インデントで折り畳む 255 | |28.6| マーカーで折り畳む 256 | |28.7| 構文で折り畳む 257 | |28.8| スクリプトで折り畳む 258 | |28.9| 変更のない行を折り畳む 259 | |28.10| どれを使えばいいの? 260 | 261 | |usr_29.txt| プログラムの中を移動する 262 | |29.1| タグを使う 263 | |29.2| プレビューウィンドウ 264 | |29.3| プログラムの中を移動する 265 | |29.4| グローバル識別子を検索する 266 | |29.5| ローカル識別子を検索する 267 | 268 | |usr_30.txt| プログラムの編集 269 | |30.1| コンパイル 270 | |30.2| C 言語系インデント 271 | |30.3| インデント設定の自動化 272 | |30.4| その他のインデント 273 | |30.5| タブとスペース 274 | |30.6| コメントの整形 275 | 276 | |usr_31.txt| GUI を活用する 277 | |31.1| ファイルブラウザー 278 | |31.2| 操作確認 279 | |31.3| メニューのショートカット 280 | |31.4| Vim ウィンドウの位置とサイズ 281 | |31.5| その他 282 | 283 | |usr_32.txt| undo ツリー 284 | |32.1| ファイル保存時への undo 285 | |32.2| 変更の番号付け 286 | |32.3| ツリーを飛び回る 287 | |32.4| タイムトラベル 288 | 289 | ============================================================================== 290 | カスタマイズ ~ 291 | 292 | Vim の動作を好きなように変更できます。 293 | 294 | |usr_40.txt| 新しいコマンドを作る 295 | |40.1| キーマッピング 296 | |40.2| コマンドラインコマンドを定義する 297 | |40.3| 自動コマンド 298 | 299 | |usr_41.txt| Vim script 書法 300 | |41.1| はじめに 301 | |41.2| 変数 302 | |41.3| 式 303 | |41.4| 条件式 304 | |41.5| 式を実行する 305 | |41.6| 関数を使う 306 | |41.7| 関数を定義する 307 | |41.8| リストと辞書 308 | |41.9| 空白 309 | |41.10| 行継続 310 | |41.11| コメント 311 | |41.12| ファイルフォーマット 312 | 313 | |usr_42.txt| 新しいメニューの追加 314 | |42.1| はじめに 315 | |42.2| メニューコマンド 316 | |42.3| その他いろいろ 317 | |42.4| ツールバーとポップアップメニュー 318 | 319 | |usr_43.txt| ファイルタイプを使う 320 | |43.1| ファイルタイププラグイン 321 | |43.2| ファイルタイプを追加する 322 | 323 | |usr_44.txt| 構文ファイルを作成する 324 | |44.1| 基本的な syntax コマンド 325 | |44.2| キーワード 326 | |44.3| マッチ 327 | |44.4| リージョン 328 | |44.5| 構文アイテムを入れ子にする 329 | |44.6| グループの並び 330 | |44.7| その他の引数 331 | |44.8| クラスタ 332 | |44.9| 他の構文ファイルをインクルードする 333 | |44.10| シンクロナイズ 334 | |44.11| 構文ファイルをインストールする 335 | |44.12| ポータブルな文法定義ファイル 336 | 337 | |usr_45.txt| 言語を選択する (ロケール) 338 | |45.1| メッセージの言語 339 | |45.2| メニューの言語 340 | |45.3| 他のエンコーディングを使う 341 | |45.4| 異なるエンコーディングのファイルを編集する 342 | |45.5| 言語のテキストを入力する 343 | 344 | ============================================================================== 345 | Vim script を書く ~ 346 | 347 | |usr_50.txt| 高度な Vim script の書き方 348 | |50.1| 例外 349 | |50.2| 可変長引数の関数 350 | |50.3| ビューの復元 351 | 352 | |usr_51.txt| プラグインを作る 353 | |51.1| 一般的なプラグインを書く 354 | |51.2| ファイルタイププラグインを書く 355 | |51.3| コンパイラプラグインを書く 356 | |51.4| Vim script を配布する 357 | 358 | |usr_52.txt| 大きなプラグインを作る 359 | |52.1| エクスポートとインポート 360 | |52.2| オートロード 361 | |52.3| インポート/エクスポートなしのオートロード 362 | |52.4| 他に使えるメカニズム 363 | |52.5| 旧来のスクリプトから Vim9 script を使う 364 | |52.6| Vim9 サンプル: comment および highlight-yank プラグイン 365 | 366 | ============================================================================== 367 | インストール ~ 368 | 369 | インストール方法を説明します。 370 | 371 | |usr_90.txt| Vim のインストール 372 | |90.1| Unix 373 | |90.2| MS-Windows 374 | |90.3| アップグレード 375 | |90.4| よくある問題 376 | |90.5| アンインストール 377 | 378 | ============================================================================== 379 | 380 | Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl: 381 | -------------------------------------------------------------------------------- /doc/vietnamese.jax: -------------------------------------------------------------------------------- 1 | *vietnamese.txt* For Vim バージョン 9.1. Last change: 2024 Dec 04 2 | 3 | 4 | VIMリファレンスマニュアル by Phạm Bình An 5 | 6 | 7 | Vim でのベトナム語サポート *vietnamese* *Vietnamese* 8 | 9 | 1. はじめに |vietnamese-intro| 10 | 2. ベトナム語キーマップ |vietnamese-keymap| 11 | 3. ローカライゼーション |vietnamese-l10n| 12 | 13 | =============================================================================== 14 | 1. はじめに 15 | *vietnamese-intro* 16 | Vim は、以下の方法でベトナム語をサポートしている: 17 | 18 | - 組み込みの |vietnamese-keymap| により、US キーボードレイアウトを使用して 19 | |Insert-mode| および |search-commands| でベトナム語の文字を入力できる。 20 | - ベトナム語へのローカライズ。|vietnamese-l10n| を参照。 21 | 22 | =============================================================================== 23 | 2. ベトナム語のキーマップ 24 | *vietnamese-keymap* 25 | 言語を切り替えるには、システムネイティブのキーボードスイッチャーを使用するか、 26 | 以下のように Vim ディストリビューションに含まれるベトナム語キーマップのいずれ 27 | かを使用する > 28 | :set keymap=vietnamese-telex_utf-8 29 | < 30 | 詳細については |'keymap'| を参照。 31 | 32 | 後者の場合、ベトナム語入力メソッドエンジン (IME) がない場合でも、または Vim を 33 | システム全体のキーボード設定から独立させたい場合 (|'imdisable'| が設定されてい 34 | る場合) でも、ベトナム語を入力できる。また、キーを |:map| してキーボードを切り 35 | 替えることもできる。 36 | 37 | Vim には次のベトナム語キーマップが付属している: 38 | - *vietnamese-telex_utf-8* Telex インプットメソッド、|UTF-8| エンコード。 39 | - *vietnamese-viqr_utf-8* VIQR インプットメソッド、|UTF-8| エンコード。 40 | - *vietnamese-vni_utf-8* VNI インプットメソッド、|UTF-8| エンコード。 41 | 42 | *vietnamese-ime_diff* 43 | これらのキーマップは最小限に抑えるように設計されているため、対応するインプット 44 | メソッドのすべての機能をサポートしているわけではない。違いは以下のとおり: 45 | 46 | - 各文字は個別に入力することしかできず、最初に基本文字を入力し、その後に分音記 47 | 号を入力する。例えば、|vietnamese-vni_utf-8| を使用して `nến` という単語を入 48 | 力するには、`nen61` や `ne6n1` ではなく、`ne61n` と入力する必要がある 49 | - 発音区別符号が 1 つ以上ある文字の場合、声調記号の前に母音記号を入力する必要 50 | がある。例えば、|vietnamese-telex_utf-8| を使用して `ồ` と入力するには、 51 | `ofo` ではなく `oof` と入力する必要がある。 52 | - |vietnamese-telex_utf-8| では、発音区別記号付きの大文字を生成するには、すべ 53 | て大文字を入力する必要がある。例えば、`Ừ` は `UWF` と入力する必要がある。 54 | - |vietnamese-telex_utf-8| を使用すると、VNI からのエスケープ文字 `\` が追加さ 55 | れるため、曖昧さを引き起こす可能性のある `ooo` の入力が削除される。例えば、 56 | 単語 `Đoòng` を入力するには、`DDo\ofng` と入力する。 57 | - `w[]{}` スタイルを含む Simple Telex (v1 と v2 の両方) はサポートされていな 58 | い。 59 | - Telex の `z` または VNI と VIQR の `0` を使用して分音記号を削除することはサ 60 | ポートされていない。 61 | 62 | =============================================================================== 63 | 3. ローカライゼーション 64 | *vietnamese-l10n* 65 | Vim の |messages| はベトナム語でも使用できる。メッセージをベトナム語で表示した 66 | い場合は、ベトナム語ロケールの名前を引数として |:language| コマンドを実行する。 67 | 例えば、 > 68 | :language vi_VN 69 | < または > 70 | :language vi_VN.utf-8 71 | < 72 | Note ベトナム語ロケールの名前はシステムによって異なる場合があることに注意。詳 73 | 細については |mbyte-first| を参照。 74 | 75 | |vimtutor| はベトナム語でも使用可能である。ベトナム語で Vimtutor を起動するに 76 | は、端末で次のコマンドを実行する: > 77 | vimtutor vi 78 | < 79 | =============================================================================== 80 | vim:tw=78:ts=8:noet:ft=help:norl: 81 | -------------------------------------------------------------------------------- /doc/workshop.jax: -------------------------------------------------------------------------------- 1 | *workshop.txt* For Vim バージョン 9.1. Last change: 2019 Jan 17 2 | 3 | 4 | VIM リファレンスマニュアル by Gordon Prieur 5 | 6 | 7 | Sun Visual WorkShop との連携機能 *workshop* *workshop-support* 8 | 9 | WorkShopのサポートは、2019年1月のpatch 8.1.0763 で削除された。 10 | この製品は長い間入手できず、|NetBeans| に置き換えられた。 11 | 12 | 13 | vim:tw=78:ts=8:noet:ft=help:norl: 14 | -------------------------------------------------------------------------------- /syntax/help_ja.vim: -------------------------------------------------------------------------------- 1 | scriptencoding utf-8 2 | 3 | syn match helpVim "Vim バージョン [0-9.a-z]\+" 4 | syn match helpVim "VIMリファレンス.*" 5 | syn region helpNotVi start="{Vim" start="{|++\?[A-Za-z0-9_/()]\+|" end="}" contains=helpLeadBlank,helpHyperTextJump 6 | syn match helpWarning "\<警告:" 7 | syn region helpTransNote start="{訳注:" end="}" contains=helpLeadBlank,helpHyperTextJump,helpBracesInTransNote 8 | syn region helpBracesInTransNote start=".{"ms=e end="}."me=s transparent contained contains=helpLeadBlank,helpHyperTextJump,helpBracesInTransNote 9 | syn match helpSpecial "[。、]\zs\[[-a-z^A-Z0-9_]\{2,}]" 10 | hi def link helpTransNote Special 11 | if has("conceal") 12 | syn region helpHeadline matchgroup=helpIgnore start="^☆\(\s\)\@!" end="\ze\(\s\+\*\|$\)" keepend concealends 13 | else 14 | syn region helpHeadline matchgroup=helpIgnore start="^☆\(\s\)\@!" end="\ze\(\s\+\*\|$\)" keepend 15 | endif 16 | --------------------------------------------------------------------------------