download

Sign in or create your account | Project List | Help

download Git Source Tree

Root/interval-linecommand.vim

1:scriptencoding utf-8
2:if &cp || exists("g:loaded_interval_linecommand")
3    :finish
4:endif
5:let g:loaded_interval_linecommand = 1
6
7" escape user setting
8:let s:save_cpo = &cpo
9:set cpo&vim
10
11" return first line number
12:function! g:IntervalLineCommand_GetFirstLine() range
13    :return a:firstline
14:endfunction
15
16" cabbrev
17:cabbrev ga g/^/
18:cabbrev ga2 g/^/ if ((line(".") - <C-R>=g:IntervalLineCommand_GetFirstLine()<CR> + 1) % 2 == 1) <BAR>
19:cabbrev ga3 g/^/ if ((line(".") - <C-R>=g:IntervalLineCommand_GetFirstLine()<CR> + 1) % 3 == 1) <BAR>
20:cabbrev ga4 g/^/ if ((line(".") - <C-R>=g:IntervalLineCommand_GetFirstLine()<CR> + 1) % 4 == 1) <BAR>
21:cabbrev ga5 g/^/ if ((line(".") - <C-R>=g:IntervalLineCommand_GetFirstLine()<CR> + 1) % 5 == 1) <BAR>
22
23:let &cpo = s:save_cpo
24:finish
25
26==============================================================================
27interval-linecommand.vim : 一定間隔の行に、コマンド実行の準備を行うスクリプト。
28------------------------------------------------------------------------------
29$VIMRUNTIMEPATH/plugin/interval-linecommand.vim
30==============================================================================
31author : 小見 拓
32url : http://nanasi.jp/
33email : mail@nanasi.jp
34version : 2009/12/19 16:00:00
35==============================================================================
36一定間隔のバッファの行に対してコマンドを実行する準備を整えます。
37
381. コマンドを実行したい範囲を指定してから、
39    「:」を押下してコマンドモードになりましょう。
40
412. 用意されている機能はコマンドモード用の略称で
42    ga、ga2、ga3、ga4、ga5と定義されています。
43    ・選択行全てにコマンドを実行したい場合は、ga
44    ・選択行に1行おきにコマンドを実行したい場合は、ga2
45    ・選択行に3行ごとにコマンドを実行したい場合は、ga3
46    ・選択行に4行ごとにコマンドを実行したい場合は、ga4
47    ・選択行に5行ごとにコマンドを実行したい場合は、ga5
48    と入力し、次にスペースを入力しましょう。
49    略称が展開されます。
50
51    :'<,'>ga<SPACE>
52        "# => :'<,'>g/^/
53
54    :'<,'>ga2<SPACE>
55        "# => :'<,'>g/^/ if ((line(".") - 53 - 1) % 2 == 1) |
56
57    :'<,'>ga3<SPACE>
58        "# => :'<,'>g/^/ if ((line(".") - 53 - 1) % 3 == 1) |
59
60    :'<,'>ga4<SPACE>
61        "# => :'<,'>g/^/ if ((line(".") - 53 - 1) % 4 == 1) |
62
63    :'<,'>ga5<SPACE>
64        "# => :'<,'>g/^/ if ((line(".") - 53 - 1) % 5 == 1) |
65
663. 展開された略称の後に、実行したいコマンドを入力してください。
67
68    " 例1. 1行間隔で置換
69        :'<,'>g/^/ if ((line(".") - 53 - 1) % 2 == 1) | s/before/after/
70
71    " 例2. 3行ごとに、ノーマルモードのコマンドで行を削除
72        :'<,'>g/^/ if ((line(".") - 53 - 1) % 3 == 1) | norm D
73
74    この説明がよくわからない場合は、
75    次のページを見ると、このスクリプトの使い方がわかるかもしれません。
76
77    " ファイル内の各行ごとに編集処理を実行する、何行かおきに編集処理を実行する。
78    http://nanasi.jp/articles/howto/editing/global-head.html
79
80
81==============================================================================
82" vim: set et ft=vim nowrap :
83

Archive Download this file

Branches:
master