スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Vim:行数と文字との間を空白文字以外にしたい(option化)-未完成

前回の「Vim:行数と文字との間を空白文字以外にしたい」を書いたところ、
このような記事を頂いたので、オプション化まで試してみようとしました。
[vim] オプションの追加方法(とおまけ)

結果としては、未完なので教えてくれるとありがたいです。
変更ソースはgithubにもあります。「vim-numberchar(github)

変更したもの


diff src/option.c vim-numberchar/src/option.c
210a211
> #define PV_NUCHR OPT_WIN(WV_NUCHR)
1870a1872,1874
> {"numberchar", "nuchr",P_STRING|P_ALLOCED|P_RALL|P_FLAGLIST,
> (char_u *)&p_nuchr, PV_NUCHR,
> {(char_u *)"|", (char_u *)"|"} SCRIPTID_INIT},
6888a6893,6894
> if (gvarp == &p_nuchr)
> p = (char_u *)NUCHR_ALL;
9612a9619
> case PV_NUCHR: return (char_u *)&(curwin->w_p_nuchr);
9805a9813
> to->wo_nuchr = vim_strsave(from->wo_nuchr);
9884a9893
> check_string_option(&wop->wo_nuchr);
9914a9924
> clear_string_option(&wop->wo_nuchr);

diff src/option.h vim-numberchar/src/option.h
178a179,181
> /* characters for p_nuchr option: */
> #define NUCHR_ALL " ^*<>#(){}[]:/'%$\\|"
>
633a637
> EXTERN char_u *p_nuchr; /* 'numberchar */
1068a1073
> , WV_NUCHR

diff src/screen.c vim-numberchar/src/screen.c
2326c2326
< sprintf((char *)buf, "%*ld ", w, num);
---
> sprintf((char *)buf, "%*ld%s", w, num, wp->w_p_nuchr);
3486,3487c3486,3487
< sprintf((char *)extra, "%*ld ",
< number_width(wp), num);
---
> sprintf((char *)extra, "%*ld%s",
> number_width(wp), num, wp->w_p_nuchr);

diff src/structs.h vim-numberchar/src/structs.h
171a172,173
> char_u *wo_nuchr;
> #define w_p_nuchr w_onebuf_opt.wo_nuchr /* 'numberchar' */

現在分かっている不具合事象


・.vimrcにsetしても反映されない。
・:set numberchar=| ってやると本文が消える。
 「空白」も同じ現象(ただし¥付加でOKになる)
・:edit で他のファイルを開くと本文が消える。
※ここで本文が消えるというはどうも空文字を上書きされてそう。
スポンサーサイト
プロフィール

Kocha

Author:Kocha
なんでもチャレンジ!(^o^)/
E-mail
github:Kocha
イベントカレンダー

カレンダー
12 | 2012/01 | 02
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
カテゴリ
OVP (4)
最新記事
最新コメント
アーカイブ
リンク
Twitter
アクセス人数
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。