vim6
[661:名無しさん@お腹いっぱい。 (01/10/20 23:22)]
>>644 の便乗質問なんですけど、xml 書く時に
<tag element1="foo"
element2="bar">
ってインデントさせたいんですけど、どーすりゃいいんでしょう?
と言うか、それ以前に xml 書いてても = でインデントできないんですけど
これが仕様なのでしょうか?
今は手動でインデントを付けるという非常に悲しい方法を取ってまして...
[662:KoRoN (01/10/21 08:40)]
>>661
まずfiletype=xmlとなっていることを確認して下さい。
次にindentexpr=XmlIndentGet(v:lnum,1)となっていることを確認して下さい。
結論を言いますとvimはC言語のindentしかネイティブではサポートしていません。
そこでvim6の新機能としてvimスクリプトを利用した'indentexpr'オプションが導入されました。
こいつに適当なvimスクリプト関数を指定することでXMLを含む様々なインデントを実現させています。
この指定は'ft'に応じて変わるようになっているので上のようにチェックします。
なんらかの障害により'ft'もしくは'indentexpr'が正しく設定されていないものと思われます。
確認してみてください。もちろん本来はXMLでも=によるインデント整形は可能ですよ。
[663:名前いれてちょ。。。 (01/10/21 19:12)]
TERM変数を判断して、vimの環境を切りかえるようなことを .vimrcで書いている人、います?
TeraTermのようなtelnet端末と、X-WindowSystemのxtermでvimの環境(具体的にはカラー設定)を
変えたいなぁ。
例えばこんな感じにしたいけど、なかなか動かん。
if (TERM==vt100) then
set term=builtin_iris-ansi
endif
[664:名無しさん@お腹いっぱい。 (01/10/21 20:03)]
viの作者であるBill Joyは、「こんなにviが普及すると 分かっていたなら、
絶対に作りはしなかった」と何度も言っている
というのは本当ですか?
[665:名無しさん@お腹いっぱい。 (01/10/21 20:06)]
>>663
if &term == "vt100"
set term=builtin_iris-ansi
endif
これでOKじゃない?
[666:名無しさん@XEmacs (01/10/21 20:49)]
いまだ!!666ゲットォ〜
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ ) (´⌒(´
⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
 ̄ ̄ (´⌒(´⌒;;
ズザーーーーーッ
[667:663 (01/10/21 22:33)]
>>665
アリガトー。
リファレンス(vim5.6日本語版のヤツ)を見たり、落ちている.vimrcをみたりして
いろいろ試したんだけど、もうちょいって感じだったか。
今度やってみます。
[668:663 (01/10/22 00:22)]
自己レス。
教えて君じゃぁダメなので検索してみたら、やり方は違うけど見つけた。
ログインシェル側で、読みこむ.vimrcを切りかえる方法。
.vimrcが複数存在するからあんまりスマートじゃないけど、TERM変数以外にも
応用は利くっすね、この場合。手っ取り早いし。
ttp://www.ph.unimelb.edu.au/~ssk/vim/term.html#builtin_terms
> case "$TERM" in
> console) export VIMINIT="so ~/.vimrc.con"
> xterm) export VIMINIT="so ~/.vimrc.X"
> vt[12]*) export VIMINIT="so ~/.vimrc.dec"
> *) export VIMINIT="so ~/.vimrc.common"
> esac
[669:名無しさん@お腹いっぱい。 (01/10/22 04:34)]
>>664
本当です。オリジナル vi はcurses ライブラリの実験プログラム
だったという説もあります。
本当は vim のようなものを作りたかったのでしょう。
[670:KoRoN (01/10/22 07:22)]
>>668
同じようなことを~/.vimrcでも書けますから、もちろんTERM変数以外でも使えます。
vimスクリプトから環境変数にアクセスするには$TERMのように$をつけます。
&はvimの内部変数…cshのsetみたいな役割ですね。
別のファイルを取り込むには:sourceコマンドが使えます。
ログインシェルを使う方法は「vimスクリプトを覚えなくても良い」というメリットはありますが、
vimに影響する設定がvim関連以外の場所にあるのでスッキリしないというデメリットもありますね。
:if $TERM == "console"
: source ~/.vimrc.con
:elseif $TERM == "xterm"
: source ~/.vimrc.X
:elseif $TERM =~ "vt[12]*"
: source ~/.vimrc.dec
:endif
read.cgi ver5.26+ (01/10/21-)