■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 最新50

レス数が950を超えています。1000を超えると表示できなくなるよ。

Vim6 Part3

1 :KoRoN@Vim%Chalice ◆ALICEsdk :02/04/17 11:38
Vim 6.xに関する話題、Part3です。関連情報は>>2-5あたり。

57 :KoRoN@Vim%Chalice ◆ALICEsdk :02/04/22 15:09
>>55
> :cd で移動した先のフォルダの中のファイル・ディレクトリのリスト表示と

  :e .
とかするとファイルブラウザが起動します。操作は身体で覚えてください。
もしくは:e のあとに<CTRL-D>をタイプしても良いです。

> また、:e や :sp のあとにファイル名の頭数文字を入力しただけでフォルダの
> 中のファイルやディレクトリのリストから補完してくれるような事はできるので

何文字かタイプして上記のように<CTRL-D>を押すとマッチする一覧が表示されます。
<Tab>をタイプするたびにマッチするものが順番に入力されます。試すのが一番わか
りやすいでしょう。

58 :KoRoN@Vim%Chalice ◆ALICEsdk :02/04/22 15:12
>>56
インデント消えてて何を言わんとしているのがいまいち伝わってきませんが、
使ってる言語がCなら}をタイプした時点でifにインデントを揃えてもらえるでしょ
う。ifの後ろの{がなければ;の後で改行しただけでifにインデントが揃います。

なりません?

59 :名無しさん@お腹いっぱい。 :02/04/22 15:30
レスありがとうございます。56です。

インデントが消えてしまいましたが、ご推察の通りです。

>使ってる言語がCなら}をタイプした時点でifにインデントを揃えてもらえるでしょ
う。

それがならないのです。以前のVIMではなったのですが....
普通に"a"にインデントがそろえられます。
ブロックの概念は考慮に入れられていません。

c.vimを編集する必要でもあるのでしょうか?

よろしくお願いします。

int hoge(int a){
    if(true){
        a = true; ←

60 :KoRoN@Vim%Chalice ◆ALICEsdk :02/04/22 15:42
autoindentがonでもcindentがoffだとそうなるでしょう。通常cindentは
$VIMRUNTIME/ftplugin/c.vimで設定されます。:scriptnamesで該当ファイルが読み込
まれているか確認してください。

読み込まれてないとすれば原因は2通り考えられます。1つは:filetype onしてない。
もう1つはインストールに失敗している。便利なので:filetype onしましょう。

61 :名無しさん@お腹いっぱい。 :02/04/22 15:45
素早いレスありがとうございます。
早速試してみます。
ありがとうございました。

62 :46 :02/04/22 16:55
>>57
ありがとうございます。
すべて問題なくできました。
色々他の事も試してみようと思います。

63 :名無しさん@お腹いっぱい。 :02/04/22 17:51
Vim6.1.25age

64 :8=9=12=13 :02/04/22 21:55
お世話になっております。実は今、ソースからVim-6.1をコンパイルしようとし
ているところなのですが…、typoと思われる場所がありますので、調査してい
ただけないでしょうか。
Makefileの835〜837行目に
> ### Only set VIMRUNTIMEDIR when VIMRCLOC is set to a different location and
> ### the runtime directory is not below it.
> #VIMRUNTIMEDIR = $(VIMRTLOC)
とありますが、この説明文にVIMR*C*LOCとありますが、なぜVIMRCLOCが関係する
のか分かりませんでした。これってVIMR*T*LOCの間違いではないかと思うので
すが…


65 :KoRoN@Vim%Chalice ◆ALICEsdk :02/04/22 22:29
>>64
私、Makefileはいじらないのでコメントは控えます。

間違いだとは思いますけど、それって治さないことで実害あります?

66 :64 :02/04/22 22:42
>>65
いや、変更する必要はないけど、一応知っといた方がいいような気がしたん
ですよ…

ちなみに、Makefileを見ると、「X Window」と書くべきところを、「X Windows」と
書いてあったりします :-P (←もちろん実害はないから気にしませんけど)


67 :名無しさん@お腹いっぱい。 :02/04/22 23:02
>>66
typosに気づいたなら自分で訂正してMLに投げましょう。

vim-dev@vim.org         Vim Development List

68 :名無しさん@お腹いっぱい。 :02/04/23 01:58
なんかこのスレKoRoNが乗っ取ってるみたいでキモい
消えろKoRoN

69 :66(≠68) :02/04/23 02:26
>>67
へいへい、近いうちに投げます。
あちら側が対応してくれるかは分からへんけど :-)

# >>68
# こらこら


70 :名無しさん@お腹いっぱい。 :02/04/23 02:46
生きる事への強い意志が同時に自分と異なる生命をも尊ぶ心となる ← ププ

71 :名無しさん@お腹いっぱい。 :02/04/23 14:00
>>68,>>70
次の板以外でのコテハン叩きは禁止されています:
 
最悪
http://teri.2ch.net/tubo/

72 :名無しさん@お腹いっぱい。 :02/04/23 16:19
日本語の文章内にアメリケンな顔文字入れるの病めて下さい。キモいです。

73 :名無しさん@お腹いっぱい。 :02/04/23 16:22
「日本語の文章内にアメリケンな顔文字入れるの病めて下さい。キモいです。」
と指摘するのは止めて下さい。キモいです。

74 :名無しさん@お腹いっぱい。 :02/04/23 16:33
>>72
UNIX被れの病理なので放置して下さい。

>>68
質問に答えられる人が答えてるだけ。
なんならKoRoNさんの代わりに答えてやっては?

75 :名無しさん@お腹いっぱい。 :02/04/23 16:35
>>74=KoRoN とみた

76 :名無しさん@お腹いっぱい。 :02/04/23 16:43
>>75
|_・).o○(いえ、某エディタスレのテンプレ書きです。)

77 :名無しさん@お腹いっぱい。 :02/04/23 17:58
(゚д゚)ウメー

78 :名無しさん@お腹いっぱい。 :02/04/23 18:05
何で急に荒れ出したんだ?
しかもそんな時も全員sageなのがいかにもunix板。

79 :名無しさん@お腹いっぱい。 :02/04/23 18:44
KoRoN ってさあ、このスレに張りついてんの?
なんか質問とかあるとすげーはやい反応なんだよね。
頻繁にリロードしてる姿を想像すると気持ち悪くなるね。

MB化してるだけでたいした技術もないくせに妙に偉そうなんだよね。
ABrowser とかいう糞ソフト誰が使ってんの(笑)。

まあ、しょせん三流大卒程度のアニオタは他人がつくったソフトを
ちょこっと変更して公開したせこいサイトの中途半端なアクセス数でも自慢してなさいってこった。

80 :名無しさん@お腹いっぱい。 :02/04/23 19:18
('-`).。oO(KoRoN氏のやる気を殺いで、害はあっても益があるとは
       思えんぞ。。。

81 :名無しさん@お腹いっぱい。 :02/04/23 20:26
荒らしは(・∀・)カエレ!!

82 :名無しさん@お腹いっぱい。 :02/04/23 22:52
>>79
んで、お前は何作ってんの?

83 :名無しさん@お腹いっぱい。 :02/04/23 23:36
いちいち反応しない。無視汁!

84 :名無しさん@お腹いっぱい。 :02/04/24 00:31
>>79
禿げ同!
KoRoN うぜえ

85 :名無しさん@お腹いっぱい。 :02/04/24 00:53
大人のエロ本。ガマン汁!

86 :名無しさん@お腹いっぱい。 :02/04/24 12:10
6.1.032
パッチラッシュですねぇ。

87 :名無しさん@お腹いっぱい。 :02/04/24 17:49
これカコ(・∀・)イイ!
http://vim.sourceforge.net/scripts/script.php?script_id=276

88 :名無しさん@お腹いっぱい。 :02/04/24 21:24
ctagのインデントが現在2つになっています。
1つに設定するにはどうすればいいのですか?

お願いします。

89 :名無しさん@お腹いっぱい。 :02/04/24 23:54
>88
tab と tag をコンドームしてないかい?

90 :名無しさん@お腹いっぱい。 :02/04/25 01:34
KoRoN の書きこみ少なくなったねえ。
やっぱ気にしてたんだ(藁

91 :名無しさん@お腹いっぱい。 :02/04/25 01:46
粘着 uzeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

92 :名無しさん@お腹いっぱい。 :02/04/25 02:05
間違えました、cindentでした。

お願いします。

93 :名無しさん@お腹いっぱい。 :02/04/25 02:42
タブ幅のこと言ってるの?
なら、
set tabstop=4
set softtabstop=4
あたりかな?

94 :KoRoN@Vim%Chalice ◆ALICEsdk :02/04/25 03:46
>>92
インデントには'tabstop'、'shiftwidth'、'softtabstop'の3つのオプションが関わって
います。これらのうち'softtabstop'はvimオリジナルのオプションになります。cindent
やautoindent時に挿入されるタブの幅は'shiftwidth'で決定されます。少々ややこしい
ですが各オプションの意味は下記のとおりなので、ちょっとがんばって理解しておけば
柔軟に設定できるようになるでしょう。

'tabstop' (短縮名'ts')
    ファイル中の<Tab>文字(キャラクターコード9)を、画面上の見た目で何文字分に展
    開するかを指定する。既にあるファイルをどのように表示するのか指定したい時に
    便利。

'shiftwidth' (短縮名 'sw')
    vimが挿入するインデント('cindent')やシフトオペレータ(>>や<<)で挿入/削除され
    るインデントの幅を、画面上の見た目で何文字分であるか指定します。自動的に挿
    入される量、と覚えておくと良いです。

'softtabstop' (短縮名'sts')
    キーボードで<Tab>キーを押した時に挿入される空白の量。'softtabstop'が0以外の
    時には、例え'ts'を4に設定していても、<Tab>を1度押しても'softtabstop'分だけ
    空白が挿入されます。逆に'softtabstop'が0の場合には挿入されるのは'ts'で指定
    した量になります。

vimが自動的に挿入したか<Tab>キーによって挿入された空白は、'ts'に設定された幅で
Tab文字へと自動的に置き換えられます(ただし'expandtab'が設定されていない場合)。
これは十分に賢い機能なので特に意識しなくても良いでしょう。

で以上のことと、一般のエディタがTabを4文字か8文字で表示することを踏まえると
:set ts=4 sw=4 sts=0

:set ts=8 sw=4 sts=4
という設定が必要になります。

95 :名無しさん@お腹いっぱい。 :02/04/25 11:16
Vim6上でatokxを動かすと落ちます。

再現手順
「あああ」と入力。Escをおす。bを押す。->落ちる

バックトレース(gdb) run -gf
Starting program: /home/takuhiro/tmp/vim/src/vim -gf

Program received signal SIGSEGV, Segmentation fault.
0x403ec549 in main_arena () from /lib/libc.so.6
(gdb) bt
#0 0x403ec549 in main_arena () from /lib/libc.so.6
#1 0x404425eb in XmbLookupString () from /usr/X11R6/lib/libX11.so.6
#2 0x4017a45c in gdk_event_translate () from /usr/lib/libgdk-1.2.so.0
#3 0x4017b281 in gdk_events_queue () from /usr/lib/libgdk-1.2.so.0
#4 0x4017b49e in gdk_event_dispatch () from /usr/lib/libgdk-1.2.so.0
#5 0x401ae79f in g_main_dispatch () from /usr/lib/libglib-1.2.so.0
#6 0x401aeb85 in g_main_iterate () from /usr/lib/libglib-1.2.so.0
#7 0x401aef82 in g_main_run () from /usr/lib/libglib-1.2.so.0
#8 0x400b3f63 in gtk_main () from /usr/lib/libgtk-1.2.so.0
#9 0x813c348 in gui_mch_wait_for_chars (wtime=4000) at gui_gtk_x11.c:3363
#10 0x8132779 in gui_wait_for_chars (wtime=-1) at gui.c:2409
#11 0x8125e61 in ui_inchar (buf=0x8169d77 "", maxlen=80, wtime=-1) at ui.c:164
#12 0x80b01e2 in inchar (buf=0x8169d77 "", maxlen=241, wait_time=-1)
at getchar.c:2604
#13 0x80af1a2 in vgetorpeek (advance=1) at getchar.c:2401
#14 0x80aea65 in vgetc () at getchar.c:1367
#15 0x80aedca in safe_vgetc () at getchar.c:1498
#16 0x80d9936 in normal_cmd (oap=0xbffff650, toplevel=1) at normal.c:585
#17 0x80b621e in main_loop (cmdwin=0) at main.c:2010
#18 0x80b4d86 in main (argc=0, argv=0xbffff824) at main.c:1861
#19 0x402d85e0 in __libc_start_main () from /lib/libc.so.6






96 :mattn@Vim%Chalice :02/04/25 11:35
>>95
すみません。いくらか質問させてください。

1. こちらはエンバグですか?
2. 「あああ」と入力。XIMトグルキーをおす。Escをおす。bを押す。
   でも落ちますか?(esc にマップはされていますか?)
3. kinput2 + canna 等では再現しないでよろしいですか?

97 :名無しさん@お腹いっぱい。 :02/04/25 11:39
>>96
1.エンバグの意味がよくわからないので、もう少し解説をお願いします。
2.いったんXIMオフにすると落ちませんが、imactivatekey=s-spaceにしている
環境で、Escを押すと自動的にオフになる設定にしていると落ちます。
3.再現しません。

98 :mattn@Vim%Chalice :02/04/25 11:47
>>97
1. 以前までは動いてましたか?
   動いていたとすると Patch 6.1.011 にてXIMのイベントまわり
   を修正しているのでそれが原因かもしれません。
2. それは以下のような設定でしょうか?
   inoremap <silent> <esc> <esc>:set iminsert=0<cr>

#すみません何度も質問して

99 :名無しさん@お腹いっぱい。 :02/04/25 11:50
>>98
1. いえ、今回初めてATOKXを試してみたので、以前に動いていたかどうか
は不明です。もうしわけありません。
2.いえ、<Esc>にたいしてマッピングは行っていません。iminsertの値は0
です。

100 :99 :02/04/25 11:55
coreファイルもありますので、落ちた時点での調べたい
変数の値などをおっしゃってくだされば、しらべて
のせます。

101 :mattn@Vim%Chalice :02/04/25 11:57
>>99
1. 一度いかのパッチを試してみてもらえますか?
   http://hp.vector.co.jp/authors/VA020411/Unknown/mbyte.c.diff.gz
   このパッチを適応後、
   set imactivatekey=
   と空値を設定すると XNPreeditState を使ってトグルするように
   なってます。

#キリ番ゲト

102 :mattn@Vim%Chalice :02/04/25 11:57
あっキリ番取られた・・・w)

103 :99 :02/04/25 12:01
>>101
おお、直りました。
ありがとうございます。

104 :mattn@Vim%Chalice :02/04/25 12:09
>>103
それは良かったです。
このパッチ、以前にも vim-dev にも流したんですが、
放置され続けています。(T_T)
(しかも2度も流してるのに・・・)

この結果をできればオフィシャルに伝えたいんですが、もしよければ
協力していただけませんか?
#そういえば少し前、vim-devに良く似たスレッド立ってたなぁ・・・

105 :99 :02/04/25 12:38
>>104
そうでしたか。。
これで、Linux上の日本語環境が非常に快適になりました。私は、
IMのONに「変換」キーとかいう変なキーをWindows上では使って
いたのですが、imactivatekeyでは設定できなくて不便な思いを
していました。しかし、これでimactivatekeyが必要なくなったことで、
ほぼWindowsと同等の入力環境ができました。

これは、すばらしいのですが、このパッチをあててもたとえば、
以前の環境で正しく動くかとかの検証をBramはしてほしいんですかね?
最近vim-devを呼んでいなかったので、詳しい状況はわからないのですが。

できれば、拒否された理由をおしえていただけますか?

106 :mattn@Vim%Chalice :02/04/25 12:55
>以前の環境で正しく動くかとかの検証をBramはしてほしいんですかね?
>最近vim-devを読んでいなかったので、詳しい状況はわからないのですが。

おそらく
  XIM を使っている人 = imactivatekeyを設定している人
と思いますので、
  imactivatekey = 空値
が影響する人というのは少ないかなぁと個人的には思っています。

>できれば、拒否された理由をおしえていただけますか?
拒否された・・・というよりも他のIMとの共存が必要だからなぁ・・・って所でしょうか?
#I wonder how safe it is to include this.  I suppose it should at least
#be tested with other input methods.

一応私のほうで、
 jmode
 nicolattie
 など
でテストしたことがあるのですが、nicolattieは一時的に
XNPreeditStateサポートが無くなってますし、jmodeは私の使い方が
悪いのか変な動きをしてますし・・・(もともと?)。

結局確認できるのが kinput2 だけなんです。(T_T)

107 :99 :02/04/25 13:20
あと、気になるのは私はここで質問したので、imactivatekeyに
からを設定すればよいことがわかったのですが、たとえば私の
環境でimactivatekeyを設定していると悪影響がでることがあり得ますか?

たとえば、私の環境ではimactivatekeyはからにしなければならないが、
kinput2だとimactivatekeyには値をセットしなければならない、ということ
が、もしあれば非常に混乱しやすいことは間違いないと思います。

一度状況を整理して、kinput2を利用する場合、atokxを使う場合など
を一覧にまとめたいですね。

108 :名無しさん@お腹いっぱい。 :02/04/25 14:02
~M とたくさん表示されてしまうのですが、消えませんか?

109 :mattn@Vim%Chalice :02/04/25 14:05
>>108
~M ではなく改行コードの ^M ですね?
:%s/^M//g
としてみてください。
^M は Ctrl+V Ctrl+M で入力できます。

110 :名無しさん@お腹いっぱい。 :02/04/25 14:07
ありがとうございます!

111 :名無しさん@お腹いっぱい。 :02/04/25 14:10
88=92です。
93さんKoRonさんありがとうございました。


112 :mattn@Vim%Chalice :02/04/25 14:43
>>107
>たとえば、私の環境ではimactivatekeyはからにしなければならないが、
>kinput2だとimactivatekeyには値をセットしなければならない、ということ
>が、もしあれば非常に混乱しやすいことは間違いないと思います。
まず経緯から説明しますと、
本来この機能は XNPreeditState にて実現するのが正しいと思われます。
しかし、メジャー所の kinput2 がサポートしていないため、実現でき
ませんでした。そこで imactivatekey をキーイベントとしてルート
ウィンドウへ放り投げることで XIM に拾ってもらうという方法が Vim に
取り込まれました。もちろんこれは XIM のトグルキーとマッチすれば
拾ってもらえますが、そうでない場合は誰にも受け取ってもらえず、Vim
自身にイベントが戻ってきます。つまり、imactivatekey=s-space ならば
スペースが挿入されてしまうことになります。

またセオリーとしては XNPreeditState を XGetICValues し、NULL が返る
かどうか・・・つまり、XNPreeditState に対応しているかどうかで判断
できるはずなのですが、少し前の kinput2 では、この問い合わせを行う
だけでクラッシュしていいた為、実現できませんでした。
確かに混乱を招きそうです。
  
しかし今後 Vim は、
  imactivatekey によるトグル
  XNPreeditState によるトグル
の双方を取り入れざるを得ない状況にあると思っています。
その実働状況は

  OnTheSpot による動作
    imactivatekey によるトグル
      AtokX : NG
  kinput2 : OK(設定によってはNG)
  jmode : 不明
  nicolatter : 不明
  xcin : 不明
  ami : 不明
    XNPreeditState によるトグル
      AtokX : OK
  kinput2 : OK(旧バージョンではクラッシュ)
  jmode : 不明
  nicolatter : 不明
  xcin : 不明
  ami : 不明

  OverTheSpot による動作
    kinput2
    jmode
    nicolatter
    xcin(zh_TW, zh_CN)
    ami
についてはマイクファビアン氏により問題ないことは確認済み
    AtokX は不明

といったところです。

113 :mattn@Vim%Chalice :02/04/25 14:44
うわっリストがぐちゃぐちゃ(^^;)

OnTheSpot による動作
  imactivatekey によるトグル
    AtokX : NG
    kinput2 : OK(設定によってはNG)
    jmode : 不明
    nicolatter : 不明
    xcin : 不明
    ami : 不明
  XNPreeditState によるトグル
    AtokX : OK
    kinput2 : OK(旧バージョンではクラッシュ)
    jmode : 不明
    nicolatter : 不明
    xcin : 不明
    ami : 不明
  
OverTheSpot による動作
  kinput2
  jmode
  nicolatter
  xcin(zh_TW, zh_CN)
  ami
  についてはマイクファビアン氏により問題ないことは確認済み
  AtokX は不明

114 :名無しさん@お腹いっぱい。 :02/04/26 02:21
Spice girls 祭りですか?

115 :名無しさん@お腹いっぱい。 :02/04/26 14:23
えらいことになってるね。

116 :名無しさん@お腹いっぱい。 :02/04/26 19:02
gvimを使っているのですが
バイナリモードがわかりません
:set binをしたあとにファイルを読込んでも
何がかわっているのかいまいちわかりません.
他に何か設定しないとだめなのでしょうか.
教えてください。よろしくお願いします.

117 :名無しさん@お腹いっぱい。 :02/04/26 20:22
  :help edit-binary
読んだ?

118 :名無しさん@お腹いっぱい。 :02/04/26 21:01
>>114-115 うわお、めちゃめちゃウイルス来てるやん。procmailではじいてるから
今まで気付かんかった。皆さん大丈夫でした?

119 :名無しさん@お腹いっぱい。 :02/04/27 00:23
>>118
よく分からんが、「Content-Typeが糞」みたいなエラーメッセージが出たYO
(メーラはOutlookExpress以外のヤシだけど)

subscribeしてメール送った直後にコレだもんなー。マッタク


120 :名無しさん@お腹いっぱい。 :02/04/27 00:32
>>114-115,118-119
なんの話?

121 :116 :02/04/27 03:06
なるほど、オプションがバイナリ用に設定されるだけで
バイナリ編集ができるようになるわけじゃないんですね。
おさがわせしました。

122 :119 :02/04/27 03:49
>>120
vim-devを始めとする、vim関係のメーリングリストに流れたウイルスメール
のこと。


123 :名無しさん@お腹いっぱい。 :02/04/28 00:30
(´-`).。oO( vimにも、lookupみたいな辞書検索プラグインほすぃなあ… )

124 :99 :02/04/28 07:43
>>112, >>113
返事が遅くなりました。
imactivatekeyは、設定によっては意図しないスペースが入力されてしまう
こともあるようなので、できれば廃止の方向で進みたいですね。
で、XNPreeditStateが利用できないXIMでは、Vim上でのXIMの自動オン・
オフは利用できない、というのが妥当かな、と思います。

つまり、imactivatekeyをなくしてしまって、XIMがXNPreeditState
に対応していないと、XIMの自動オン・オフは使えなくなっている。
XIMがXNPreeditStateに対応しているとXIMが自動でオン・オフされる、
ってなっているとうれしいですし、このあたりが妥当かな、と
考えます。

XNPreeditStateの呼び出しでクラッシュしてしまうようなら、コンパイル
時にチェックしておくしかないのではないでしょうか。

125 :名無しさん@お腹いっぱい。 :02/04/28 10:55
>>123 KoRoNさんのdicwin.vimがあるじゃん。漏れはそれとは別にdictを呼び出
すスクリプト使ってるけど。

126 :名無しさん@お腹いっぱい。 :02/04/28 19:49
candy.vim あげ

127 :名無しさん@お腹いっぱい。 :02/04/28 20:51
Vim-6.0 for WindowsCE
ttp://www.rainer-keuchel.de/wince/vim.html

しかし……、

> VimCE is a port of Vim-6.0 for WinCE. It handles ASCII files only.

↓ソースはここ。まだないけど。
ttp://www.wince-devel.org/src/dirlist.html

128 :名無しさん@お腹いっぱい。 :02/04/28 21:11
>>127

ttp://www.rainer-keuchel.de/wince/vim-6.0-all-platforms.tar.gz
これはちがうの?

129 :名無しさん@お腹いっぱい。 :02/04/28 21:17
candy.vim あげ(=Upload 完了?)
fine_blue.vimは以前にも使わせていただきましたよ。

130 :名無しさん@お腹いっぱい。 :02/04/28 23:02
>>126, >>129 禿しくセンスいいよね、この人

131 :名無しさん@お腹いっぱい。 :02/04/28 23:31
>>128
それはソースではないんでは。

132 :117 :02/04/29 10:28
>>121 ごめん、ここも読んでみて。
  :help hex-editing
  :help 23.4

もうちょっと詳しくバイナリーファイルの編集について書いてありました。

133 :名無しさん@お腹いっぱい。 :02/04/29 14:53
vimで'u'コマンドでundoできますが
undoをundoする事って出来るのですか?

最近、迂闊にundoし過ぎて5分間の努力が水の泡
という事が多くて困ってます。

お願いします。

134 :mattn@Vim%Chalice :02/04/29 15:01
>>124
>返事が遅くなりました。
>imactivatekeyは、設定によっては意図しないスペースが入力されてしまう
>こともあるようなので、できれば廃止の方向で進みたいですね。
>XNPreeditStateの呼び出しでクラッシュしてしまうようなら、コンパイル
>時にチェックしておくしかないのではないでしょうか。
難しいとろこですねぇ。廃止の方向・・・

configure でのチェックだと、後にユーザが XIM をウプしても
機能がONにならないですよね。
かといって Atom まで調べて・・・っていうのもやりすぎですし

どうでしょう => KoRoNさん

135 :mattn@Vim%Chalice :02/04/29 15:04
>>133
redo のことでしょうか? (:help undo のすぐ下)
ならば Ctrl-R で出来ますよ。
そうでなく u を一回のみ・・・ということならば
:set undolevels=0
で幸せになれるかもしれません。

136 :KoRoN@Vim%Chalice ◆ALICEsdk :02/04/29 15:35
>>134
難しいですよねぇ…。ただしXIMを使うのは日本人だけではない(東アジア圏だけでも
ない)ということが重要なんですよ。もしも'imactivekey'を使わなきゃならないのが
(古いkinput2を使う)日本人だけなら、kinput2のXNPreeditState対応版が正式リリー
スになった時点で廃止してしまって良いかなという気になってます。
# 現状'imactivekey'は相当の混乱を生んでいますね…もうしわけない

打開策としては'imcontroltype'とか'imcontrolmethod'のようなオプションを以下の
ように新設して'imdisable'の機能も統合しちゃうというのを考えています。
    0   常に使わない(常時XIMにunfocus)
    1   insert/ex時だけ使用(insert/ex時だけXIMにfocus: vim 5.xと同じ)
    2   XNPreeditStateを利用したフルコントロール
UNIX系ではdefaultは0、WinやMacでは2です。あとは…なによりドキュメントによる
サポートを充実させなきゃダメですね。

こんな感じでどうですか?

137 :名無しさん@お腹いっぱい。 :02/04/29 15:45
なるほどなるほど、redoなるものが当然あるのですね。
勉強になりました。

138 :名無しさん@お腹いっぱい。 :02/04/29 16:56
編集中のファイルが裏で更新された時にすぐに
alertする機能は無いですよね?

139 :KoRoN@Vim%Chalice ◆ALICEsdk :02/04/29 17:32
>>138
即、というのは知らないですね。

更新後にvimをアクティブにした時に、チェックが入って警告を促すという機能はあ
ります。警告を表示せずに自動的にリロードしたいならば'autoread'でできますが…
(詳細は:help 'autoread')

140 :138 :02/04/29 17:51
>>139
ありがとうございます!
自動リロードできました。
ちなみに、「更新後にvimをアクティブにした時に、チェックが入って警告を促すという」
はどのようにおこなうのでしょうか?

141 :KoRoN@Vim%Chalice ◆ALICEsdk :02/04/29 18:58
>>139
'noautoread'にしておくと自動的にそうなりませんか?。
UNIXならこんな操作をすると体感できると思いますけど…

% echo abcdef > test.txt
% vim test.txt
<C-Z>
% echo ABCDEF >> test.txt
% fg

142 :KoRoN@Vim%Chalice ◆ALICEsdk :02/04/29 18:59
>>141訂正 :1s/139/140/

143 :138 :02/04/29 20:09
>>141
出来ました。
thx!です。

144 :名無しさん@お腹いっぱい。 :02/04/29 23:56
>140 ctrl-L で更新されているかチェックするような気がする。

145 :名無しさん@お腹いっぱい。 :02/04/30 00:06
vimでtabstopが何に設定されているかや、
どのオプション?が設定されているなどの一覧を見ることはできますか?

146 :名無しさん@お腹いっぱい。 :02/04/30 00:17
:set
# 一覧に tabstop は出てこなかったけど。おれだけかな?

147 :名無しさん@お腹いっぱい。 :02/04/30 00:25
できました。bashと似たような感じなのですね。
ちなみに私もtabstopは出てきませんでした。
しかし改めてtabstopを設定してみると出てきました。

ありがとうございました。

148 :名無しさん :02/04/30 01:20
>>146
:set
で出てくるのはデフォルトと異なる値に設定してる項目だけではなかったかと
思われ。


149 :名無しさん@お腹いっぱい。 :02/04/30 01:21
:set all
で全部でてくるよ。

ちなみに
:options
もけっこう面白い。

150 :名無しさん@お腹いっぱい。 :02/04/30 02:27
>>149
プラグイン愛用者は
:let
も楽しいかも。

151 :164 :02/04/30 02:39
>148-149
そっ、そうなんですね。勉強になります。

152 :146 :02/04/30 02:41
>151
"164 なわけがない。でした。

153 :99 :02/04/30 09:33
>>145
set tabstop?


154 :mattn@Vim%Chalice :02/04/30 10:10
>>136
>日本人だけなら、kinput2のXNPreeditState対応版が正式リリー
>スになった時点で廃止してしまって良いかなという気になってます。

廃止のタイミングもむずかしそうですね。
まとめましょう。
-----------------------------------------------------------
要因1
  現状、世界には数多くの XIM があり、その幾つかは
  XNPreeditState をサポートしない。
  またその中には XNPreeditState のサポートを確認する
  だけでクラッシュするものも存在する
  さらには imactivatekey を使用してもクラッシュしたり
  スペースが挿入されてしまう XIM が存在する。

要因2
  現状、 XNPreeditState によるトグル(オフィシャル未取込)が
  あり、オプション imactivatekey を空値にすることで
  XNPreeditState によるトグルが可能になるパッチがある。
  (kinput2、AtokX にて動作確認済み)

  できればこれらを動的に確認し、ブラックボックス的な
  扱いにしたいが、記述の問題があり難しい。

打開策1
  XNPreeditState をサポートしない XIM をレガシー扱いにして
  しまい、imactivatekey のサポートを廃止する。
  (もしくはソースから切り取る)
  ドキュメントとしてはサポートの打ち切りと、その経緯を
  説明しておく。

打開策2
  imactivatekey と XNPreeditState を取り入れる。
  ドキュメントとしては経緯と解決法を記述する。
  (後に打開策1へ以降する)

打開策3
  imactivatekey と XNPreeditState を取り入れる。
  さらに新しいオプションを設け、すこしでも問題をユーザが
  解決できる術を用意しておく
    imcontrolmethod:
      0   常に使わない(常時XIMにunfocus)
      1   insert/ex時だけ使用(vim 5.xと同等)
      2   XNPreeditStateを利用したフルコントロール
  この場合、ドキュメントの充実が必要となる

#95さん、KoRoNさん、どれが良いと思われますか?
#私個人は現状、打開策2ですが、他の皆さんはどうでしょう?

155 :KoRoN@Vim%Chalice ◆ALICEsdk :02/04/30 10:55
>>154
打開策3は>>136の後半を受けての策だと思いますが、私の意図ではimactivatekeyは
廃止した上での話をしたつもりでした。廃止の方向に揺れている理由は、XIMには
我々が考えているような操作(activatekeyでトグルする)を前提としないものがある
(らしい)ということです。そのためimactivatekeyは少々一般性を欠いているのです。
# これは作ってみて初めてわかったことなので(^-^;

これほどしっかり根本から見直すなら、ユーザがどのように使えるのかという視点に
立って考えることもできそうですね。例えば、vim起動時になんらかの方法でXIMの種
類とバージョンを自動的に判断して、適切なコントロール方法を選択するというよう
なことも…大変そうです。

実装の手間を考えれば、現状では私も打開策2に賛成です(もうまっつんさんのパッチ
はありますから)。ただ思うのですが、1,2,3の策は対立するものではなく発展のス
テップなんじゃないでしょうか?。まず2がすぐにでもできる、次に3ができる、そし
て1ができる。その中で使いやすさと安定性が損なわれなければ良いと。どうでしょ?

156 :mattn@Vim%Chalice :02/04/30 18:00
>>155
> 例えば、vim起動時になんらかの方法でXIMの種類とバージョンを
> 自動的に判断して、適切なコントロール方法を選択するというよう
> なことも…大変そうです。
これは厳しそうですね。
おそらくオフィシャルからは No と言われるんでしょうね。(^_^;)

> 1,2,3の策は対立するものではなく発展のステップなんじゃないで
> しょうか?。まず2がすぐにでもできる、次に3ができる、そして1が
> できる。その中で使いやすさと安定性が損なわれなければ良いと。
> どうでしょ?
そうですね。
まず第1ステップとして XNPreeditState パッチを取り入れてもら
おうかと思うのですが、運が悪いことに
  1. オフィシャルへXIMトグルに関する質問がくる
  2. XNPreeditState パッチを提供する
  3. その後パッチを取り入れた結果が送られてこない・・・
という悲しいシナリオが2回ほど続いておりまして、結果としては
  kinput2 : 私の結果
  AtokX : 95さんの結果
しかありません。
まず結果を出してから・・・と言われそうな気もするんですが、
この辺どう思われますか?


続きを読む

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

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