■掲示板に戻る■ 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あたり。

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さんの結果
しかありません。
まず結果を出してから・・・と言われそうな気もするんですが、
この辺どう思われますか?

157 :名無しさん@お腹いっぱい。 :02/04/30 18:06
Linux使っているのですが、vim6.0って Shift_JISファイルも変換して表示してくれますか?
設定が必要であれば是非教えていただきたいのですが、、、

158 :名無しさん@お腹いっぱい。 :02/04/30 18:44
>>157
普通にnkfとかじゃダメなん?

159 :名無しさん :02/04/30 20:14
>>157
ttp://www.kaoriya.net/bbs/bbs.cgi?bbs=bbs&article=1315
ここにあるencoding, fileencoding, fileencodingsの3オプションを適切に設定すれば
表示してくれると思います。Linuxをお使いとのことですので、~/.vimrcに
set encoding=japan
set fileencodings+=sjis
でいけるのではないでしょうか。


160 :157 :02/04/30 20:46
うーん、、、nkf だと勿論日本語になったのですが、

~/.vimrcに

set encoding=japan
set fileencodings+=sjis

を加えてみても文字化けしてました。

~C~A~DtB[.......

のような文字になってました。何か助言お願いします


161 :159 :02/04/30 21:04
>>160
1 きちんとiconvがインストールされていますか?
2 そのvimが「+iconv」「+multi_byte」でコンパイルされたものになっていますか?


[2]については
% vim --version
を実行して調べてみて下さい。


162 :157 :02/04/30 21:41
rpm からvim6をインストールしたんですが、ソースがないとだめなんですよね?

163 :名無しさん@お腹いっぱい。 :02/04/30 22:28
おとなしく vim --version の出力を書き込んで下さい。

164 :159=161 :02/04/30 22:48
>>162
きちんと人の話を聞けよ。(怒

>>163
同意。


165 :KoRoN@Vim%Chalice ◆ALICEsdk :02/05/01 00:51
>>156
どこかの段階でvim-devに「我々はXIMをもっと改良したくてパッチを作ったのだが、
我々だけだとテストできるXIM環境が限られてしまうので困ってる。どうかテストし
てくれないか?。協力してもらえるならば利用しているXIMの名前を教えて欲しい」と
いう感じで投げることになるでしょうね。もちろんドキュメント用のパッチも用意し
て(これが面倒なんだけど^-^;)。

で、あとはどのくらい国内で準備するのか、という匙加減がありますか。プロジェク
トチーム組めると良いんですけどね。特に英語ドキュメントをバリバリ書ける人を組
み入れたチームを(苦笑)。

166 :名無しさん@お腹いっぱい。 :02/05/01 09:14
>>164
きっと出力結果をこぴぺする方法がわからない状況にあると推測。

167 :157 :02/05/01 09:21
>>164==159==161
すいません・・・[2]について自分で調べろという意味だと思って調べてました。
出力はこんなんでましたけど、、

VIM -Vi Improved 6.0 (2001 Sep 26, compiled Jan 28 2002 06:08:06)
Garbage after option: "-version"
More info with: "vim -h"


168 :157 :02/05/01 09:39
iconvは ダウンロードして./configure してmakeしてmake installしました。
vim の vimrcに 

" 日本語を扱うために必要
set encoding=japan
" ファイルの漢字コード自動判別のために必要。(要iconv)
if has('iconv')
set fileencodings+=iso-2022-jp
set fileencodings+=utf-8,ucs-2le,ucs-2
if &encoding ==# 'euc-jp'
set fileencodings+=cp932
else
set fileencodings+=euc-jp << ここを sjisに変更ですか?
endif
endif

169 :名無しさん@お腹いっぱい。 :02/05/01 09:51
>>164,157
そのレベルの質問は、
「くだらない質問はここに書き込め!何でもあり」
をお勧めします。

正直、会話レベルが合わないと思われ。


170 :169 :02/05/01 09:53
× >>164
○ >>167

申し訳ない。


171 :名無しさん@お腹いっぱい。 :02/05/01 09:54
>>167
× % vim -version
○ % vim --version

(+iconvとあればiconvつき、-iconvとあればナシです)

172 :KoRoN@Vim%Chalice ◆ALICEsdk :02/05/01 09:55
>>167
それはvim -versionの結果です。vim --version の結果を見せてもらえませんか?。
注意深くコマンドの引数の違いを観察してください。

173 :名無しさん@お腹いっぱい。 :02/05/01 09:56
linuxはunix-like osユーザの裾野を広げたんやねー。
良くも悪しくも。。。

174 :KoRoN@Vim%Chalice ◆ALICEsdk :02/05/01 10:02
かぶった…ので今後の方策。

  1. iconvをコンパイル&インストールする。
    (RedHat 7.2ならglibcに含まれているんじゃないのかな?)
  2. Vimをソースコードからコンパイル&インストールする。
    configureオプションに--enable-multibyteを忘れずに。その他はお好みで。
    (私は他に--enable-xim --enable-gui --with-features-bigを使用)
  3. 設定ファイルを書く。
    内容は>>168でOKです。変更する必要はありません。

iconvの事情によりsjisという名前よりcp932を使うほうがWindowsのファイルとの親
和性は高くなります。まぁ>>168どおりにするのならば、気にする必要はありません。

175 :157 :02/05/01 15:43
+iconv
+maulti_byte
にして /usr/share/vim/vim60/macros/vimrc に
" 日本語を扱うために必要
set encoding=japan
" ファイルの漢字コード自動判別のために必要。(要iconv)
if has('iconv')
set fileencodings+=iso-2022-jp
set fileencodings+=utf-8,ucs-2le,ucs-2
if &encoding ==# 'euc-jp'
set fileencodings+=cp932
else
set fileencodings+=euc-jp
endif
endif

を記入しました。がーん、、、でも文字が変換されてない、、

176 :名無しさん@お腹いっぱい。 :02/05/01 15:46
>>175
>にして /usr/share/vim/vim60/macros/vimrc に
macrosディレクトリのファイルって一切読み込まれなかったような。

ホームディレクトリに、.vimrc(or _vimrc)って名前にして
コピーしてみて下さい。

177 :157 :02/05/01 16:08
~/.vimrcにコピーして実行したのですが、、ううう、、、だめでした。

178 :mattn@Vim%Chalice :02/05/01 16:10
>>177
ちなみに
# iconv -f shift_jis -t euc-jp [開こうとされているファイル]
# iconv -f cp932 -t euc-jp [開こうとされているファイル]
どちらかはエラーなしに出力されますよね?

179 :名無しさん@お腹いっぱい。 :02/05/01 16:35
>>175
>  +maulti_byte
はタイプミス、ですよね。。?

180 :157 :02/05/01 18:03
タイプミスです すみません。
vim --versionで、
+iconv
+multi_byte
が書いてあります。

>>178
両方の方法で問題なく日本語でコンソールに出力されます。

181 :名無しさん@お腹いっぱい。 :02/05/01 18:21
>>157
一言。がんばれよ!

182 :mattn@Vim%Chalice :02/05/01 18:30
>>180
では開いてみて
set fileencoding
とタイプするとどう表示されてますか?

もし shift_jis (or cp932) でないならば
:e ++enc=cp932 [開こうとされているファイル]
もしくは
:e ++enc=shift_jis [開こうとされているファイル]
としてみてください。

183 :164 :02/05/01 19:10
>>167
すまなかった…書き方が悪かった。まぁ、私の言いたかったことはKoRoN氏を
はじめ複数の方が代弁して下さってますので、あらためて書いたりはしませ
んけど。

>>181
同意。


184 :157 :02/05/01 19:46
大変お世話になっております。157です。みなさんありがとうございます。

ファイルを開いて :set fileencoding をすると
fileencoding=euc-jpとです。

えっと、、、 :e ++enc=cp932 で、、、うわーっ 日本語になった〜!^^
ということは、、、、 vimrcにこれらを記述すればよいのですか?

185 :157 :02/05/01 19:55
ううう、、、、できました、、、教えていただいたことを事後レスとして残します。
同じ悩みを持った人がお役に立てるように、、(いないかも)

○希望
「WindowsからLinuxマシンへFTP転送されたShift_JISファイルをLinuxのVimで読みたい。」

Vim6.0をインストールしました。
vim --version で +iconv +multi_byte の出力を確認しました。
~/.vimrc ファイルに

set encoding=japan
:e ++enc=cp932

" ファイルの漢字コード自動判別のために必要。(要iconv)
if has('iconv')
set fileencodings+=iso-2022-jp
set fileencodings+=utf-8,ucs-2le,ucs-2
if &encoding ==# 'euc-jp'
set fileencodings+=cp932
else
set fileencodings+=euc-jp
endif
endif

をvimrcに記述したら日本語になりました、、、、これであっていますでしょうか?


186 :一日ただの傍観者 :02/05/01 20:02

久しぶりに2chごときで感動した!
今日一日仕事にならなかった :-p
viのことはよくわからんが、スレをよんでで俺も vimつかってみようと思ったよ。


187 :名無しさん@お腹いっぱい。 :02/05/01 20:25
日本語編集するのって set fileencodings=utf-8,sjis,cp932
だけでいいような…
後、set guifontset ぐらい?

188 :名無しさん :02/05/01 20:42
>>187
それいうなら
set fileencodings=utf-8,sjis,euc-jp
ではないかと。(たぶんただのtypoだと思うけど…笑)

とりあえずtypoなら>>187に同意。なぜ>>185さんの書いたようにしなければ日本
語表示されないのかが疑問…

iconvのバグ??


189 :187 :02/05/01 21:07
typo ではありませんが、何か?

190 :名無しさん@お腹いっぱい。 :02/05/01 21:13
>>188
  set fileencodings=utf-8,cp932,euc-jp
かな??

191 :KoRoN@Vim%Chalice ◆ALICEsdk :02/05/01 21:40
>>188
> とりあえずtypoなら>>187に同意。なぜ>>185さんの書いたようにしなければ日本
> 語表示されないのかが疑問…
あれは私の配っているvimrcが元になっています。そのvimrcはWin/Mac/UNIXで同じ
設定ファイルを使いまわせるように考慮して書かれているので、上記のようになって
いるわけです。個人的に使うだけなら
- UNIX
  :set enc=japan fencs=iso-2022-jp,cp932
- Win/Mac
  :set enc=japan fencs=iso-2022-jp,euc-jp
があれば大抵の用途で充分働いてくれるでしょう。なお私の現在のfencsはこうです
  :set fencs=ucs-bom,iso-2022-jp,utf-8,ucs-2le,ucs-2,euc-jp

192 :名無しさん@お腹いっぱい。 :02/05/01 21:41
>>189
なぜsjisとcp932を両方とも指定してんのよ(ワラ


193 :192 :02/05/01 21:47
>>191
ThX!! # 191-192 1分差(w


194 :mattn@Vim%Chalice :02/05/02 09:15
>>185
>~/.vimrc ファイルに
>...
>:e ++enc=cp932
>...
これはまずいです。
上記の方法はあくまでエンコードを指定して開く方法を
お伝えしただけですのでこの行はいりません。

195 :185 :02/05/02 09:46
:e ++enc=cp932
この行をとるとまた文字化けするんですが、、

196 :mattn@Vim%Chalice :02/05/02 10:06
>>195
set fileencodings=cp932,euc-jp
と候補を限定しても開けませんか?

# それとも euc-jp or cp932 ともとれるファイルだったり・・・

197 :名無しさん@Vim%Chalice :02/05/02 10:10
>>195 fileencodingsのsを付け忘れて設定しているとみた(笑)…んなわきゃないか

198 :185 :02/05/02 15:33
やはり、>>195の行をはずすと化けますね、、、
set encoding=japan
set fileencodings=cp932,euc-jp
だけで本当は表示されるんですか?

199 :KoRoN@Vim%Chalice ◆ALICEsdk :02/05/02 15:41
>>198
もちろん表示されます。というよりfileencodingsは
  :set fileencodings=iso-2022-jp,cp932
のほうが良いです。UNIXではeuc-jpを書く理由が(よっぽどのことでもなければ)あり
ません。

それはそうと、パッチのあたってない6.0をお使いでしたっけ?。ハードに使いこなす
のでなければ特に問題はないかもしれませんが、やはり最新版の6.1(+パッチ44)に切
り替えることをオススメしますよ。
  ftp://ftp.vim.org/pub/vim/
もっともそれが本件に関係しているとも考えにくいですが(^-^;

200 :185 :02/05/02 16:04
わかりました。色々本当にありがとうございます。
set encoding=japanset fileencodings=iso-2022-jp,cp932
をvimrcに残して
WinのgVimで作成したファイルをLinuxで開くときは :e ++enc=cp932
で開いて使います。
勿論 6.1に切り替えてみます。

:e ++enc=cp932 で日本語表示されるのに、、なぜなんだろう?


次100 最新50 (10:00PM - 03:00AM の間一気に全部は読めません)
名前: E-mail (省略可) :

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