トップページunix
994コメント386KB

Vim6 Part6

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。NGNG
Vim 6.xに関する話題、Part6です。
http://www.vim.org/

前スレ
http://pc.2ch.net/test/read.cgi/unix/1045365370/

関連情報は>>2-6あたり。
0521KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>520
> でも自分はとりあえず使えればいいので
> どんなところでも使えるGNU libiconvを使えって言われれば,そうするつもりです。
残念ですが、そういうことでしたらそのようにしてください。

> 結局,vim-devの人たちを説得するだけのパワーは僕にはありません。
以前より現行のfencsの仕組みはあまりに使い憎いと感じていたものですから、この
件に関しては時間がかかるかもしれませんが材料を整えてなんとかするつもりです。
0522名無しさん@お腹いっぱい。NGNG
>>519
なら、Vimより汚いソースは?
0523名無しさん@お腹いっぱい。NGNG
横の文字数が 70 を超えて書かれている行を見つける(移動 or ハイライトなど)するコマンドを
教えて下さい。
0524KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>523 こんな感じで、詳細は :help /\%c
/\%>70c.\+
0525名無しさん@お腹いっぱい。NGNG
>>524
どうもです。
0526名無しさん@お腹いっぱい。NGNG
>>514
訂正しました.
指摘THX.
0527名無しさん@お腹いっぱい。NGNG
>>524
そのhelpを読んでいて、以下の正規表現が気になったのて調べた。
helpの説明だけを読むと分かり難かったので自分流に解釈。
# 最後を「〜にmatchする」と書いた方が分かり易い…

 foo\(bar\)\@=  直後にbarが有るfooにmatchする
 foo\(bar\)\@!  直後にbarが無いfooにmatchする

 \(bar\)\@<=foo 直前にbarが有るfooにmatchする
 \(bar\)\@<!foo 直前にbarが無いfooにmatchする

foobarfoobafoobarfoo とかをバッファに書いて調べてみると分かる。
0528名無しさん@お腹いっぱい。NGNG
An Eclipse Plugin that adds vi functionality to an existing editor like JDT or CDT.
https://sourceforge.net/projects/viplugin/
0529名無しさん@お腹いっぱい。NGNG
よし、お前ら
今こそ cat ~/.vimrc だ
0530名無しさん@お腹いっぱい。NGNG
~/.exrcはあるけど、~/.vmircはない。
0531名無しさん@お腹いっぱい。NGNG
すみません、gVimで
:set is
で検索後、リターンすると検索ワードがハイライトされると思うのですが、このハイライトを検索前の状態のように
消すことはできますでしょうか?
0532名無しさん@お腹いっぱい。NGNG
>>531
:noh[lsearch] で一時的に消すか、
:set nohls で検索時に必ずhighlightしないようにするか。

前者の場合、再度検索するとまたhighlightされる。
お好みに応じてどうぞ。
0533名無しさん@お腹いっぱい。NGNG

:noh

FAQ の1つですね。
0534名無しさん@お腹いっぱい。NGNG
>>532-533
どうもです。ところでvimのFAQってどこにありますか?
0535名無しさん@お腹いっぱい。NGNG
>534
>2にFAQへのリンクあるぞ。上から4つ目ね。
0536名無しさん@お腹いっぱい。NGNG
スクリプト内で、:set diff? の実行結果を受け取る方法はありますか?
自動でmkviewするようにしてたら、diffモードに入っている状態も
保存されてしまって、不便なのでdiffモードかそうでないか、
判定をしたいのですが。
0537KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>536
:echo &diff
のように&を付けてアクセスします。詳細は:help let-option
0538名無しさん@お腹いっぱい。NGNG
>>537

おぉ、こんなのがあったんですか。
おかげでうまくいったようです。ありがとうございました。
0539名無しさん@お腹いっぱい。NGNG
>>522
ソースが公開されているソフトの中では、vimはかなり汚い
部類といっていいが、世の中の目に触れないコードの世界では、
深い深い闇が広がっている。
0540名無しさん@お腹いっぱい。NGNG
> ソースが公開されているソフトの中では、vimはかなり汚い部類といっていい
日頃、よほどキレイなソースばかり見てるのかな?
一番きれいな部類に入らないのは確かだけど、汚い部類は言い過ぎだと思うな。

スタイルは一応統一されているし、インデントもきちんとしてるし、
コメントもきっちり付いている。
#ifdef が少し煩いくらいで、5段階評価なら3か4は与えていいと思う。
0541名無しさん@お腹いっぱい。NGNG
前スレ>>149

> 140  From:KoRoN@Vim%Chalice◆8XALICEsdk  Date:03/03/07 21:53  Mail:sage
> >>131
> 申し訳ない。重大だなぁと思いつつも、フォローするのすっかり忘れてました。
> 確かに後ろに{{{nな表記があるとおかしなことになりますね。近いうちに調査してみます。

これって今も直ってないようなのですが、その後どうなりましたでしょうか?
0542名無しさん@お腹いっぱい。NGNG
> 140  From:KoRoN@Vim%Chalice◆8XALICEsdk  Date:03/03/07 21:53  Mail:sage
あ,これ140じゃなくて149のタイポです… すいません
0543KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>541
調査はしたんですが、当時は適切な修正方法を提案できませんでした。結局まっつん
さんと相談の上「Bramに預けよう」という結論に至り、3月15日付でvim-devに報告済
みです。以後、進展ありません。
0544名無しさん@お腹いっぱい。NGNG
>>543
そうだったんですか。わざわざありがとうございました。
しかし、このまま忘れられて修正されそうにないですね。
# と言っても単なるユーザな私に修正案を提案できるわけもないですが…

foldをネストしたい時にn表記ができると便利なんだけどなぁ…
0545KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>544
一応、秘密のバグリストに記載してあるので、いつになるか確約はできませんが、ま
とまった時間が取れれば修正できると思われます。
0546名無しさん@お腹いっぱい。NGNG
>>545
お。そんなリストが…(w
では、期待して気長に待つことにします。
0547名無しさん@お腹いっぱい。NGNG
skkim.vimは更新されないのかな…。
0548名無しさん@お腹いっぱい。NGNG
誰かまっつんさんにかわってハックしる!
0549名無しさん@お腹いっぱい。NGNG
言い出しっぺの法則が発動したようです
0550名無しさん@お腹いっぱい。NGNG
テキストをコピーするとき
例えば現在の行から3行分コピーしたいときどーすればいいですか
3ccとかやったらコピーというよりもカットされてしまいます
教えてください

0551名無しさん@お腹いっぱい。NGNG
>>550
y2j
0552名無しさん@お腹いっぱい。NGNG
実際はVでやっちゃう事の方が多いけどね。
0553名無しさん@お腹いっぱい。NGNG
3yyで出来ると思うけど。
550はcの意味を誤解しているような気がするのは俺だけかな。
0554名無しさん@お腹いっぱい。NGNG
>>551
自分は >>553 さんと同じく 3yy 派。
y2j なんていうやり方があるなんて知らなかった。
0555553NGNG
あれ? ヘン?
「d とか y の後は移動コマンド」ってのが基本だと思ってた。
dd とか yy は特例で。
0556555NGNG
スマソ、553 じゃなくて 551 です。
0557KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>550
自分はどちらかというとy2jですが、最短は3Yになるでしょう。
ちなみにcはchangeのcですわ。
0558名無しさん@お腹いっぱい。NGNG
[2003年09月20日(土) AM 08:27 ID:XX9G4ovf]    (::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::\ 
  /::::::::::/ノ::::::::ノ::::::::ヽ:人::::::::::ヽ:::::::::::::::)
  (::::::::::/  ):::ノ::::ノ ) ソ ヾ::::::::::::丶::::ヽ
 (:::::::::/ 彡  ノ   ノ  :: 彡:/)) ::::::::::)
(::::::::::/彡彡彡彡彡   ミミミミミミミ :::::::::::)
( :::::::// ̄ ̄ ̄ ̄ヽ===/ ̄ ̄ ̄ ̄ヽ |:::::::::)
 | =ロ   -=・=-  ‖ ‖ -=・=-   ロ===
 |:/ ‖    / /ノ  ヽ \     ‖ ヽ|ヽ 童貞にも人権あるんです!
 |/  ヽ`======/ .⌒ ` ========ノ.   ..| |
.( 。 ・:・‘。c .(●  ●) ;”・u。*@・:、‘)ノ  
( 。;・0”*・o; / :::::l l::: ::: \ :。・;%:・。o )
(; 8@ ・。:// ̄ ̄ ̄ ̄\:\.”・:。;・’0.)  
.\。・:%,: )::::|.  ̄ ̄ ̄ ̄  | ::::(: o`*:c/
 \ ::: o :::::::::\____/  ::::::::::   /
   (ヽ  ヽ:::: _- ::::: ⌒:: :::::::: -_    ノ
    \丶\_::_:::::_:::: :::::_/:::: /
     | \ \ ::::::::::: :::::::::: ::: ::__/|
0559名無しさん@お腹いっぱい。NGNG
2yj
0560名無しさん@お腹いっぱい。NGNG
c - change
d - delete
y - yank
同じ文字2つ(cc dd yy)は行単位ということですな

漏れは map Y y$ しちゃってるので3Yは使えないのだが(w
なんでYだけCやDとデフォルトの挙動が違うんかねぇ?
0561KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>560
論理的に説明すれば、操作の直行性よりも頻繁に使用される機能理が優先された
というところなんでしょうけど、実際はどうなんでしょうね?
0562名無しさん@お腹いっぱい。NGNG
オフィシャルのパッチとkaoriyaのパッチとim_customのパッチ当てると、
vim.h で失敗してしまうのですが、kaoriyaとim_customは同時には当てられないのですか?
0563KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>562
> kaoriyaとim_customは同時には当てられないのですか?
KaoriYaパッチはim_customのことは考えずに作られているため、コンフリクトする可能
性があります。im_customから見たKaoriYaも同様です。なおKaoriYaではim_customを取
り込む予定はありませんので、必要な方は各自でコンフリクトを解消してください。

KaoriYaとim_customの位置づけを考えると、修正が困難なコンフリクトではないと推測
されます。
0564KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>563
補足です。「KaoriYaの方をこう直せばim_customとコンフリクトしないよ」という提案
があれば、こちらで引き上げて考慮させていただきます。
0565名無しさん@お腹いっぱい。NGNG
>>564

レスありがとうございます。
とりあえず、パッチの内容見て試行錯誤してみることにします。
0566KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>565 いきなりパッチ本体を見るんじゃなくて、vim.h.rejができてるはずなんで、そっちを見たほうが良いでしょう。
0567名無しさん@お腹いっぱい。NGNG
   (::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::\ 
  /::::::::::/ノ::::::::ノ::::::::ヽ:人::::::::::ヽ:::::::::::::::)

  (::::::::::/  ):::ノ::::ノ ) ソ ヾ::::::::::::丶::::ヽ
 (:::::::::/ 彡  ノ   ノ  :: 彡:/)) ::::::::::)
(::::::::::/彡彡彡彡彡   ミミミミミミミ :::::::::::)
( :::::::// ̄ ̄ ̄ ̄ヽ===/ ̄ ̄ ̄ ̄ヽ |:::::::::)
 | =ロ   -=・=-  ‖ ‖ -=・=-   ロ===
 |:/ ‖    / /ノ  ヽ \     ‖ ヽ|ヽ 童貞共和国に入りませんか?
 |/  ヽ`======/ .⌒ ` ========ノ.   ..| |
.( 。 ・:・‘。c .(●  ●) ;”・u。*@・:、‘)ノ  
( 。;・0”*・o; / :::::l l::: ::: \ :。・;%:・。o )
(; 8@ ・。:// ̄ ̄ ̄ ̄\:\.”・:。;・’0.)  
.\。・:%,: )::::|.  ̄ ̄ ̄ ̄  | ::::(: o`*:c/
 \ ::: o :::::::::\____/  ::::::::::   /
   (ヽ  ヽ:::: _- ::::: ⌒:: :::::::: -_    ノ
    \丶\_::_:::::_:::: :::::_/:::: /
     | \ \ ::::::::::: :::::::::: ::: ::__/|
0568名無しさん@お腹いっぱい。NGNG
みなさん、folddigest.vimでfoldexprに渡す関数を、どんなふうに実装してます?
教えて。
0569名無しさん@お腹いっぱい。NGNG
自分でお好みの色を設定するにはどうすればよいですか?
ヘルプファイル見ながら色々いじってるんだけどうまくいきません。
_gvimrc syncolor.vim my_color.vim の三つのファイルをいじく
りまわしてるんだけど、その他にいじる必要のあるファイルはあり
ますか?

非常に基本的な質問で申し訳ないのだが、
cterm と gui の違いがいまいちわかりません。
usr_06.txt の以下の項目が日本語だけど理解できにゃい。
GUIってグラフィカル・ユーザー・インターフェースで合ってる?
そもそもそれが違うのか。たとえカタカナ読みが合ってたとしても
やっぱり意味はわからないんだが。

term白黒端末の属性
ctermカラー端末の属性
ctermfgカラー端末の文字色
ctermbgカラー端末の背景色
guiGUI版での属性
guifgGUI版での文字色
guibgGUI版での背景色

コロンさん。syntax.txt の翻訳は進んでいますか。
画面が好みの色にカスタマイズできなくてなかなかヴぃmに
移れません。ぐはっ!
0570KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>569
> 自分でお好みの色を設定するにはどうすればよいですか?
colorschemeファイルを作ります。公開して人に使ってもらうものを作るにはやらな
ければならないことも多く面倒ですが、そうでなければ簡単なものです。基本的に弄
る必要があるのは~/.vim/colors/*.vimです。そこに{好みの名前}.vimでファイルを
作成し、その中に論理色を実際の色に結びつけるコマンドを列挙するのです。例:
    highlight Comment guifg=#226622 guibg=#000000
この場合はCommentという論理色に前景色(文字の色)として暗い緑、背景色として黒
が設定できます。どのような論理色を指定できるかは
    :highlight
と、引数なしで実行することで確認できます。

gvimで使う場合にはguifgとguibgだけ設定すれば良いでしょう。コンソール版(vim.exe等)
で使うならばctermfgとctermbgも設定します。term及びguiについては点滅させたり、
前景色と背景色を入替えたりすることができますが、基本的に使う必要はありません。

基本はコレだけです。初めは、既にあるcolorschemeの中から近いものを別名でコ
ピーして、少しずつ好みに合わせて変更していくのが近道です。もっと細かいことに
ついては必要な時にヘルプを読んで覚えて行けばいいのです。なおcolorschemeを書
く際に推奨される慣習については$VIMRUNTIME/colors/README.txtに書いてあります。

なお、現在syntax.txtの翻訳はやってませんし、しばらくやるメドも立ちません。
0571KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>570 補足
とりあえず
    :e $VIM/vimrc
してコメント部分の元の色を確認してから、_gvimrcの最後に
    highlight Comment guifg=#ff0000
とだけ書いて、Vimを再起動し
    :e $VIM/vimrc
でコメントの色がどう変わるかを確認するところから始めるのが良いかもしれませんね。
0572名無しさん@お腹いっぱい。NGNG
>>569
以前同じ質問をKoRoNさんに質問したことがありましたなー。
 Vim6 Part3
 http://pc.2ch.net/unix/kako/1019/10190/1019011083.html
の8-15をどうぞ!
0573572NGNG
# 連続カキコ スマソ

>>569
 どういった環境で使われているのか分からないので、UNIX系OS+X Window System
(以下、"X")と仮定して書きます。

> 非常に基本的な質問で申し訳ないのだが、
> cterm と gui の違いがいまいちわかりません。
 Xを利用していない場合、そして端末エミュレータ(ktermとか)内で動作して
いるvimがterm,ctermです。カラー表示が可能な場合、termではなくctermでの設定が
利用されます。
 一方、guiの方は、X上で独自の(Vim専用の)ウィンドウを開く場合に使われ
ます。

 Windows上で、gvim.exeを実行したときも、独自の(Vim専用の)ウィンドウが表
示されますが、そのときもguiの設定が利用されます。
0574名無しさん@お腹いっぱい。NGNG
>>569
ごく最近、どっかで、vimのカラースキーマの作り方を
解説したサイト見たぞ。
今探したら、即見つかった。http://www.mcl.chem.tohoku.ac.jp/~nakai/env/vim.html
0575名無しさん@お腹いっぱい。NGNG
int
main(int argc, char *argv[])
のような書き方のとき、=でインデントし直すと
  int
main(int argc, char *argv[])
となってしまいますが、intを動かさないようにするにはどうしたらいいでしょうか?
0576名無しさん@お腹いっぱい。NGNG
>>575
cinoptions に t0 を加える。
:help cinoptions-values
0577KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
昔々にMLで流れたネタですが、こんなスクリプトを用意しておくと

function! s:HiDiHi()
  let l = line('.')
  let c = col('.')
  let id = synID(l, c, 1)
  let attr_hi = synIDattr((id), 'name')
  let attr_trans = synIDattr(synID(l, c, 0), 'name')
  let attr_lo = synIDattr(synIDtrans(id), 'name')
  echo 'hi<' . attr_hi . '> trans<' . attr_trans . '> lo<' . attr_lo . '>'
endfunction
nnoremap <silent> <F2> :call <SID>HiDiHi()<CR>

<F2>でカーソル下のグループがわかるので、色付けたりsyntax作るときに便利です。
0578名無しさん@お腹いっぱい。NGNG
cw と dw の w の動作が違うな〜っておもったら、vimだけでなくnviでもそうだったんですね〜。
しらなかった。
0579名無しさん@お腹いっぱい。NGNG
>>574
おお、こんなのあんだ。
予約語とか自分独自で作って色ずけしたいんだよなぁ。。
0580名無しさん@お腹いっぱい。NGNG
>>576
thanks
0581名無しさん@お腹いっぱい。NGNG
tabを空白に変換するのはset etしてretabで良いと思うんですが,
複数個の空白を現在のtabstop softtabstop shiftwidthの設定に
基きtabに変換することはできますか?
0582名無しさん@お腹いっぱい。NGNG
>>581
プログラムのコードなら gg=G とかでインデントかけ直せば良い。テキストファイルとかは知らない。
0583名無しさん@お腹いっぱい。NGNG
>>581
retab!
0584名無しさん@お腹いっぱい。NGNG
>550-560
なるほど。「d とか y の後は移動コマンド」の方法だと、
上方向に対しても使えるわけだな。
今まで、カーソル行まで3行コピーとかいう時に、一端上の行に移動してたよ。
0585名無しさん@お腹いっぱい。NGNG
/ とかで移動してもいいし。
0586名無しさん@お腹いっぱい。NGNG
すみません。
vimでファイルの終端に改行を付けないようにするオプションはどうすれば良いのでしょうか。
具体的にはtestとだけ書いたらそれが4バイトになるようにしたいのです
0587KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>586
:set noeol binary
してから:wしてください。特にbinaryオプションには副作用が多いので、不明なことがあれば
:help 'binary'
を確認してください。
0588名無しさん@お腹いっぱい。NGNG
vimを使えるようになりたいんですが、

わかる シリーズみたいに分かりやすい本はないですか。
0589名無しさん@お腹いっぱい。NGNG
>>588
本ではないですが、WinかMacなら↓がgoodです。
ttp://members.jcom.home.ne.jp/advweb/
0590名無しさん@お腹いっぱい。NGNG
vimtutorはもう試したのかな?
0591586NGNG
>>587

:set noeol binaryで出来ました。ありがとうございました。
どのヘルプを読めば良いのかもわからない状態だったので。

とりあえずbinaryの項目を見てきます。
0592名無しさん@お腹いっぱい。NGNG
REDHAT のvim6.2.98を入れてみました。gtk2対応で表示がきれいです。
vineのgvimは日本語の表示がぐちゃぐちゃになってしまうので、
だめだこりゃ、と使っていませんでした。
これで始めたいと思います。ありがとうございます。
0593名無しさん@お腹いっぱい。NGNG
>>570
うぉおお。気合の入ったレスありがとう。
0594名無しさん@お腹いっぱい。NGNG
生きることへの強い意志が同時に気合の入ったレスを生む
0595名無しさん@お腹いっぱい。NGNG
vimでuimが使えるプラグインとかないの?
0596KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>595
uim-ximで使えませんか?
0597名無しさん@お腹いっぱい。NGNG
あれ重杉。
0598KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
正直なところuimが日本の中だけで収まっている間は、Vimとして素のuimに対応する
可能性は限りなく0です。Rubyのようにグローバルスタンダードとして認められるよ
うになれば、Vim本体の方から歩み寄るかもしれません。

ただuim-ximやgtk-uim(gtk2のimmodule経由)という連結法もあるので、GUI環境では
Vimにuimを実装するのに充分なメリットがあるかは難しいところです。しかし「CUI
環境でも使えるよ」というならば話は別かな、とも考えます。
0599名無しさん@Vim%ChaliceNGNG
普段colorschemeをeveningで使用しています。
Chaliceの使用中はcolorschemeをzellnerなど別のcolorschemeに変更したいのですが、
いまはChaliceに付属しているvimスクリプトにcolorschemeの設定を書き加えて対応しています。
設定ファイル.vimrcなどに記述し同じような設定にすることはできないのでしょうか?
0600600@Vim%Chalice ◆8XALICEsdk NGNG
>>599 こんな感じで
autocmd BufCreate Chalice_2ちゃんねる_板一覧 colorscheme zellner
autocmd BufDelete Chalice_2ちゃんねる_板一覧 colorscheme evening
0601名無しさん@お腹いっぱい。NGNG
im_customを使ってみようと思います。

「コンパイルオプションに -DFEAT_IM_CUSTOM...を付加する」とのことですが
これってどうやるんですか?

あと
「次にコンパイルされるソース一覧に、必要となるソース canna.c,...canna.pro...を付加してください。」
ですがこれはどこにあるのでしょう?

ドシロートですみません
0602名無しさん@Vim%ChaliceNGNG
質問があります.
自分は良く使うんですが, 例えば
    abc
    def
    ghi
とあってカーソルがaの左にあった時,
    ^v2js---><ESC>
とかやると
   --->abc
   --->def
   --->ghi
となってくれて便利です.
これをVISUAL BLOCKを使わずにやると, どんな方法が効率が良いのでしょう?

あと, 同じ答になるかもしれませんが, 先頭に空白が無い場合はどうやって実現しますか?
0603名無しさん@お腹いっぱい。NGNG
>602
> 先頭に空白が無い場合

visualに選択して
:'<,'>s/^/--->/

かな。頭の '<,'> は選択したままコロンをタイプすれば勝手に入る。

^v2js

の s の代わりに i で挿入することもできるよ。
0604名無しさん@お腹いっぱい。NGNG
>>603
> ^v2js
>
> の s の代わりに i で挿入することもできるよ。

あ、I だったかな。ごめん
0605KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>601
それはMSVC及びUNIX以外の環境に向けての記述です。普通にUNIXで使うならば--enable-skkなど、
必要なオプションをつけてconfigureしてコンパイルすれば良いでしょう。
0606名無しさん@お腹いっぱい。NGNG
vimよりまず英語を勉強しないと・・・
英語アレルギーの俺にはつらい・・
0607名無しさん@お腹いっぱい。NGNG
plamo LinuxにKaoriYa版パッチをあてたVimをインストールしようと

KaoriYaからvim6.2.069差分パッケージ
本家からvim6.2.tar.bz2

を落とし、差分パッケージ内のREADME_j.txtを読んだのですが
README_j.txtに記述されているpatchesディレクトリが無く、
またパッチを当てようとするとセグメンテーションエラーに
なってしまいます。

LinuxでKaoriYaパッチを当てたVim-6.2を使っている方が
いらっしゃいましたら、どのようにしたらKaoriyaパッチを
当てたVimをインストールできるのか教えてください。
よろしくお願いします。
0608名無しさん@お腹いっぱい。NGNG
Exuberant Ctags 5.5.2J1で作ったtags.
tagsがeuc-jpで書かれてるとうまくtag jumpできないのね…
正規表現がasciiのみならOKなんだが、日本語使われてるとダメっぽい

tagsをcp932に変換したらソースファイルが
euc-jpのままでも何故かうまくjumpできたが…

Kaoriya Win版 gvim 6.2.097
0609KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>607
> いらっしゃいましたら、どのようにしたらKaoriyaパッチを
> 当てたVimをインストールできるのか教えてください。
ftp://ftp.vim.org/pub/vim/patches というディレクトリにある
6.2.001〜069を持ってきて順番にパッチを当ててください。
0610KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>608
ようわからんのですが、tagsに記録された関数名自体が日本語になっているのでしょう
か?。tagsの読み込みにfencsは使ってないと推定できるので、euc-jpでtagsが生成され
た場合には不具合があると推測できます。ですが実際問題tags内の検索パターンにeuc-jp
で書かれたマルチバイト文字が無い限り、別段問題はないのでは、とも考えます。
0611608NGNG
>>610
> ようわからんのですが、tagsに記録された関数名自体が日本語になっているのでしょうか?。
いや、>>608で書いた通り、tags内の正規表現にeuc-jpな日本語があるとダメなんです。

> tagsの読み込みにfencsは使ってないと推定できるので、
> euc-jpでtagsが生成された場合には不具合があると推測できます。
まさに検索パターンにeuc-jpがある時です。
たとえば
hoe.h(euc-jp)
  static int HOE1 = 1;  // ほえ1
  static int HOE2 = 2;  // ほえ2

hoe.c
  #include "hoe.h"
  void Hoe() {
    int   hoe = HOE1;
  }

この時にhoe.cのHOE1上でC-]すると
  E434: タグパターンがみつけられません
と出ます。

実際にはhoe.hにjump自体はしてくれるのですが、タグの場所まではjumpしてくれません。

> ですが実際問題tags内の検索パターンにeuc-jpで書かれたマルチバイト文字が無い限り、
> 別段問題はないのでは、とも考えます。
実際問題、検索パターン内にeuc-jpがあると問題になってしまいます。
tagsをcp932に変換すると動作するようになりますが、変換が面倒です…
0612KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>611
この問題を解決するために、Vimがtagsを読み込む時にfencsとiconvを使うという方法
は考えられます。しかし厳密にはそれでは不十分です。ctagsに渡すソースファイルに
複数のエンコードが混在していて、結果エンコードが混在したtagsが生成される可能性
が無きにしも非ずです。そのようなtagsにVimが対応するには、非常に複雑で面倒な手
順が必要だと予測され、考えたくありません。

tagsがどのようなエンコードで記述されるべきかは恐らく仕様として決まっていないの
でしょう。でも私は、tagsを読み込むVim側ではなく、生成するctagsが責任を持って統
一する必要があると考えます。実際ctagsはそれらのエンコードを知り得る立場にあり、
統一することができます。なのでVimを修正することは保留します。

とりあえずMakefileで
tags:
    ctags *.c | iconv -f euc-jp -t cp932
こんな風にして、自動化するなり工夫してください。
0613KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>612 修正
> ctags *.c | iconv -f euc-jp -t cp932
ctags *.c -f - | iconv -f euc-jp -t cp932 > tags
0614名無しさん@お腹いっぱい。NGNG
ちょっとド忘れしてしまったんですが例えばCTRL-FでPageDownした時に
実際には2行あましてますよね。
例えばページ最下行が50行目の時にCTRL-Fしたら最上行が49行目になるみたいな。
これを0行にする(つまり上記のケースでは51行目が最上行になる)には
どのオションを弄ぶのでしたっけ?
0615名無しさん@お腹いっぱい。NGNG
弄ぶないでよぅ。 オプションは、
set scrolloff=0
0616名無しさん@お腹いっぱい。NGNG
挿入モードのままp (put)することってできませんか?

-->abc

(-->はタブ)

で、カーソルがcにあってoするとタブが自動で挿入されるのはいいんですが、Escすると
自動で挿入されたタブが消されてしまうので、回避したいのです。
0617KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>616 <C-R>"
詳細は :help i_CTRL-R を参照してください。
0618616NGNG
>>KoRonさん

おお、なるほど。ありがとうございます。
c_CTRL-R_CTRL-W は知ってたけど、CTRL-Rってなにげに
良く使いそうなコマンドが一杯あるんですね。
0619名無しさん@お腹いっぱい。NGNG
む、ひょっとしてcscopeのタグつかってると、
CTRL-N, CTRL-Pのタグでの単語補完って効かないですか?
やっぱctagsと両方使わないとなのかなぁ..
0620名無しさん@お腹いっぱい。NGNG
改行などの制御コードを表示する方法ありませんか?
■ このスレッドは過去ログ倉庫に格納されています