vim6
[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 なんてセットしていませんし。
何か他に見るところはあるでしょうか?すみません、一応頑張って英語読ん
でみたのですがこれ以上はちょっと分からなくって・・・
[672:KoRoN (01/10/22 15:11)]
>>671
今、ちょっと忙しいので確かめていないのですが
:help :filetype-indent-on
とその周辺あたりを読んでみてください。
何か良いことが書いてあるかもしれません。
[673:名無しさん@お腹いっぱい。 (01/10/22 15:44)]
Rubyだとインデントはスペース2文字分なのですが、
スペース8文字になるとタブに置換されてしまいます
それがイヤで、苦し紛れの策で、ruby.vimに
tabstop関連の設定を8 -> 70とかにしています。
ですが、さすがにエレガントじゃないので、なにかいい策をお願いします。
[674:KoRoN (01/10/22 16:20)]
>>673
そういうときのための設定もちゃんとあります。:set expandtabしてください。
'expandtab'および'et'はタブを空白展開するためのオプションです。
既にスペース8文字→タブに変換されてしまったものを逆変換するには
:set et ts=8してから:retabします。
retabは便利なので覚えておいて損はないでしょう。
ftplugin/ruby.vimにset etが加わると良いかもしれませんね。
[675:名無しさん@お腹いっぱい。 (01/10/22 16:39)]
ありがとうございます>>KoRoNさん
$HOME/.vim/ftplugin/ruby.vim に記述しておきました。
2chを見るときとircするときはemacsを使っているけど
それ以外はvim6生活マンセーです。
[676:名無しさん@お腹いっぱい。 (01/10/22 16:51)]
titlestring に capslock の on/off を表示できる?
[677:KoRoN (01/10/22 17:08)]
>>676
恐らく素のvimだとできないでしょう。
capslockの状態を取得する外部コマンドがあるのならば確実にできますが…
ちょっと非現実的な方法だと思います。
read.cgi ver5.26+ (01/10/21-)