トップページunix
1001コメント327KB

Vim6+ Part12

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2005/11/26(土) 10:33:23
Vim 6以降に関する話題、Part12です。
http://www.vim.org/

前スレ
http://pc8.2ch.net/test/read.cgi/unix/1110817975/

関連情報は>>2-8あたり。
0043名無しさん@お腹いっぱい。2005/12/12(月) 18:18:54
/で検索するときに2個のキーワードを葉以来とさせることってできますか?

たとえば、
where と update を同時にハイライトさせたいときってどうすればいいのでしょうか?
0044名無しさん@お腹いっぱい。2005/12/12(月) 18:26:21
正規表現の選択を使えばできるね。

/\(where\|update\)
0045名無しさん@お腹いっぱい。2005/12/12(月) 18:44:37
>>44
> 正規表現の選択を使えばできるね。
>
> /\(where\|update\)

thanks!

バックスラッシュが省略できると、もう見た目がきれいなのだけど、、、
0046名無しさん@お腹いっぱい。2005/12/12(月) 19:59:10
>>45
:h /\v
0047名無しさん@お腹いっぱい。2005/12/12(月) 23:57:26
>>42
お答えいただいたのに失礼ですが、
そういう場合は素直に「できません」か「わかりません」って
答えてくださいよ。
0048名無しさん@お腹いっぱい。2005/12/13(火) 04:37:21
>>37
それは vim -R hoge.java のファイルを編集したんでしょ?
それでは、警告が出て当り前。だいいち読み込み専用ファイル
を編集しようとしているし…

最初に vim hoge.java または gvim hoge.java で開いて
読み込み専用のほうだけを vim -R hoge.java で開く、
と書いたつもりなんですが…
0049名無しさん@お腹いっぱい。2005/12/13(火) 08:28:09
>>47
できるんだから好きなだけ自動化すればいいじゃん。
スワップファイルには大した情報入ってないから問答無用で消しても問題ないと思うけど。
0050名無しさん@お腹いっぱい。2005/12/14(水) 12:35:23
アルファベットの大文字を小文字に変更するにはどうすればできますか?

小文字は小文字のままで、非アルファベットはそのままでお願いします。
0051KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/14(水) 13:01:05
>>50
:%s/\u\+/\L&/g

:help /\u
:help s/\L
:help s/\&
0052名無しさん@お腹いっぱい。2005/12/14(水) 14:14:18
Visual選択してuでもおk
0053名無しさん@Vim%Chalice2005/12/14(水) 18:45:03
>>51-52
サンクスです。
~ は知っていたのですが、 u/U は知りませんでした。

勉強になります。
0054名無しさん@お腹いっぱい。2005/12/15(木) 00:56:23
ファイル末尾にCRLFが自動的に挿入されるのを止めることはできますでしょうか?

:set noeol binary
以外の解決策が知りたいです。
0055名無しさん@お腹いっぱい。2005/12/15(木) 01:10:13
>>54
>:set noeol binary
何か問題でも?
0056名無しさん@お腹いっぱい。2005/12/15(木) 01:24:11
>>55

KaoriYa.netの掲示板に

"ただし'binary'オプションには副作用があるので注意が必要です。詳細はヘルプに任せ
ますが、重要なところでは'fileformat'オプションが無効になります。そして最終行で
ないEOLは常にLFになってしまいます。なのでCRLFをEOLとして使用したい場合には、各
行末に手動でCRを付加する必要があります。"

とあったので……。
0057名無しさん@お腹いっぱい。2005/12/15(木) 01:29:19
noeolって単体では無効なのか。不便だな。
0058名無しさん@お腹いっぱい。2005/12/15(木) 01:39:46
>>57

"行指向エディタであるvimでは基本的にできません。あとはそのようなファ
イルを編集するたびに留意するか、そのためのスクリプトを書くか、どっちにしろ人が
頑張らなければいけません。"

だそうです。
ファイル保存時にEOFのCRLFを削除するスクリプト等があれば良いのですが……。
0059KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/15(木) 02:39:29
>>57 なんで単体じゃ使えないんですかね。不思議だなぁ。
0060名無しさん@お腹いっぱい。2005/12/15(木) 10:35:26
なんで改行つけられたくないの?
0061名無しさん@お腹いっぱい。2005/12/15(木) 15:24:54
KaoriYaさんで配布している
Libiconv DLL 1.10-20051016 for Windows
を使うとeuc-jpで保存できないときがあります。
保存できていたファイルの一行を消すと保存できなくなることがあ
ったため、不正な文字が含まれているのが原因ではないと思います。
0062KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/15(木) 22:25:54
>>61 そのファイルを私にください。
0063名無しさん@お腹いっぱい。2005/12/15(木) 22:41:05
>>62
vim6.4のREADME_j.txtでも起きます。
0064542005/12/15(木) 23:27:04
>>60

アプリケーションで読み込むためのテキストデータに、
改行コードが含まれていると動かないのです。
0065名無しさん@お腹いっぱい。2005/12/15(木) 23:56:46
なんだか段々使いにくくなって行ってないか
0066名無しさん@お腹いっぱい。2005/12/16(金) 00:06:14
きのせい
0067KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/16(金) 00:17:30
>>63 その再現方法を特定してください。
0068名無しさん@お腹いっぱい。2005/12/16(金) 00:29:41
>>67
e README_j.txt
se fenc=euc-jp
:w
0069KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/16(金) 00:40:33
軽く切り分け作業をしてみたんですが、なんかlibiconv単体の問題じゃなさそうです
ね。同じREADME_j.txtでも1,200を保存しようとすると×で、1,100や101,200とわけ
れば○。ちなみにiconv -f cp932 -t euc-jp README_j.txtは問題なく通ってますね。

6.4になってから混入した問題か、libiconv 1.10との組み合わせの問題か、最近の
パッチで修正された部分に該当するかは不明です。
0070KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/16(金) 03:07:18
>>69
原因がわかりました。libiconvが使っているCランタイム(MSVCR71)と、Vimが参照して
いるCランタイム(MSVCRT)が異なっていました。そのため変換バッファがちょうど2バイ
ト文字を切断している際に、libiconvが発生させていたエラーをVimが捕捉できておら
ず、それにより変換ミスとして扱っていたことが原因です。

Vimが参照するCランタイムをlibiconvのそれに修正しました。アーカイブもnetupvimも
既にアップロードしてあるのでご利用ください。

# libiconvのerrnoを使うという古いエラー伝播方法には無理があるよなぁ… orz
0071名無しさん@お腹いっぱい。2005/12/16(金) 03:15:38
>>70
どうも。アップデートしたら直ってました。
0072名無しさん@お腹いっぱい。2005/12/16(金) 22:46:35
kaoriyaさんのnetupvimを使うと、パッチが当たるのは嬉しいんだけどさ。
自分用のJavaScriptのシンタックスファイルを上書きされちゃった。
上書きされても構わない様に、自分用のランタイムファイルを別にして置こうと思うんだけど
runtimepathの先頭に専用のディレクトリを追加すれば、それで大丈夫?
それとも、vimfiles/afterに置いた方が良いのかな?
0073722005/12/16(金) 22:51:08
すまん、聞くよりも試せだね。
無事に解決した。
0074名無しさん@お腹いっぱい。2005/12/16(金) 23:28:05
>>64
まーとりあえず、こんなんでどうすか
autocmd BufWritePost * call NoEolWrite(expand('%'))
function! NoEolWrite(filename)
  let xxd = $VIM . '\xxd.exe'
  let len = getfsize(a:filename) - (&fileformat == 'dos' ? 2 : 1)
  if &binary == 0 && &endofline == 0 && len >= 0
    silent execute 'w !"' . xxd . '" -len ' . len . ' | "' . xxd . '" -r > "' . a:filename . '"'
  endif
endfunction
0075名無しさん@お腹いっぱい。2005/12/17(土) 00:10:21

どなたか心ある方。Vikiのまとめサイト作ってくださらんか。


昨晩インストールして「こりゃすげぇ」と遊んでたんだが、今日になって
エラーでまくりで動かんくなってしまった。
なんどインストールやりなおしてもだめ。
今あたまに血がのぼっている。
0076名無しさん@お腹いっぱい。2005/12/17(土) 15:22:47
_gvimrcの設定で
set visualbell
set vb t_vb=
を書いてもビープ音は消せても
画面のフラッシュが止まらないんですが
0077名無しさん@お腹いっぱい。2005/12/17(土) 16:26:04
>>76
se novisualbell
0078名無しさん@お腹いっぱい。2005/12/17(土) 17:33:02
>>74 :w だとfencの設定が反映されないので修正
autocmd BufWritePost * call NoEolWrite(expand('%'))
function! NoEolWrite(filename)
  let xxd = $VIM . '\xxd.exe'
  let len = getfsize(a:filename) - (&fileformat == 'dos' ? 2 : 1)
  if &binary == 0 && &endofline == 0 && len >= 0
    let tmp = tempname()
    call system('""'.xxd.'" -len '.len.' "'.a:filename.'" | "'.xxd.'" -r - "'.tmp.'""')
    call rename(tmp, a:filename)
  endif
endfunction
0079名無しさん@お腹いっぱい。2005/12/17(土) 19:40:19
>>77
そうするとビープ音が鳴るようになってしまった
言葉が足りなかったかも
ビープ音とフラッシュ両方消す方法はないでしょうか
0080542005/12/17(土) 20:00:34
>>74
有り難うございます。
昨日はそのscriptで動いていたのですが、
今日になって何故か効かなくなりました。謎…。
0081KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/17(土) 20:03:50
>>79
:set visualbell t_vb=
とすれば、どちらもキャンセルできるはずです。

'visualbell'はビープ音の変わりに画面をフラッシュさせるオプションです。't_vb'
は、フラッシュさせる際に端末へ送信される、フラッシュのための命令コードを指定す
るオプションです。この設定方法では空文字列が指定されているため、フラッシュしな
くなることが期待されます。結果、ビープ音もフラッシュもしなくなる、というわけで
す。
0082名無しさん@お腹いっぱい。2005/12/17(土) 20:09:06
Kaoriya版vim 6.4.004 for windowsのgvim使ってますが
_gvimrcで
set scroll=2
としても、設定が上スクロール(C-U)にのみ反映されたり、
(C-U)も(C-D)も半ページスクロールしたりするのですが
書く場所が間違っているのでしょうか?
(6.4無印でも同じ症状でした)

ちなみにコマンドラインで
:set scroll=2
となると、望みどおりの挙動になるし
あと、ftplugin/のファイルタイプごとのプラグインにset scroll=2と書くとやっぱりOK…

0083KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/17(土) 20:20:27
>>82
:help 'scroll'を読むと、ウィンドウの高さが変わるたびにリセットされる、とありま
すね。単純に'scroll'が設定された後にウィンドウの高さが設定(決定)されているので
しょう。

解決になるかはわかりませんが、_gvimrcの中にguiコマンドを書き、その後ろで
'scroll'を設定するようにしてみてください。

:gui
:set scroll=2
0084名無しさん@お腹いっぱい。2005/12/17(土) 20:45:17
>>80
ファイルを開いた時に、末尾に改行があればendoflineが、なければnoendoflineが
自動的に設定されるんだけど、74のスクリプトでは、勝手に改行を削除しちゃわないように
noendoflineの時だけコマンドを実行するようにしてるので、元から改行が付いている
ファイルの改行を削除したいなら、ファイルを開いてから :set noendofline と設定して、
それから保存しないといけない。というわけでそういうことじゃないかと...。
0085名無しさん@お腹いっぱい。2005/12/17(土) 21:03:51
>>83
ヘルプに書かれていたとは…見落としてました。どうもありがd( ´Д⊂ヽ
しかしリサイズするとscrollを変えてしまうウィンドウってWindowsのウィンドウじゃなくて
vimのウィンドウなんですね。うーむ、taglistとかquickfixもしたいし…

と、必死で再度ヘルプを読んでいたらC-E C-Yで1行スクロールできるんですね。
あとnoremap <C-U> <MouseDown>みたいのもできるとは…
恥ずかしい。スレ汚しスミマソン
0086KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/17(土) 21:31:21
>>85
helpのどこだったかは忘れましたけど、C-UやC-Dで常に決まった行数スクロールさせた
い場合は、<C-Y>/<C-E>を必要な回数押すマップを書け、という記述を読んで失笑した
記憶があります。
0087762005/12/17(土) 21:57:11
>>81
gui
:set visualbell t_vb=
でビープ音とフラッシュともに消去出来ました
guiの後に書かないとだめなんですね
ありがとうございました
0088名無しさん@お腹いっぱい。2005/12/18(日) 01:21:12
>>86
発見しました。
:h scroll-smooth
0089名無しさん@お腹いっぱい。2005/12/18(日) 02:02:29
http://openlab.jp/skk/wiki/wiki.cgi?page=SKK%BC%AD%BD%F1
にある辞書をSKK-JISYO.zipcodeとSKK-JISYO.office.zipcode(郵便
番号のエントリが大量にある)を合体させた辞書でg/で1を検索させ
るとvimがSEGVで落ちました。

cmigemoを単体で起動して1を検索したら、243070バイトの出力があ
りました。

vim 6.4 cmigemo 1.3devです。

バックスペースはこのようになっています。

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 4577)]
0x0816290c in regnext (p=0x408825c9 <Address 0x408825c9 out of bounds>) at regexp.c:4692
4692        offset = NEXT(p);
(gdb) bt
#0  0x0816290c in regnext (p=0x408825c9 <Address 0x408825c9 out of bounds>) at regexp.c:4692
#1  0x0815ee54 in regtail (p=0x40716021 "\226", val=0x4086d011 "\003") at regexp.c:2240
#2  0x0815c838 in reg (paren=3, flagp=0xbfffd0a4) at regexp.c:1053
#3  0x0815dcf4 in regatom (flagp=0xbfffd0dc) at regexp.c:1650
#4  0x0815cdda in regpiece (flagp=0xbfffd11c) at regexp.c:1245
#5  0x0815cd2c in regconcat (flagp=0xbfffd15c) at regexp.c:1206
#6  0x0815cadd in regbranch (flagp=0xbfffd198) at regexp.c:1121
#7  0x0815c793 in reg (paren=0, flagp=0xbfffd1d8) at regexp.c:1034
#8  0x0815c30c in vim_regcomp (
    expr=0x40615008 "\\%([浬十什XGKMYZETnμmcyzdafpP百h千1I壱一弌壹1]\\|
    町\\_s*田\\_s*\\%(郵\\_s*便\\_s*貯\\_s*金\\_s*地\\_s*域\\_s*文\\_s*化
    \\_s*活\\_s*動\\_s*支\\_s*援\\_s*施\\_s*設\\_s* \\_s*@\\_s* \\_s*東\\
    _s*京\\_s*都\\_s*町\\_s*田\\_s*市\\_s*"..., re_flags=1) at regexp.c:852
0090KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/18(日) 02:21:19
>>89
詳細な報告をありがとうございます。

> cmigemoを単体で起動して1を検索したら、243070バイトの出力がありました。

Vimに対しては改行無視用のパターンが付加されるので、1.5倍くらいは出力されている
のでしょうね。もっともそれの有無に関わらず、単純にVimが扱える正規表現を超えて
いるように思われます。できれば辞書のエントリ数を減らしてみて、cmigemoの出力が
減れば動くようになることを確認していただけますか。
# 生成されたパターンの内容によって落ちているのではないことを確認したいのです。

生成されるパターンが大きくなってしまうので、既にk,s,tあたりについては1文字では
C/Migemoが動作しないようにしているのですが、本来コレはC/Migemoで判断できるべき
なんですよね。出力されるパターンの最大バイト数を指定できて、それを超えたらエ
ラーとなって、パターンが取得できないという流れが自然でしょう。
# 暫定的にVim側で対応するつもりではいます。

> バックスペースはこのようになっています。
typoだとは思われますが念のため「バックトレース」ですね。
0091名無しさん@お腹いっぱい。2005/12/18(日) 02:41:37
>>90
1から始まる郵便番号のエントリが7664個あり、そのうち最初の
3000個を消した辞書と最初の3000個以外を消した辞書では正常に動
きましたので、あるパターンによって落ちているのではないと思い
ます。

>> バックスペースはこのようになっています。
>typoだとは思われますが念のため「バックトレース」ですね。
ですね。
0092KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/18(日) 12:19:34
>>91
次のパッチをあててみてください。C/Migemoが返したパターンが一定の制限(現在は
60000バイト)を超えたら、正規表現ルーチンに渡さないようになっています。まだ落
ちるようでしたら、その60000という制限を30000,10000,5000という感じで厳しくし
てみてください。よろしくおねがいします。
0093KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/18(日) 12:22:12
begin-base64 644 patch.tar.bz2
QlpoOTFBWSZTWeaJ4IQAAi7/zugwAIBZ////bq++e////7oQAAIAAECgAAAIQAK9rSxm2NISoI0p
6niGRPTSaNlGg00aHojEMgAANABoNTBEI0xTINDRoAA9QAANAAA0NAOMmCaGQyMjJoaANBkYQDQa
NMhiGgAkiSekwIaTaT0Uemp6gA0A0ADQPKeUAaA02ceT98qAJogkEjZ6bs8OY0YkRDJAMJ8tzGFl
NEQyIx087OYECFnLzzF4JXFS2+D9pVWtbjF4qhCIr88YKrrvJNOgLUDI+rJCsxIJBdDS4XFW8HOj
Ol8tJ140OQSVvehEyYuD4knr9vkM+lCizV23rm6l2eBdhhk3aFwMQeaPI5GZ5UXMECxzT5+9PzWG
GkGNjc9lQTO98khUPcZpdkOK9JM7u/WUy0gVsmZ0cksdA8CoaQUNib+GWaYtQBrCaBdMIolIVAu9
5hRszmqi3mYGgUgJO4iArkBYEtKq4+KRyqGExoT2NMAwZaYtCoO9TDHoGZRElmE0uEqkIw9Y4nER
MGCCrTsDgURFOU4kOgo7T2ciqiwWVaqCihqwg0AphFE06PG5fCUZ1oicaLJqzwdp0uBuITLUuH1n
qtwxNpxh7DYa74TIclx6x9x7mHPCHwY3THVkciOXincbfRPWzDbhqimspF/RxRHhSkPbjwIRjWcB
YxtxOfIMUB8CuFsYjIovBTBEQAyAtVQHwM+59yCw4WEn7cgLoNrv3RYdMQTWMO8hH8p8uShMfFBI
HyJLUEM0QwGXEJmwm/fIKDcLEWQZgy2uWsVhdrGxECOAwoMasJP4NjlnpTnTuJy4uWDboDKSUdgr
03Pbvpz6RT8uquJSg0O2YgoEHjXbkaFvCWCZS7VQG9EitDTouoWTH5GMGVGPJE0Cot/C4PdZgMiM
I2cLwnMkpUUNSZBsVKDVAam9QMfMMCocIb2m9Y7PEmmGMiecseohWSIIB7dX9QaSIjHYD91Bobjh
iRAV0BCSGm5l/so2hAH+LuSKcKEhzRPBCA==
====
0094名無しさん@お腹いっぱい。2005/12/18(日) 13:31:27
>>93
60000で落ちなかったので落ちる値を探してみたところ731425で落
ちなくて731426で落ちました。2つのマシンで試しましたが、両方
ともその値で落ちました。
0095KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/18(日) 14:09:15
>>94
わざわざupper limitまで試して調べていただいてありがとうございます。とりあえ
ずは安全なラインということで60000で行くことにします。
0096KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/18(日) 14:25:08
>>95 一応60000という数字について補足説明しておきます。

正規表現全体については、メモリの許す限り大きなパターンを指定できそうなんです
が、個々の要素、たとえば本事例では/\|のbranchなどには何らかの上限が存在するよ
うです。
# というのも正規表現のところをちゃんと読んだのは、もう何年も前なんで細部を忘れ
# ているんですよね orz

もちろん要素毎にサイズ制限を考慮した、C/Migemoの有効化制限ができれば理想です
が、ちょっと手間ですし実用上その効果にもさほど差がないと思われるので、それらの
要素に絶対に大きなパターンが投入されないことを保証する意味で、十分なマージンを
考慮しての60000という数字です。
0097名無しさん@お腹いっぱい。2005/12/18(日) 18:34:38
香屋さん配布のchaliceの場所にsvn
で管理出来るとあり

svnのwindowsのバイナリパッケージを落としたのですが
日本語メッセージ関連で起動時に文字化けしてしまいました。

英語と文字化けが混じります。

muttなどのケースでは配布バイナリには付属で色々入っていて
簡単だったので(正常起動に必要なパラメータ、起動スクリプト)

手本が見当たらないので正常起動出来ませんorz...

windowsコマンドラインでのsvnは使えないのでしょうか?

../ja/..とiconv/cp932,euc-jpなど
色々あったので日本語で動くと思う(ように思う)のですが

GUIインストーラなら正常起動するのかな?
zipのコマンドライン版を入れたいと思いました。

もし使われている方や詳しい方がいたら教えて欲しいです。

スレ違いかもしれませんが書くスレがいまいち不明なので
ごめんなさいです(^^;;
0098KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/19(月) 00:30:38
>>97
環境変数APR_ICONV_PATHに、svnのディレクトリにあるiconvを指定してください。
C:\svnにインストールしたのならば
    set APR_ICONV_PATH=C:\svn\iconv
こんな感じです。私はdiffの中に日本語メッセージが混ざるのを嫌って、
share\locale\jaを適当にリネームして無理やり英語メッセージで使ったりしてます。
0099972005/12/19(月) 03:45:29
正常に表示されました。弊害もあるんですね。

起動バッチにしたら
少し変?ですが文字化けしなくなりました。

起動してぱーっと流れて消えちゃうので
そのままstart /Bで起動すると表示が少し変ですが

ありがとうございました
0100名無しさん@お腹いっぱい。2005/12/19(月) 17:32:42
....for .... {
........do_something
....}
のようなコードがあったときに(. は半角スペース)、
行の先頭から5文字目に # の記号を入れたいときは
どうすればできますか?
0101名無しさん@お腹いっぱい。2005/12/19(月) 17:57:49
C-vで5文字目を縦に選択し、I#<esc>
0102名無しさん@お腹いっぱい。2005/12/19(月) 20:43:59
>>101
デキター
0103名無しさん@お腹いっぱい。2005/12/19(月) 21:36:14
gvim + GTK+2でimactivatekeyが機能するインプットメソッドってどれ?
うちのFreeBSD6ではuimとscimはダメっぽい。
0104名無しさん@お腹いっぱい。2005/12/19(月) 21:37:14
>>103
kinput2
0105名無しさん@お腹いっぱい。2005/12/19(月) 21:38:13
>>103
uim-gtkでuse-with-viを使えば、それなりに便利
0106名無しさん@お腹いっぱい。2005/12/19(月) 23:16:32
>>104
kinput2も同じくダメでした。入力はできるけど自動的にスイッチしてくれない。
>>105
uim-gtkは見つけられず。uim-ximとは別もんですよね。portsでは入らないんだろうか。
そのうちなんとかして試してみます。

どうもありがとう。
0107名無しさん@お腹いっぱい。2005/12/19(月) 23:26:59
>>106
uim-gtkはgtkのimmoduleですよ。
geditとかで右クリックするとIMの選択肢の中にあるuimってやつ。

>kinput2も同じくダメでした。入力はできるけど自動的にスイッチしてくれない。
うーん、おかしいな。imak=s-spaceにしてますか?
0108名無しさん@お腹いっぱい。2005/12/20(火) 00:45:23
kinput2はGTK_IM_MODULE=ximと設定すると入力できなかったんで外してたんだけど、
そのせいでuimが選択されてただけでした。というわけでkinput2では普通に入力すら
できてないです。たぶん"Warning: Input Method Open Failed"がエラーメッセージ。
xtermには入力できるんだけど、なんでだろ。

uimは.uimに
(require-module "anthy")
(define anthy-use-with-vi #t)
と書いて、gvim右クリックからuimを選択してやってみたけどあんまり変らなさげ。
0109名無しさん@お腹いっぱい。2005/12/20(火) 00:54:00
(define anthy-use-with-vi? #t)
が正解です。素直にuim-prefを使おう。
0110名無しさん@お腹いっぱい。2005/12/20(火) 01:18:40
どうもすいません。けど?を付けてもなにも変りませんでした。
uim-prefにもそういう項目はないので、根本的になにか間違ってるのかも。
0111名無しさん@お腹いっぱい。2005/12/20(火) 01:36:17
>>110
あ、1.0.0からでした。たぶん。
0112名無しさん@Vim%Chalice2005/12/20(火) 12:16:24
vimで現在開いているドキュメントを例えばブラウザに渡すような事
を出来ないでしょうか?ペルプには「新しいコマンドを作る」
Key mapping...とありこれで出来るのかなと思ったのですが
イマイチよく判らないですorz...

例えばmuttのマクロみたいに参照ドキュメントを%sと渡したいです
htttp//..と書かれていると飛びたくなるんです

れど飛べないのでorz...
無理でしょうか?使い勝手を良くしたいです
御先輩方のお知恵を貸してください。
0113名無しさん@お腹いっぱい。2005/12/20(火) 13:10:17
>>112
chaliceでできているじゃないか。
0114名無しさん@お腹いっぱい。2005/12/20(火) 14:44:44
すみません。
let chalice_exbrowser ...などは平時にも効くのでしょうか?
howm.vimだとshell exec?みたいな関連付けで
開かれるのですが

chaliceのなにかが効いてるとは判りました。
素のなんでもないドキュメント見てるときに
さっと割り当てで開きたいです

ブラウザ>エディタの逆をしたく

エディタ>ブラウザとしたくなるんです
色分けで色付いてるしなんか開きたくなります。
設定で出来る物なんでしょうか?
chaileのなにかを呼び出すのでしょうか?

質問ばかりですいません。他エディタのクリッカブルURL
のような感じになってるグローバル設定みたいな風
にvimをしたいです。

howmやchaliceの中だけじゃなくhttp:// file://に反応させたいんですが
無理かな
0115KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/20(火) 14:57:28
>>114
http://www.kaoriya.net/testdir/openurl.vim

私はコレ使ってます。要alice.vim
    Ctrl-] でunder cursorのURLにジャンプ
    :OpenUrl % で現在のファイルをブラウザに送る。
ただ後者はカレントディレクトリが異なると動かないことがあります。
0116名無しさん@お腹いっぱい。2005/12/20(火) 15:55:12
.vim/ftplugin/php.vimに
set fileencoding=utf-8
と記述して新しくファイルを作成する際にUTF8で開くように設定したのですが
UTF8以外で書かれている既存のPHPファイルを開く場合でもUTF8に変換されてしまいます。
既存のファイルを開く場合は文字コードの変更をしないようにしたいのですがどの様にすればよいのでしょうか。

.vimrcにはぐぐって見つけた日本語の文字コード自動認識スクリプトを使っています。
0117114@Vim%Chalice2005/12/20(火) 16:12:08
ありがとうございました。shell execで動きました。
少し警告が出ますが、希望どうりになりました。
しかしMozzila重い(^^;;
chaliceではテキストブラウザ割当てで快適に出来たのでと...
テキストブラウザ割当たいのですが読んでも判らなかったです。
でもこれで踏みたい願望は叶いました(^^
ありがとうございました。

OpenUrlは第一引数までしか拾ってくれませんでした。
%が引渡されてブラウザが起動せずブラウザ指定で起動してもファイルが渡せないです。

:OpenUrl"lynx"
:OpenUrl w3m

windowsのせい?かもしれないです。

ありがとうございました。快適になりました。
0118名無しさん@お腹いっぱい。2005/12/20(火) 16:35:45
vimのコマンドラインで"q:"とやると過去のコマンドの履歴が表示されますが、
ここにある
  46 e .
というのを元にhistoryコマンドの"!46"と同じような感覚で実行するにはどうすればできますか?
0119名無しさん@お腹いっぱい。2005/12/20(火) 21:36:54
gvim 6.4 + kaoriyaパッチでim-xim + kinput2 3.1を動かすと固まりますね。
0120名無しさん@お腹いっぱい。2005/12/21(水) 00:45:31
「Libiconv DLL 1.10-20051016 for Windows」を入れて
yahoo ニュース( ttp://headlines.yahoo.co.jp/hl ) のソースを読む(まっつんさんのスクリプトを使っています)とEUCと判断してくれません
1.9.1 だと正常に表示できます
香り屋さんの Headline 使っているんですけど yahoo ニュース のヘッドライン拾うと同じように化け化けになってしまいます
原因は判るでしょうか
vim は 6.4.004 です
0121KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/21(水) 02:08:57
>>120
EUCのページで使われることのある文字化け対策文字(0xFDFE)が入ってますね。この文
字はEUC-JPとしては不正な文字であるため、香り屋で配布しているLibiconv 1.10系列
(改造版)は、この文字に対応していません。対策は立っていません。困りましたねぇ。
0122名無しさん@お腹いっぱい。2005/12/21(水) 05:25:33
>>121
そうですか
Headline は便利なんでちょっと捨てられないです
残念ですが前のバージョンに戻してみます
ありがとうございました
0123名無しさん@お腹いっぱい。2005/12/21(水) 12:29:37
なんでカーソルの斜め移動が出来ないのは不具合ですか?
0124名無しさん@お腹いっぱい。2005/12/21(水) 13:01:03
>>123
ネットハックではないので。
0125名無しさん@お腹いっぱい。2005/12/21(水) 13:11:54
>>123
:se nogridbug
0126名無しさん@お腹いっぱい。2005/12/21(水) 20:16:27
Vim7 + GTK+ 2 GUI + SCIM + GTK_IM_MODULE=xim な環境で
imactivatekeyによるIMの制御ができるようになるパッチ。
自分専用のとりあえずの変更なんで、必要な人だけどうぞ。

begin-base64 644 mbyte.c.diff.gz
H4sIAOY1qUMAA6VTXXOaQBR9ll9x40MLIhGNWotjqq0040RNRtLp9KU7CAvuRIHZXRKdJvnt3QUk
0kkfOuVhv+6959w9Z/FJEIBBYdAP/J7X9vuDjg+Meq3d+sDxuacYhgFu6+Sk5qQRTLEH7QGYF9bF
B6s3gI5p9hRd12FdSf2O/Sy10xYZlmlavW6eOh6D0TUH3WanD3q2aH+E8ViBGoiPBKDiBxxx45If
EgxnI7iaXqNr+we6XdmOo4m8GsU8pRHcrb7ZQwUUo6zcuQniMcJ7wjhDu9jHquptXIpSaGj1ehPm
k+XVYnKraUXRLzHXyA4xzJHrcfKA1a+TuWNrQ8WQoVYD6tZWwNZBDAmJQgY5ehN4HIZbDCnDEAdl
+BwaLVnpcJdj+Dk6Ug4zJtFjHnhXtiLPszZkP15K12lgXK5RgsiORAxTDiP4jGaLm6mNljdLe3jM
LYBG8HJK8SwHvGX4X3Dnx+pX3Kdq5xlsRfdcwOdMJ7kqgiG/FwzIiyOO9xwFZMsxRff4kFDMmLon
XhMyg4XEelYoNC6knC2kePrfbpcHqm6diW0otkykp0zVStRTqWdLx17daSJSe1sIGSmwT8HgU6mQ
aM36w4acR0pdIfuymM5nS/sNNoZd6m3+i41t4sfsWZf3DFOC0sQX3EiwsZiq0p4mHJ9xUZdxIIp9
6j6ivK1XjOr/JLwGMQpbpnH0nkNuYW4aA76hcRpuxJz5VfgsFRA7wmRBbo3yG+XBuVJgBAAA
====
0127名無しさん@お腹いっぱい。2005/12/22(木) 19:30:46
こんなところに出して…
著作権…
しかもXIM…
0128名無しさん@お腹いっぱい。2005/12/22(木) 22:38:51
gvimはIMをコントロールする手段として

IMをonにするときは
  imactivatekeyをIMに送る
IMをoffにするときは
  gtk_im_context_reset(xic);
  または
  gtk_im_context_set_use_preedit(xic, FALSE);
  gtk_im_context_set_use_preedit(xic, TRUE);
  を呼ぶ

ということをしていますが、gtk_im_context_resetでIMがoffにな
るとは限らないし、gtk_im_context_set_use_preeditは"HACK for
Ami"です。

IMはgtk_im_context_resetでoffにならないといけないということ
でしょうか。

imdeactivatekeyのようなオプションがあれば嬉しいのですが。
0129名無しさん@お腹いっぱい。2005/12/23(金) 00:10:12
詳しくない人ですが。
スイッチのたびにim_contextを再初期化するのが確実じゃないだろか。
ただ、現状でワークアラウンドを重ねてもしんどいだけだと思ったり思わなかったり...。

gtk_im_context_set_active
gtk_im_context_get_active
im_active signal
なんてのを作ってもらうのがホントは楽だよねぇ。
0130名無しさん@お腹いっぱい。2005/12/23(金) 00:13:00
>>129
>なんてのを作ってもらうのがホントは楽だよねぇ。
ですね。
0131名無しさん@お腹いっぱい。2005/12/23(金) 01:25:56
>>116
if !filereadable(bufname("%"))
  set fileencoding=utf-8
endif
もしくはautocmdのBufNewFileイベントで処理するとか
0132名無しさん@お腹いっぱい。2005/12/23(金) 01:39:14
>>118
:help histget() にずばりの例があるよ。
0133名無しさん@お腹いっぱい。2005/12/23(金) 09:42:51
windows の gvim 使っているんですが ascii と日本語を別々なフォントに割り当てることは出来ないでしょうか
xyzzy みたいな感じで
0134名無しさん@お腹いっぱい。2005/12/24(土) 02:34:28
>>133

FontLink機能を使ってみては。
blue.ribbon.to/~akene/fontlink.htm
0135名無しさん@お腹いっぱい。2005/12/24(土) 17:45:56
vim起動時のコマンドライン引数を取得することはできるでしょうか?
(シェルスクリプトの$[0-9]のように)

何がしたいと言いますと、_vimrcに
if {"-c Chalice"を付けてvimを起動した時}
    let loaded_minibufexplorer = 1
endif
と書いて、Chalice起動後に、MiniBufExplorerが起動しないようにしたいのですが。
0136名無しさん@お腹いっぱい。2005/12/24(土) 18:18:55
引数のファイル名ならargc(),argv()でとれるけど…
vim --cmd "let loaded_minibufexplorer = 1" -c Chalice
ではどう?
01371352005/12/24(土) 18:47:10
>>136
--cmdでうまくいきました!ありがとうございます。

実は
vim -c "let loaded_minibufexplorer = 1" -c Chalice
と試してみて、なんでうまくいかないのかなあと思っていたのですが、
ヘルプをよく読めばよかったですね。
:h --cmd
> {command} will be executed before processing any vimrc file.
:h -c
> {command} will be executed after the first file has been read
beforeとafterの違いがあったとは気づきませんでした。
0138名無しさん@お腹いっぱい。2005/12/24(土) 21:32:28
[]に囲まれた特定の文字列だけをハイライトさせるにはどう設定すればできますか?

set some_cmd=Foo,Bar
とやったら
[Foo]と[Bar]だけハイライトされて[Baz]は色が変わらないようなものを探しています。
0139名無しさん@お腹いっぱい。2005/12/24(土) 21:56:03
>>138
:set hlsearch
で、
/\[Foo\]\|\[Bar\]
で良くないですか?
0140名無しさん@お腹いっぱい。2005/12/24(土) 22:07:30
永続化させたいならこうかな。
syntax match some_cmd  /\[Foo\]\|\[Bar\]/
hi some_cmd ctermfg=red
0141名無しさん@お腹いっぱい。2005/12/25(日) 22:32:11
vim + qt ってないよね?

俺が実装してやるか
0142名無しさん@お腹いっぱい。2005/12/25(日) 23:06:02
>>141
がんばれ。
だけどkvimってのがあるぞ。
■ このスレッドは過去ログ倉庫に格納されています