Vim6 Part10
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@w3m
NGNGhttp://www.vim.org/
前スレ
http://pc5.2ch.net/test/read.cgi/unix/1086135625/
関連情報は>>2-7あたり。
0402名無しさん@お腹いっぱい。
NGNG:%s/foo\n\(.*\n\)*bar/\=substitute(submatch(0), "\\n", "", "g")/
0405名無しさん@お腹いっぱい。
NGNG止まってたきもする。しらんけん。
0406399
NGNGCeleron-667MHzだけど・・・
0407399
NGNGおとそうかな・・
でも編集中だったし・・
泣きそう・・
激遅になります。止めた方がいいです。
C-c で停止させて、 :q! で終了してください。
(1) SED の場合、改行削除。( sed 詳しくないけど )
[prompt]$ cat a.sed
:loop
$!{
N
s/\n//
b loop
}
[prompt]$ sed -f a.sed in.txt > out.txt
(2) Ruby の場合
ruby -e 'print(ARGF.read.gsub(/\n/,""))' in.txt > out.txt
あと、vim の行の連結は、通常 J または gJ を使います。
:h gJ
単なる改行の削除なので、gJ を使います。
これも、広範囲の場合は使えません。
0411名無しさん@お腹いっぱい。
NGNGそういうのもいいと思うんだけど
彼のやりたいことは、ファイルの中のまっちした部分にだから
それだと、都合が悪いのでは?
0412名無しさん@お腹いっぱい。
NGNG0413名無しさん@お腹いっぱい。
NGNG0414399
NGNG私のやりたいことは
<table border="1" bordercolor="black" width="640">
<tr><td colspan="2">hoge</td></tr>
<tr><td><center>./hoge.gif</center></td><td>
A:<br>
B:<br>
<br></tr>
<tr><td colspan="2">hoge</td></tr>
</table>
<table border="1" bordercolor="black" width="640">
<tr><td colspan="2">huge</td></tr>
<tr><td><center>./huge.gif</center></td><td>
A:<br>
B:<br>
C:<br>
<br></tr>
<tr><td colspan="2">huge</td></tr>
</table>
等と数百個(上記のようなtableが)記述されているファイルがあり
それを 一つのテーブルごとに1行にしたいのです
すいませんがお力を貸していただきたいです
よろしくお願いします
0415KoRoN@Vim%Chalice ◆8XALICEsdk
NGNGVimにとってはマッチそのものより、連結後に1行が長くなることのほうがボトルネッ
クっぽいです。
>>413
Perl
>>414
特定のキーワードで良いのならば
:/<table>/,/<\/table>/join
みたいな形の方が良さそうです。402の正規表現は.*が*で囲まれるという、バックト
ラックが多発する典型的パターンに近いので、時間がかかっても当然という印象です。
0416名無しさん@お腹いっぱい。
NGNGありがとうございます
joinなんていうものがあるのですね
しらなかったです
ですが それだと1つしか連結されないです
%s///
みたく すべての行をするようなことはできないのでしょうか?
0417名無しさん@お腹いっぱい。
NGNGperl -p -e 's/\n//g' hoge.html | sed -e 's/\(table>\)/\1\n/g'
0418名無しさん@お腹いっぱい。
NGNG:%s@<table\>.\{-}>\_.\{-}</table>@\=substitute(submatch(0), "\\n", "", "g")@
0419KoRoN@Vim%Chalice ◆8XALICEsdk
NGNG:help multi-repeat
> To repeat a non-Ex command, you can use the ":normal" command:
このあたりを参照してください。
>>418
\=も遅くなる1つの要因です。あと.\{-}>\_.\{-}の部分がホトンド意味無いかも。最
短マッチ\{-}を使いたくなる気持ちはわかるんですが、なるべく[^>]のような否定パ
ターンを使うほうが、マッチ自体は高速になります。
[prompt]$ cat a.sed
/^ *<table\>/,/^ *<\/table>/{
H
/<\/table>/!d
g
s/\n//g
}
[prompt]$ sed -f a.sed in.html > out.html
0421名無しさん@お腹いっぱい。
NGNGgvim +70 --remote-silent hoge.txt
とやってるんですが上手くいきません。
0422KoRoN@Vim%Chalice ◆8XALICEsdk
NGNG:help --remote-silent
> --remote-silent [+{cmd}] {file} ...
0423名無しさん@お腹いっぱい。
NGNGいい方法はないでしょうか?
0424名無しさん@お腹いっぱい。
NGNG0425名無しさん@お腹いっぱい。
NGNGという感じでしょうか.
/みたいに1個1個まわっていくのは無理ですかね?
0426名無しさん@お腹いっぱい。
NGNGコマンドモードの前回コマンドを繰り返す方法ってある?
それがあれば425の要求も満たせそうな気ガス
0427名無しさん@お腹いっぱい。
NGNG@:
0428名無しさん@お腹いっぱい。
NGNGuim-fepの開発者です。
uim側を修正して、0が直接入力で1がひらがなになるようにしまし
たので、KaoriYa版のuim-fepのサポートを継続してくださるようお
願いいたします。
0429名無しさん@お腹いっぱい。
NGNGあるアプリケーション(mozexというmozilla拡張機能--textareaを外部エディタで編集できる)
から、vimを起動するときに、fencをutf-8にしたいので、
\path\to\gvim.exe -c "set fenc=utf-8" %t
としているのですが、
ファイルが空の場合、fencが設定されません。
ファイルが空の場合でもfencを設定するにはどうすればよいかご教授ください。
fencs=ucs-bom,ucs-21e,iso-2022-jp-3,utf-8,euc-jisx0213,euc-jp
をvimrcでは設定しています。
0430KoRoN@Vim%Chalice ◆8XALICEsdk
NGNGAnthyとVimとの間で板ばさみにしてしまって申し訳ありません。サポート継続の件は了
解しました。理由さえしっかりしているのならAPIが変わってしまうのは仕方が無いと
いうスタンスなので、Anthyのほうで変わってしまった経緯が気になるところです。も
しもその辺を調べられそうなポインタがありましたら教えてください。
# 万が一作者さんのキマグレだったりしたら、付き合うのはツライところですね(苦笑
>>429
enc=utf8にするとか、--cmdでautocmd BunNewなんかを設定するのはどうでしょう。
0431名無しさん@お腹いっぱい。
NGNGhttp://05xx.sub.jp/ttssh/
0432名無しさん@お腹いっぱい。
NGNGgvim --remote-silent ++70 hoge.txt
で上手くいきました。ありがとうございました。
0433名無しさん@お腹いっぱい。
NGNG:bufdo grepadd! something %
:cn :cn :cn ... :@ :@ :@ ...
0434名無しさん@お腹いっぱい。
NGNG<p align="left" class="aaa"><a name="1">hoge</a> - sato<a href="a.html#a" target="_blank"></a></p>
<p align="left" class="aaa"><a name="1">hoge</a> - sato</p>
上記のような記述が複数あるファイルで
両方のhogeと言うリンクの名前をを取り出そうと思い
:%s/.*<a\ name=.*>\{-}>\(.*\)<\{-}<\/a>.*/\1/
とすると、2行目の例の方はうまくhogeが取り出せるのですが
1行目のほうは取り出せません
いろいろと考えてみたのですが 私的にはこれでもうまく行くと思います
すいませんが どこが悪いのか訂正していただけないでしょうか?
よろしくお願いします
0435名無しさん@お腹いっぱい。
NGNG0436434
NGNG私に言っているのでしょうか?
[^]と言うと否定ですよね?
それも 私なりにやってみましたけど それだと
2行目の hogeすら正しく表示されないんですよ
:%s/.*<a\ name=.*[^>]>\(.*\)[^<]<\/a>.*/\1/
とやってみました。
これもおかしいのでしょうか?
0437名無しさん@お腹いっぱい。
NGNG0439KoRoN@Vim%Chalice ◆8XALICEsdk
NGNGこんな感じでしょう。
:%s/.*<a name=[^>]*>\(.\{-}\)<\/a>.*/\1/
根本的に * や \{-} 、いわゆる量指定子の使い方を勘違いされているようです。正規
表現の動作する仕組みを知っていれば、その辺りでつまづくことはなくなるものです。
437ではありませんが、Webサイトや書籍で正規表現について理解を深めると良いでしょ
う。書籍ではオライリーの詳説正規表現をオススメしておきます。
0440名無しさん@お腹いっぱい。
NGNGと
\(.\{-}\)
ってどういう意味?
0441名無しさん@お腹いっぱい。
NGNG:h substitute()
:h submatch()
:h /\{-
まずこれを見てくれ
0442名無しさん@お腹いっぱい。
NGNG希望通りの動作です.ありがとうございます.
0443名無しさん@お腹いっぱい。
NGNGあるのは分かっているけれどさ、awk(場合によってはsed)使った方がいいとアドバイスするのも、
やさしさじゃないかなと、ここんとこの質問書き込みをみておもたよ。
と、チラシの裏のかわりに書いてみるテスト。
0444428
NGNG>Anthyのほうで変わってしまった経緯が気になるところです。
>もしもその辺を調べられそうなポインタがありましたら教えてください。
詳しい経緯はわかりませんが、これが参考になるかもしれません。
http://lists.sourceforge.jp/mailman/archives/anthy-dev/2004-December/001522.html
0445名無しさん@Vim%Chalice
NGNGset shell=c:\cygwin\bin\bash.exe
set shellcmdflag=--login\ -c
としていて、一応これで!コマンドが使えるのですが、
bashのカレントディレクトリが常に$HOMEになってしまいます。
gvimのカレントディレクトリ下でコマンドを実行させる方法はないでしょうか?
0446名無しさん@お腹いっぱい。
NGNG0447おみくじは 【大吉】 お年玉は 【639円】
NGNG0450名無しさん@Vim%Chalice
NGNG--loginをとると~/.bash*が読み込まれず、パスも通らない
ようなのですが。
0451名無しさん@お腹いっぱい。
NGNGvimじゃなくてbaseの問題だよ
0452名無しさん@お腹いっぱい。
NGNG--login付けなくても~/.bashrcは読むけど。
0453名無しさん@お腹いっぱい。
NGNG使いたいのですが、なかなか動いてくれません。
やってみたことは"C:\vim\runtime\ftplugin\"にphpdoc.vimを入れて
:runtime! ftplugin/phpdoc.vim
を行いました。
この状態で class Hoge { と入力しても何も起きず、同様にfunction hoge() { としても何も起きません。
うまく動いている方、設定の仕方等間違いがありましたら教えてください。
0454名無しさん@お腹いっぱい。
NGNGset filetype=phpdoc
それから
help ftplugin-overrule
それよりphpdoc.vimを読んでみれ
書籍のおまけならコメントなりなんなり書いてあるだろし
ていうか本当に使い方書いてないんかいその本
0455453
NGNGすみません、聞き方がまずかったようです。
本には使い方が書いてあるのですが、UN*X用の説明らしく
${HOME}/.vim/plugin/
に置けば良いと書いてあります。特に他の説明はなく設置するだけであとはクラスや関数
を定義すれば勝手に動くと書いてあります。
また、このスクリプト自体は書籍のおまけではなく、www.vim.orgから落としたものです。
ttp://www.vim.org/scripts/script.php?script_id=520
スクリプト内部には機能の説明のみで特に設置方法についての言及は無いようです。
help ftplugin-overruleは読んでみます。
#そもそも本当にファイルタイププラグインなのか分からないのですが・・・
0456名無しさん@お腹いっぱい。
NGNGスクリプト嫁
読んだらわかる
0457名無しさん@Vim%Chalice
NGNGlet a = input(":")
とやろうとしたんだけど、input()のときは自動的に
IMEオフにされちゃうんだな。
0458名無しさん@お腹いっぱい。
NGNG:b filename
でバッファ切り替えできることを知りましたよ。
今までずっと:bn,:bpだけでやってた…
0459名無しさん@お腹いっぱい。
NGNGsb
vert sb
も便利
0460名無しさん@お腹いっぱい。
NGNGがあったらいいと思うんだけどどうだろう。
ここ、同じ質問が出ることもしょっちゅうあるし。
0461名無しさん@お腹いっぱい。
NGNGwikiあったって一緒
聞くやつは聞くんだよ
0462名無しさん@お腹いっぱい。
NGNGああ、欲しいかも…
家の野良鯖にPukiWikiでも突っ込んでおいたらみんな書き込むかなぁ…
0463名無しさん@お腹いっぱい。
NGNG0464名無しさん@お腹いっぱい。
NGNGプレフィックスなしで直前のバッファ、数字でバッファ指定。
0465名無しさん@お腹いっぱい。
NGNGバッファエクスプローラを使ってます。
vim.org から良さそげなスクリプトを落っことしてきて。
0466名無しさん@お腹いっぱい。
NGNGhttp://vim.sourceforge.net/scripts/script.php?script_id=42
0467名無しさん@お腹いっぱい。
NGNG微妙にChaliceとの相性が悪いので
Chaliceと併用するときは要注意、と。
0468名無しさん@お腹いっぱい。
NGNGよろしく。
0469名無しさん@お腹いっぱい。
NGNG書き込みエラーになる場合がある(実際は書き込まれている)
Win2000 + vim6.3 + Chalice 1.8.062 です
たぶんこのカキコもエラーに・・・
0470名無しさん@お腹いっぱい。
NGNG0471名無しさん@お腹いっぱい。
NGNGsourceforge でプロジェクト申請ってできるかな?
0472名無しさん@お腹いっぱい。
NGNGttp://wiki.fdiary.net/
0473462
NGNGhttp://vim.mydns.jp/
中身はまだ何も書いてないのでみんなで編集しませう。
今日はもう寝る。
0474名無しさん@お腹いっぱい。
NGNG0475名無しさん@お腹いっぱい。
NGNG個人のとこはやめとけ いつ閉じるかもわからんし
広告入れたりして暴挙に出ることがある
0476名無しさん@お腹いっぱい。
NGNGやめといたほうが無難だな
0477名無しさん@お腹いっぱい。
NGNGんじゃ代わりに立ててよ。
0478名無しさん@お腹いっぱい。
NGNGとあって、foo から theの一つ前まで削除
foo to the => the
としたい場合どうすればいいですか?
dtt
だと、
foo to the => to the
となって、期待通りにはならないです。
よろしくお願いします。
0479名無しさん@お腹いっぱい。
NGNGd2w
0480名無しさん@お腹いっぱい。
NGNG勝手に項目も作っちゃったけど、まずかった変えてね>>462
0481名無しさん@お腹いっぱい。
NGNGGJ
0482名無しさん@お腹いっぱい。
NGNGGI Joe
0484名無しさん@お腹いっぱい。
NGNG上の例だと d2w でもできるのだけど、どこまで削除したいのかを文字で指定して削除したいのです。
to と the で先頭の文字が重なっている(わざと)のはそのためです。
0485名無しさん@お腹いっぱい。
NGNG0486名無しさん@お腹いっぱい。
NGNG最初に出てきたこれからして面白かった。
/joe/e : cursor set to End of match
/joe/e+1 : cursor set to End of match plus 1
/joe/s-2 : cursor set to Start of match minus 2
http://www.rayninfo.co.uk/vimtips.html
0487名無しさん@お腹いっぱい。
NGNG:set enc=japan するとencがeuc-jpになってしまいます。
実用上困らないけどなんか気持ち悪いです。
なんか必要なコンパイルオプションとかあるんでしょうか。
0488名無しさん@お腹いっぱい。
NGNG0489名無しさん@お腹いっぱい。
NGNGマニュアルを読んで納得することができました。
すれ汚しごめんなさい。
0490名無しさん@お腹いっぱい。
NGNG0491名無しさん@お腹いっぱい。
NGNG言ってるとおりだからな
0492名無しさん@お腹いっぱい。
NGNG0493名無しさん@お腹いっぱい。
NGNG0494名無しさん@お腹いっぱい。
NGNGその点vim onlineはいいけど, あれもrateトップが
super starでがっくり来るから,古いのはrate打ちどめにするとか
した方がいいんでないかと思う.
分類が目的別になってるのはいいね.
0495462
NGNG>wikiだとやはり新着が分かりづらいのと,1件1件に対してコメントが書きづらいな.
そうそう、そこでTrackerプラグインを使って見ようかと模索中で
http://vim.mydns.jp/?tipstest
vim online風味で出来たらいいなぁ…とか妄想中
細かくページが分割されればRSSで新着が確認できるので改善されるでしょう。
>その点vim onlineはいいけど, あれもrateトップが
>super starでがっくり来るから,古いのはrate打ちどめにするとか
>した方がいいんでないかと思う.
rateとかkarmaとかは考えていないけど全てのページに
カウンターを仕込んであるのでそのページの参照数で
ソートとか考えています。
>分類が目的別になってるのはいいね.
tipstestのページのTrackerプラグインではモードで
カテゴリー分けしちゃってますが、やはり目的別のほうが
よさげですねぇ…
って、vim wikiに関する話題はここで良いのかなぁ…とか
思ったりしますが、どうなんでしょう?
まぁ、ここから出たwikiだから良いような気もしますが、
メニューに雑談ページへのリンクも付けたので良かったら
そっちでもどうぞ。
0496名無しさん@お腹いっぱい。
NGNGあなたの.vimrc見せて下さい・・・。
0497名無しさん@お腹いっぱい。
NGNGカーソルは右端に表示されますが、
これを左端に表示するようにできませんか?
0498名無しさん@お腹いっぱい。
NGNG2つめのバックスラッシュの後にも空白が必要
:set list
0499298
NGNGcygwin上から起動したからだ。変なことしたなあ;;
>>498
:set listchars=tab:\ \
でない?
0501名無しさん@お腹いっぱい。
NGNGできました。どうもありがとうございます。
■ このスレッドは過去ログ倉庫に格納されています