Vim6スクリプトお勉強スレat UNIX
Vim6スクリプトお勉強スレ - 暇つぶし2ch87:1
02/01/08 00:32
逆転裁判(GBA)をやっとクリアした今日この頃。

じゃ、foo.vim解読の続き。

>>86の別のやり方。

command! -nargs=* Range
 \ | execute substitute(<q-args>, '\(\S\+\)\s\+\(\S\+\)\(.*\)',
 \ 'let Range_range=\1.",".\2', "")
 \ | execute Range_range . substitute(<q-args>, '\S\+\s\+\S\+', "", "")
 \ | unlet Range_range

a~b行目を置換するには?
:let a = 2
:let b = 4
:Range a b s/foo/bar/g

ごちゃごちゃしている正規表現もよく見れば簡単。
\s は空白。\S は空白以外。+は前の文字が1個以上。
()で囲ったのは置換文字列内で順に \1 \2 とかで参照出来る。
+ と () には \ を付ける。

んで、let Range_range=a.",".b が実行されて変数が数値に展開されて、
execute "2,4" . " s/foo/bar/g" となると。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch