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

Vim6+ Part12

レス数が900を超えています。1000を超えると表示できなくなるよ。
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あたり。
0831名無しさん@お腹いっぱい。2006/05/14(日) 13:19:50
>>830
どうやって解決しました?
0832名無しさん@お腹いっぱい。2006/05/14(日) 14:40:29
ウィンドウを分割せずに、新しくempty fileを開く方法って有りますか?
0833KoRoN@Vim%Chalice ◆8XALICEsdk 2006/05/14(日) 14:56:58
>>832 :enew
0834名無しさん@お腹いっぱい。2006/05/14(日) 15:18:15
>>833
empty fileを操作している時に :enew をやっても
E37: No write since last change (add ! to override)
と、怒られるんですが。
ウィンドウ数以上のempty fileは開けないんですか?
08358342006/05/14(日) 15:29:55
どうやら、empty fileは隠した状態にできないみたいですね。
残念
0836KoRoN@Vim%Chalice ◆8XALICEsdk 2006/05/14(日) 18:32:38
>>834
バッファが modified 状態だからじゃないですか?
変更が失われて良いならば、こうすれば良いでしょう。

:enew!
0837名無しさん@お腹いっぱい。2006/05/14(日) 19:28:22
Emacs みたいに使いたいんでしょ。buffer menuがないから、出来ても使いづらい
よ。vim にはvim  の使い方があるからさ。そういう複数のファイルを同時に扱う
時は、複数のvimを上げてしまう方が良い。
0838名無しさん@お腹いっぱい。2006/05/14(日) 20:05:54
:set bufhidden=hide または :set hidden すりゃいいと思われ。
08398222006/05/14(日) 22:58:29
>>823,>>825,>>827
>>827
> 6.0 が 6.0.270 で、6.2 が 6.2.532 かな?
のようですね。(ftp://ftp://ftp.vim.org/vol/1/vim/patches/)
 6.0.270
 6.1.474
 6.2.532
 6.3.090
 6.4.010

6.1.xに関してはセキュリティ問題の影響で、6.1.405のtarballがあるから、パッ
チは406〜474の69個で済んだからまだマシ。
6.2.xが一番多い。
# そりゃ、
# foreach f ( ../6.2.* )
#  patch < ${f}
# end
# とかで当てればいいのはわかるんだけどサ
0840名無しさん@お腹いっぱい。2006/05/14(日) 23:55:15
CVS や Subversion が用意されてるみたいだけど、
そっちから取得すると楽っちゅうことはないですか?
0841名無しさん@お腹いっぱい。2006/05/15(月) 13:26:26
3行以上連続する空行を2行にまとめようと思い
:% s/\n\n\n\n\+/\n\n\n/
などとしてみたのですが上手くいきません。
^@^@^@に変換(gaでコードを確認すると0)されてしまいます。
どのように指定すればよいのでしょうか。流れも読めずに
初歩的質問すみません。
0842名無しさん@お腹いっぱい。2006/05/15(月) 14:45:41
g/¥n¥n/d

かな。
0843名無しさん@お腹いっぱい。2006/05/15(月) 15:00:29
¥
08448412006/05/15(月) 15:40:55
>>842 レスどうもです。それだと空行でない行まで
削除されてしまうようですが..
0845mattn@Vim%Chalice2006/05/15(月) 16:38:33
%g/^\n\{3\}/d
では不味いですか?
08468412006/05/15(月) 16:55:54
>>845 ありがとうございます。できました。
0847名無しさん@お腹いっぱい。2006/05/15(月) 18:09:29
ほんとにウガンダに寄付した人っているの?
0848名無しさん@お腹いっぱい。2006/05/15(月) 19:17:12
ウガンダって誰?
0849名無しさん@お腹いっぱい。2006/05/15(月) 19:27:20
Win32のVim7って、タブの表示は変えられないの?
今までのプラグインにあったような表示が良いんだが・・
Windowsっぽいのは文字が小さくて見づらい
0850名無しさん@お腹いっぱい。2006/05/15(月) 19:43:27
>>831
set iminsert=0
set imsearch=0
0851名無しさん@お腹いっぱい。2006/05/15(月) 19:51:42
>>846
置換で改行入れるには \r ね。いちおう。
:%s/^\n\n\n\n\+/\r\r\r/

辺な仕様ぅ。
0852名無しさん@お腹いっぱい。2006/05/15(月) 19:53:31
ちがった :%s/^\n\n\n\+/\r\r/ だ。どうでもいいか。

>>849
:set guioptions-=e
08538412006/05/15(月) 20:16:10
>>851 ほんとだそれでできますね。
\rで検索してマッチしなかった時点でその指定方法を試さずに
頭から切り捨ててました。ヘルプを読んで思っていたのは、vim
は内部では行単位に改行コードを持っていないのかな?という
ことでした。バッファの中では\nは単にend-of-lineの意味つまり
"$"と同じ?でstringの中でのみ改行コードを指すみたいですね。
08548492006/05/15(月) 20:21:22
>>852
できた!ありがとう。

なんか面白い表示になるね。
set tabline=...
で表示を変えられる様だがよくわからん。
自分で全タブ分書かなきゃならんのだろうか
0855名無しさん@お腹いっぱい。2006/05/15(月) 21:24:05
ランタイム:ftp://ftp.vim.org/pub/vim/pc/vim70rt.zip と
    WinVIM:ftp://ftp.vim.org/pub/vim/pc/gvim70.zip を
WinXPにインストールしてgvimで日本語を入力すると
入力中の日本語がカーソル位置ではなく、左上に表示されるんだけど、
なんか設定があるのかな?(確定すると問題なくカーソル位置に文字がインサートされる)

あと、セルフ解凍のvimをインストールして、デスクトップで右クリック、新規作成
でテキストファイルを作成しようとすると選択肢から消えて無くなってる・・・どうしよ。
OLE(gvim -register, gvim -unregister)の問題?
08568312006/05/15(月) 22:39:35
>>850
それをvimrcに書いただけではだめですよね?
0857名無しさん@お腹いっぱい。2006/05/16(火) 00:34:08
>>856
書いただけでいけたよ。
0858名無しさん@お腹いっぱい。2006/05/16(火) 13:15:42
>>807
iso-2022-jp-3のファイルを開いた途端、>>806のエラーで終了します。
それ以外のeuc-jpやutf-8などは問題なく開けます。
0859名無しさん@お腹いっぱい。2006/05/16(火) 14:21:03
>>848
『カレーは飲物』という至言を最初に発したデブタレント。
0860名無しさん@お腹いっぱい。2006/05/16(火) 15:19:29
>>847
外人は寄付してるけど、日本人はしてないだろな
0861名無しさん@お腹いっぱい。2006/05/16(火) 16:13:56
>>858
目視しかしてないけどこれっぽい?
jisx0208-MS.h:
 static int
 jisx0208_mbtowc (conv_t conv, ucs4_t *pwc, const unsigned char *s, int n)
 {
     if (n >= 2)
     {
-unsigned char buf[2] = { s[0] & 0x80, s[1] & 0x80 };
+unsigned char buf[2] = { s[0] | 0x80, s[1] | 0x80 };
 ucs4_t wc;
 int ret;
0862名無しさん@お腹いっぱい。2006/05/16(火) 16:43:12
>>854
俺はこんなかんじにしてるよ

function! MyTabLine()
  let s = ''
  let curtab = tabpagenr()
  for i in range(1, tabpagenr('$'))
    if i == curtab
      let hi = '%#TabLineSel#'
    else
      let hi = '%#TabLine#'
    endif
    let s .= hi . i . '  '
    let winnr = tabpagewinnr(i)
    for b in tabpagebuflist(i)
      let bname = bufname(b)
      let s .= strpart(bname, 1 + strridx(bname, '/')) . '  '
    endfor
  endfor
  let s .= '%#TabLineFill#'
  return s
endfunction

set tabline=%!MyTabLine()
0863名無しさん@お腹いっぱい。2006/05/16(火) 18:03:46
>>860
こないだ家にウガンダ人と日本人ボランティアが来た。
なんでもウガンダに学校を作りに行くため寄付金集めをしていると言う。

戸別訪問嫌いなんで普段なら帰ってもらうんだけど、
Vimに対する恩返しをしたくて、思わず高いコーヒー豆(寄付金込み)買っちゃった。
金無いのにw

でもチャリティウェアに対する長年のモヤモヤがちょっとすっきりした。
0864名無しさん@お腹いっぱい。2006/05/16(火) 18:24:30
オレの金じゃないけど、ODAとかで間接的に援助してるし
恥じるこたないよね。日本人としては。むねはって言うことじゃないが。
0865名無しさん@お腹いっぱい。2006/05/16(火) 18:35:25
あ、でもODAってしょっぱい金額なんだよな…
0866名無しさん@お腹いっぱい。2006/05/16(火) 20:44:17
>>855
+multi_byte_ime付いてんの?

右クリメニューの登録は、インストーラーを使わない場合は手動でセット
:help install-registry
OLEは関係ないはず。gvimext.dllが必要かもね。
0867KoRoN@Vim%Chalice ◆8XALICEsdk 2006/05/16(火) 21:45:39
>>861
あ、それはめっちゃ怪しいですねぇ。
0868名無しさん@お腹いっぱい。2006/05/16(火) 21:49:59
>>866
thx
-multi_byte_ime だった。
ftp://ftp.vim.org/pub/vim/pc/gvim70.exe (自己解凍版)は+multi_byte_ime だけど
ftp://ftp.vim.org/pub/vim/pc/gvim70.zip             は-multi_byte_ime みたい

自己解凍版使うか・・・
0869KoRoN@Vim%Chalice ◆8XALICEsdk 2006/05/16(火) 22:41:09
>>867
修正してコンパイルしました。
http://www.kaoriya.net/dist/iconv-1.10-20060516-dll.tar.bz2

>>866,868
gvimext.dllはMSVCRT使うので、もしかしたら新しいのが要るかもしれません。
0870名無しさん@お腹いっぱい。2006/05/17(水) 00:56:10
ウガンダじゃないけど、フォスタープランやってるのでVim使って良いですか。
仕事忙しくてチャイルドに手紙が書けない…
0871名無しさん@お腹いっぱい。2006/05/17(水) 02:05:23
だめ
0872名無しさん@お腹いっぱい。2006/05/17(水) 02:57:45
工エエェェ(´д`)ェェエエ工
0873名無しさん@お腹いっぱい。2006/05/17(水) 13:34:32
>>869
FreeBSD の iconv で修正した iso-2022-jp-3 も、壊れたままの
物も、両方問題なく開けるようになりました。
ありがとうございます。
0874KoRoN@Vim%Chalice ◆8XALICEsdk 2006/05/17(水) 14:27:44
>>873
いえいえ。報告をありがとうございます。
加えて、凡ミスでご迷惑をおかけして申し訳ありませんでした。

>>861
的確な指摘をありがとうございました。
0875名無しさん@お腹いっぱい。2006/05/17(水) 22:25:48
>>870
少子化が問題になってる日本にいながら、後進国の子供に金をばら撒く。
わけのわからん活動だな。
0876名無しさん@お腹いっぱい。2006/05/18(木) 02:14:00
ODAと称して、中国に毎年1000億円以上もプレゼントしてる政府よりましだべ。
0877名無しさん@お腹いっぱい。2006/05/18(木) 05:52:18
目糞鼻糞
0878名無しさん@お腹いっぱい。2006/05/18(木) 19:43:50
そう言えちゃう日本人は素敵
0879名無しさん@お腹いっぱい。2006/05/19(金) 00:47:25
別に日本人が少なくなっても
世界的に人が増えてるんだからいいじゃん。
0880名無しさん@お腹いっぱい。2006/05/19(金) 00:49:54
vimのウィンドウでshellが動くらしい。
http://www.wana.at/vimshell/
0881名無しさん@お腹いっぱい。2006/05/20(土) 00:10:55
vim使いの皆さん、お前らのメモ取り環境教えれ
0882名無しさん@お腹いっぱい。2006/05/20(土) 01:26:05
w3mでwifky
0883名無しさん@お腹いっぱい。2006/05/20(土) 08:00:15
mbox手書き
08848542006/05/20(土) 08:28:07
>>862
参考になります!
ヘルプ読んでもよくわからなかったよ・・
これでちゃんとクリックに反応するようにかけます。

返事遅くてすまんです。
0885名無しさん@お腹いっぱい。2006/05/20(土) 09:01:51
howm-mode.vim
0886名無しさん@お腹いっぱい。2006/05/20(土) 13:55:32
>>881
set keywordprg=touch と gf
0887名無しさん@お腹いっぱい。2006/05/20(土) 16:12:10
>>881
potwiki.vimってスクリプト気になる、が試してない
0888名無しさん@お腹いっぱい。2006/05/21(日) 08:16:14
>>881
PukiVim
0889名無しさん@お腹いっぱい。2006/05/23(火) 18:47:24
皆は、vim7には既に移行したの?
0890名無しさん@お腹いっぱい。2006/05/23(火) 18:54:33
早くとも来年以降の予定
0891KoRoN@Vim%Chalice ◆8XALICEsdk 2006/05/23(火) 19:41:59
私はまだでつ (´・ω・`)
0892名無しさん@お腹いっぱい。2006/05/23(火) 20:09:01
ライトユーザな俺は何のトラブルも無く移行完了。
ただ古いマシンではlet loaded_matchparen = 1しないとキツかった。
0893名無しさん@お腹いっぱい。2006/05/23(火) 20:34:56
>>889
chaliceがまともに動かないので移行してない。
0894名無しさん@お腹いっぱい。2006/05/23(火) 21:06:03
>>893
動いてますよ
0895名無しさん@お腹いっぱい。2006/05/23(火) 21:28:34
KoRoNさんが移行したら考えます。
0896名無しさん@お腹いっぱい。2006/05/23(火) 22:06:30
>>895
そういう人はbetaのときから併用してるんではないだろうか。
0897名無しさん@お腹いっぱい。2006/05/23(火) 22:26:38
vim7と6.4併用6.4は主にchalice
でもタブとか使ってない。:vimgrepは便利
0898名無しさん@お腹いっぱい。2006/05/24(水) 01:10:39
57ファイル翻訳完了
0899名無しさん@お腹いっぱい。2006/05/24(水) 21:03:05
今日からvim7に乗り換えた。6.4も削除した。もう後ろは振り返らない。
a",i" はかなり便利。KoRoNさん、ありがとう。
0900名無しさん@お腹いっぱい。2006/05/24(水) 22:49:27
香り屋さんのtestdirのvim7に乗り換えてみました。タブとか内部grepとかいい感じ。
ただ、wikiを参考にして全角スペースを視覚化してるんだけど、それが動かなくなったっぽい?

  highlight WSpace guibg=lightgray
  match WSpace / /

あとChaliceは怪しいので6.4で見てます。
0901名無しさん@お腹いっぱい。2006/05/25(木) 00:17:08
vimでファイルを開く際に、emacsの様に、スペースでパス、ファイル名を補完して開くように設定することは可能でしょうか?
emacsからvimへ乗り換えてみようかと思っているのですが、その点で躊躇しています。
複数のファイルを開いたり閉じたりすることが多いので、すばやくファイルを開きたいと思っています。
0902名無しさん@お腹いっぱい。2006/05/25(木) 00:20:15
vimはtabで補完な。
09039012006/05/25(木) 00:23:18
>>902
すみません。
書き込む前に検索してみるべきでした。
ありがとうございます。
0904名無しさん@お腹いっぱい。2006/05/25(木) 21:51:21
新規に日本語入力するときに文字コードがiso-2022-jp-3になることが多いのですが、
これをutf-8にするにはどうすればできますか?
0905名無しさん@お腹いっぱい。2006/05/25(木) 22:12:24
>>891
たろちゃん早く移行して正式にリンク張ってよ(´・ω・`)
0906KoRoN@Vim%Chalice ◆8XALICEsdk 2006/05/25(木) 22:51:06
>>905 直さなきゃいけないところがたくさんあるからすぐには無理ポ (´・ω・`)
0907名無しさん@お腹いっぱい。2006/05/25(木) 23:42:53
>>904
asciiテキストを開くと、fencsの最初のエンコーディングと判定されてしまう問題
だと思うので、香り屋のverifyenc.vimを使うのがいいんじゃないかと。

encoding=utf-8な環境でiso-2022-jpなファイルはあんまり開かないし
プラグイン入れるのもなんだかおおげさだなというときは
:set fencs=ucs-bom,utf-8,euc-jp,cp932
この設定がおすすめ。
0908名無しさん@お腹いっぱい。2006/05/27(土) 17:55:02
Emacsで言う
(setq fill-column 90)
auto-fill-mode
のように、90文字で折り返したいのですが
Vimでは、どのようにすれば実現できるのでしょうか?
0909名無しさん@お腹いっぱい。2006/05/27(土) 18:00:45
>>162-165だよもん
0910名無しさん@お腹いっぱい。2006/05/27(土) 18:39:17
>>908
:set textwidth=90 formatoptions+=t
0911名無しさん@お腹いっぱい。2006/06/04(日) 02:32:22
vim7と6が入っている場合 .vimrc に
"for in "とかの構文を使うと6でエラーになる・・
if v:version >= 700
とかで分岐してもだめ

どうにかなりませんか?
0912名無しさん@お腹いっぱい。2006/06/04(日) 11:41:10
別ファイルにして、
後から読み込むのはどうだい。
ファイル増えるのがイヤーなかんじだがのぅ
0913名無しさん@お腹いっぱい。2006/06/04(日) 14:10:37
ビジュアル矩形モードでテキストを選択した後、i を押しても入力モードにはいらず、
テキストの挿入ができません。dを押すときちんと矩形部分が削除されます。
実際に行いたい操作は、プログラムソースコードの行先頭に#をいれてコメントアウトする操作です。
.vimrcを読み込まずにやってみても同じでした。
原因として何が考えられるのでしょうか?

vimのバージョンは
version 6.3.86
です。

0914名無しさん@お腹いっぱい。2006/06/04(日) 14:55:39
>>913 i じゃなくて I
09159132006/06/04(日) 15:18:01
>>914

ほんとだ・・・・。
ありがとうございます。
09169112006/06/04(日) 15:24:22
>>912
それしかないのかな。
eval!って思って調べてみたけれどそういうものじゃないみたいだった。
そもそもck上で7のがちゃんと使えたら問題ないんだけれど・・

別ファイルは鬱陶しいのでとりあえず for in をあきらめましたよ。くそう
0917名無しさん@お腹いっぱい。2006/06/04(日) 19:00:23
>>916
うちではちゃんと分岐できるけど。
別の原因ちゃうの?
0918名無しさん@お腹いっぱい。2006/06/04(日) 19:09:00
>>913
はてな勉強会の動画のやつか。あれ見て初めてあの技を知った。しょぼいOTL
09199112006/06/04(日) 19:18:32
これで再現する。
ちょっと言い方がわるかったか。
すまんです。

if v:version >= 700
 function! Test()
  let res = 'result'
  for v in [1, 2, 3]
  endfor
  return res
 endfunction
endif

そして下のエラー
E133: :return not inside a function
0920KoRoN@Vim%Chalice ◆8XALICEsdk 2006/06/04(日) 20:02:03
>>919
endforがendfunctionと混同されているみたいですねぇ。6.4にこんなパッチあてれば
解決できます。ってコメントにもshould be restrictって書いてあるな(苦笑


diff -u src/eval.c.orig src/eval.c
--- src/eval.c.orig2006-06-04 19:59:01.759286400 +0900
+++ src/eval.c2006-06-04 19:59:04.455647100 +0900
@@ -9062,7 +9062,8 @@
 ;
 
     /* Check for "endfunction" (should be more strict...). */
-    if (STRNCMP(p, "endf", 4) == 0 && nesting-- == 0)
+    if ((STRNCMP(p, "endf", 4) == 0 && STRNCMP(p, "endfo", 5) != 0)
+    && nesting-- == 0)
     {
 vim_free(theline);
 break;
0921名無しさん@お腹いっぱい。2006/06/04(日) 21:44:27
- endfor
+ exe '' | endfor

にしてみるとか。ダサいけど。
09229112006/06/05(月) 00:23:21
>>920
なるほど。endfでみちゃっているんですね。

>>921
ソース分けたりするのに比べたらずっと良いです。
ありがとう!
''はなくても良い見たいです。
0923名無しさん@Vim%Chalice2006/06/08(木) 10:00:25
minibufexplorer 使ってて CTRL-W = してウィンドウの大きさ一緒に
したり、CTRL-W H してあるウィンドウを一番左に持ってくるみたいな
操作をすると、ミニバッファウィンドウまで大きくなっちゃいますよね。

みなさんどうしてます?
いちいち \mbc してからウィンドウ操作して、また \mbe ?
0924KoRoN@Vim%Chalice ◆8XALICEsdk 2006/06/08(木) 10:15:07
>>923 :set noequalalways してます。
09259232006/06/09(金) 01:29:23
>>924
あ、あれ? そもそも minibufexpl.vim の中で
"set noequalalways" してるからそこは条件同じはず。

:se equalalways? の結果も noequalalways でした。

っていうか >>923 みたいなこと起きてるのは私だけ?

例えば vim -o aho baka してから、CTRL-W = すれば
-MiniBufExplorer- は 画面下 1/3 になるし、
CTRL-W H すれば 画面右側の下半分になる…みたいな。
0926名無しさん@お腹いっぱい。2006/06/10(土) 07:28:02
OS:w2k

gvim起動してて、エクスプローラなんかからアプリケーションを指定して開く
なんてしたら、新しいgvim起動して開くんですが
やりたいのは、既に開いてるgvimに:spで開いて欲しいのです。

どこをどう設定すればよかとですか?
0927名無しさん@お腹いっぱい。2006/06/10(土) 22:54:50
>>926
:he remote.txt あたりでしたっけ?
0928名無しさん@お腹いっぱい。2006/06/12(月) 00:50:20
vim7に変えた途端、.vimrcで"Missing endfunction"なるエラーが。
日本語のせいだろうと思って調べていくと、なんとendfunction
のつもりでendfucntionと書いているところが。
0929名無しさん@お腹いっぱい。2006/06/12(月) 01:34:15
WindowsVistaβ2 でとりあえず gVim7 動きました
というか起動確認だけですが…
0930名無しさん@お腹いっぱい。2006/06/13(火) 11:16:06
エラーのような文字列が出力されるのですが、
1秒ぐらいで消えてしまいます。
このメッセージを再度閲覧することってできるのでしょうか?
レス数が900を超えています。1000を超えると表示できなくなるよ。