vim6
[275:名無しさん@お腹いっぱい。 (2001/07/22(日) 10:58)]
XML 嫌いの人はあんまり聞く耳もたないかもしんないけど(と言いつつ、俺も最
近まで Unix 上でなかなか使いもんにならないから嫌いだった)、Gnome 方面で
かなり完璧に近い libxslt がリリースされたので、文書を XML で書く意味が出
てきたと思うよ。今のところ EUC-JP でも使えてる(ように見える)し。
http://xmlsoft.org/XSLT/ 参照。FreeBSD な人は ports/textproc/libxslt。
先週、DocBook で文書を書いて、それを HTML/LaTeX に変換する XSLT を書いて
libxslt に同梱の xsltproc で変換する、ってことをやってみたんだけど、もう
充分すぎるくらい実用になると思う。(まあ XSLT 自体の是非はおいといて)
多分もう LaTeX、TexInfo、[X]HTML あたりを直で書くことは無いと思う。変換規
則は自由にカスタマイズできるから数式の部分だけ TeX 記法にしてそのまま渡す
のも簡単だし。Word で使える文書を自動生成なんてこともできるようになるんじ
ゃないのかな? 確か FreeBSD 本家の Doc チームも DocBook だっけ?
# 欠点: 今の快適さは psgml-mode にかなり依存しているので、emacs 嫌いな人
# にとっては「役に立たない道具」かもしれない
[276:名無しさん@お腹いっぱい。 (2001/07/22(日) 11:29)]
>>275
おもろい。
その手のスレ立てようか?
[277:KoRoN (2001/07/22(日) 13:47)]
直接vimではないのでsageで失礼。
>>273
実際、私も寄付したことありませんし(藁)。
ただ私にとっては起動してこれが出てないとちょっと寂しい。
これで:helpの使い方を知った口なので。
>>275
個人的にXMLとXSLTには非常に興味があったので参考になりました。
いまやってるFF10が片付いたら(藁)遊んでみます。
[278:名無しさん@お腹いっぱい。 (2001/07/23(月) 01:50)]
Windows 版つかってて UNIX 板で質問をするのは気が引けるが、
gvim -d file1 file2
ってやって diff しようとしても
「差分を作成できません」というエラーメッセージが出て diff できない。
しかもその後 gvim 起動したディレクトリに c という名前の 0 バイトのファイルができる。
何がどうなってるの?
[279:KoRoN (2001/07/23(月) 01:56)]
>>278
vimdiff(-d)は外部のdiffを起動しています。
よってcygwinなどのdiffを別途インストールしてパスを通しておく必要があります。
cygwin以外にもWinで動くdiffは幾つかあったと思います。
http://www.cygwin.com/
[280:名無しさん@お腹いっぱい。 (2001/07/23(月) 04:33)]
vim script で visual モードで選択中の文字列を
取得するのはどうすればよいですか?
[281:名無しさん@お腹いっぱい。 (2001/07/23(月) 06:54)]
>>280
normal! y
[282:KoRoN (2001/07/23(月) 08:56)]
>>280
スクリプトに入る前にyで@"に選択内容を入れておく方法がひとつ。
ただしこの場合、ビジュアルモード以外からのスクリプト呼出が難しくなります。
例:
function! GetVisualSelect()
return @"
endfunction
vnoremap! <F2> y:echo GetVisualSelect()
あとはline()とcol()に"'<"と"'>"を渡してスクリプトで頑張る方法しかわかりません。
getline()してvisualmode()の値に応じてstrpart()で部分的に切り出すというのが基本方針です。
こっちはnormalからでも動くのですけど、visual block時にマルチバイト文字を正しく扱うのが一苦労です。
[283:280 (2001/07/23(月) 16:03)]
>>281,>>282
Thank you.
うまいこと取得できたよ。
ところで、もうひとつ質問だけど
map のあとに変数か何かをもってきたいんだが展開されずにそのまま解釈されてしまう。
:map <F5> ":so " . script_dir . "test.vim"
ってしたら無効なマークがどうとか言われたよ。展開して欲しいんだが。
もひとつ、
:map と :map! って何が違うの?英語読めなくてスマソ。
[284:名無しさん@お腹いっぱい。 (2001/07/23(月) 16:06)]
>>283
>map のあとに変数か何かをもってきたいんだが展開されずにそのまま解釈されてしまう。
execute 使ってみ。
>:map と :map! って何が違うの?英語読めなくてスマソ。
まず :h map! して、読む努力してみましょう。;-)
read.cgi ver5.26+ (01/10/21-)