■掲示板に戻る■ 1- 最新10

vim6

[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


[671:661 (01/10/22 13:14)]
>>662=KoRoN 殿
ご教授ありがとうございます。
確かに indentexpr が設定されていませんでした。(filetype は大丈夫でした)
そこで help indentexpr してみたのですが、別に paste なんて設定してな
いし、 :ver してみても +cindent も +eval もあるんですよね。もちろん
compatible なんてセットしていませんし。
何か他に見るところはあるでしょうか?すみません、一応頑張って英語読ん
でみたのですがこれ以上はちょっと分からなくって・・・


次10 前10 最新10
NAME:MAIL:

read.cgi ver5.26+ (01/10/21-)