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

Vim6 Part10

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

前スレ
http://pc5.2ch.net/test/read.cgi/unix/1086135625/

関連情報は>>2-7あたり。
0136名無しさん@お腹いっぱい。NGNG
Windows版のVimってKoRonNさんが1人で作ってるの?
0137名無しさん@お腹いっぱい。NGNG
W版のvimは本家が作ってまつ。
日本語環境向けに改造してビルドして配布してるのがKoRoN氏。
0138名無しさん@お腹いっぱい。NGNG
ん〜yzisがqtじゃなくwxWidgetsでも使ってくれれば
Windows版も期待できたんだがなぁ
一応yzis on Windowsは予告?されてるがqtって時点で期待薄…

yzisに期待してただけにvim7待つのも複雑な気分だわ
0139名無しさん@お腹いっぱい。NGNG
:redir @a
:dig
:redir end
:se nowrap
"ap$jjjjjjjjjjjjjjjjjjjjjjjjjjjjj

とかすると所々改行されていない部分が出てくるんだけど
何か間違ってる?
0140名無しさん@お腹いっぱい。NGNG
>>139
関係ないけど
:redir END
ENDは大文字
0141mattn@Vim%ChaliceNGNG
>>130
:scriptnames でどれくらい出ますか?

もしどうしても遅いということならば、遅延ロードも効果的かとおもいます。
以下 chalice の遅延ロード方法です。
※以下は chalice に導入される可能性がありますので、もし導入された際には
ご自分で元に戻せる方、内容がわかる方しかやらないほうが良いかもしれません。

let g:chalice_path = globpath(&runtimepath, 'chalice')
let g:alice_preload = 1
function! LoadChalice(path)
  exec 'set runtimepath+='.escape(a:path, ' ')
  let list = glob(a:path . '/plugin/*.vim')
  let list = "so " . substitute(list, "\n", "|so ", "g")
  exec list
endfunction
let alice_path = chalice_path . "/plugin/alice.vim"
if g:alice_preload && filereadable(alice_path)
  exec "so " . alice_path
endif
command! -nargs=0 Chalice call LoadChalice(g:chalice_path)|delfunction LoadChalice|Chalice
0142mattn@Vim%ChaliceNGNG
>>135
おそらく今後もないと思います。

vim -> なんらかのインタラプタ -> ソケット

で実現するしかありません。
この他、process 関連の API もパッチを作って送ったことは
ありますが、Bram 氏の腰は動きませんでした。w
0143名無しさん@Vim%ChaliceNGNG
>>141
なんかすごくトリッキーなことをしてるように見えるんですが、
単純に
  command! -nargs=0 Chalice set runtimepath+=<path to chalice> | runtime! plugin/*.vim | Chalice
ぐらいで済みませんか?


>>130
遅延ロードという点ではmattnさんに賛成です。
私はこんなことしています。

  command! -nargs=0 Macros :call <SID>Macros()
  function! s:Macros()
    let bakz=@z
    let baksb=&sb
    let @z=globpath(&rtp, 'macros/*.vim')
    set splitbelow
    new
    exec "normal! i\<c-r>=@z\<Enter>\<Esc>gg"
    let @z=bakz
    if baksb==0
      set nosb
    endif
    setlocal buftype=nofile
    setlocal nobuflisted
    setlocal bufhidden=delete
    setlocal nomodifiable
    nnoremap <buffer> <cr> :let f=getline(".")<bar>close<bar>exec 'source ' . f<cr>
    nnoremap <buffer> <esc> :close<cr>
  endfunction
0144名無しさん@お腹いっぱい。NGNG
なんでsocket系駄目なんだろ
明確な理由ってあるのかなぁ
0145mattn@Vim%ChaliceNGNG
howm-mode.vim と併用すると、runtime! の瞬間に howm-mode.vim がわんさか
エラーを出したので、こんな形になりました。
# runtime! の瞬間に howm-mode.vim にアクセスにいかないように...

この方法ですと、2重読み込みでエラーを出すようなスクリプトでもその配下の
plugin スクリプトのみ読んでくれます。
# まぁ silent! runtime! とすれば済む話なのですが...f(^-^;)
0146mattn@Vim%ChaliceNGNG
>>144
socket API のときは

Yasuhiro Matsumoto wrote:
> And Since libcall may break vim too, it is dangerous.
Indeed.  And it's not portable.  Using Python or Perl would be much more
useful.
> I think that it is required the process-communication which does not
> break a memory(etc) for vim.
> I made a patch for process_open().
> (This work on win32 and unix)
> Bram, I think it is very usefull that the starting grep in background or
> communication to gdb from a script.
> (on unix, there is gdbvim or idevim..., but win32's not)
For getting the output of an external command you can use system().

Interactive communication with a program like gdb is very complicated,
especially when you need to handle asynchronous things.  Look in the
code for cscope.  I certainly want to leave this out of the Vim script
language.  Using Python would be appropriate.

If you want to use gdb and Vim together, have a look at Agide:
http://www.agide.org.  I know it still needs more work, but it is a good
setup for further development.
0147mattn@Vim%ChaliceNGNG
>>144
process API のときは

Yasuhiro Matsumoto wrote:
> This is a patch which can use socket function on vim.
> I don't hope that this patch is include the 6.2.
> If it is possible this will be include to 6.3, i'm happy.
> Enjoy!
I think this is not something that is directly related to text editing.
You can use the Python or Perl interface instead.  Or even an external
program.
For obtaining a web page we certainly don't want to use sockets
directly.  There are many tools that avoid having to do the low-level
work.  You can even do ":e http://www.yahoo.com", using the netrw plugin.

といわれました。
# 下手な英語ですみません。
0148名無しさん@お腹いっぱい。NGNG
翻訳こんにゃくキボンヌ
0149名無しさん@お腹いっぱい。NGNG
:e でファイルを開くときに、migemo スタイルで開くことはできますでしょうか?

:e g/houkoku # => 「報告」で始まるファイルが候補ででてくる
のようなスタイルで。

これを実現するのは無理がありますか?
0150KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>149
やや無理があります。
:e .
して g/ したほうが早いし楽でしょう。
0151名無しさん@お腹いっぱい。NGNG
>>150
普段はそうやってます。

別の方法もできないものかなと(w
0152名無しさん@お腹いっぱい。NGNG
>>118
http://pc.2ch.net/unix/kako/1019/10190/1019011083.htmlの235
0153名無しさん@お腹いっぱい。NGNG
久しぶりにMLで投稿があったと思ったら、
0154名無しさん@お腹いっぱい。NGNG
Lotus Notes か
0155名無しさん@お腹いっぱい。NGNG
ちゃうちゃう。
化けてる側には X-Mailer: 無かった... orz
0156KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
Chaliceがインストールされていれば00581をVimに読み込んで
:call AL_decode_entityreference_with_range('%')

よ、読めるよママン…orz
0157名無しさん@お腹いっぱい。NGNG
>>156
な、何も起きなかったよman&woman
でも、hage.htmlで保存してブラウザにdrag&dropしたら読めたよ
でも、COBOLer(ry
0158名無しさん@お腹いっぱい。NGNG
MFCプログラミングで使えるvim componentって無いもんかねぇ

CEditクラスの代わりにCVimクラスをnewすると、
エディットコントロール内の編集操作がvim likeになっているというw
0159名無しさん@お腹いっぱい。NGNG
>>158
ぜひ書いてください
0160mattn@Vim%ChaliceNGNG
>>158
昔に ActiveX 内で gvim を起動するコンポーネントを vim-dev に
送ったことがあります。
# そんなに反響なかったので作業やめちゃいましたけど...
# 出した日がエープリルフールだったからかなぁ...笑
0161mattn@Vim%ChaliceNGNG
[追記]
手元にはもうソースないんで ML のキャッシュなどから探してください。
0162名無しさん@お腹いっぱい。NGNG
kaoriya版vimの「g/でmigemo」機能は重宝でつが、
/hogehogeとタイプしてから「ああmigemoにしたかった」と涙する場合もあるので
\cみたいな機能も欲しいなあ、と思いますた。

と書いてから、一度/hogehoge<CR>してからg/<C-P>すれば良いことに気付いたので
独り言になってしまいますたとさ。まる。
0163名無しさん@お腹いっぱい。NGNG
:s/<ここでヤンクしたものをペースト>/何か
のペーストってどうやってやるんですか?
0164KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>163
<C-R>" とタイプしてください。ダブルクォートの代わりに a-z や数字もしくは *
を指定すれば :regで示されるものを入力することができます。
0165mattn@Vim%ChaliceNGNG
>>163,>>164
私はたまに、/ で検索しておいてヒットすることを確認してから、
:%s/ のあと、<C-R>=@/ として実行したりします。
# 私、臆病物ですから・・・w
0166名無しさん@お腹いっぱい。NGNG
>>165
<c-r>/の方が速いですよ。
0167KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>165-166
自分の場合 * でカーソルの下を拾って :%s// で省略して置換って言うのを多用しま
す。複雑な置換の場合、/で正規表現を組み立ててから、やっぱり省略して
  :%s//{置換パターン}/g
度胸を胸に一発勝負です。
# undoあるから度胸関係ないけど
0168名無しさん@お腹いっぱい。NGNG
私はファイルのバックアップをとります。
0169名無しさん@お腹いっぱい。NGNG
自分もまったくKoRoN氏と同じやり方だなぁ
* もしくは g* で拾うのが一番効率的

でいつでにクオートテキストオブジェクトで気付いた点を
vi"などで"で囲まれた文字列を選択するのは問題ないんだけど
vのあとある程度hlなどで動いてからi"で選択できることに気付いてi"をした時にちゃんと選択出来ない
ほかのテキストオブジェクト(bB[<)などは出来るのでこちらも対応して欲しいかな

あとよく使うテキストオブジェクトには ( が b、{ が B などタイプしやすいキーも使えるんで
出来れば、クオートテキストオブジェクトの " にも d など使いやすいキーを割り当てて貰いたかったり
0170KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>169
> ほかのテキストオブジェクト(bB[<)などは出来るのでこちらも対応して欲しいかな

基本的に使いオブジェクトの判定ルーチンが使いまわされるようになっているはずな
ので、なんでできてないのか不明ですが、時間ができたら調べましょう。

> あとよく使うテキストオブジェクトには ( が b、{ が B などタイプしやすいキーも使えるんで
> 出来れば、クオートテキストオブジェクトの " にも d など使いやすいキーを割り当てて貰いたかったり

変えたり追加するのは簡単ですが不可。Vim7で正式に取り込まれる予定なので、その
時にキーバインドが変わって ヽ(`Д´)ノ ウワァァン っていうのを防ぐためです。
0171名無しさん@Vim%ChaliceNGNG
ところでmattnさん、im_customの開発もうやめちゃったんですか?
0172名無しさん@お腹いっぱい。NGNG
Debian3.1のvimをインストールしたら拡張子別の色分けとか:tutorialとかがさっぱりないんですが、
香り屋神謹製のWindows用vimについてるファイルをまるごとコピーしたらそのまま使えますか?
0173KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>172
対象となるVimが必要なオプションでコンパイルされていて、正しいディレクトリへコ
ピーできれば動きますけど、ここで聞くってことは恐らくそういうことはご存じないの
でしょう。
# わかっているならば、聞く前にとっととコピーして動かせちゃいますから。

現在の状態からコピーする方法を説明したり習得するよりは、vim.orgからソースコー
ド一式を入手して、香り屋版のUNIX用差分ファイルを併用して、コンパイルしてしまう
のが一番手っ取り早い気がします。コンパイル方法は香り屋版同梱のREAME_j.txtに書
いてありますので参考にしてください。
0174名無しさん@お腹いっぱい。NGNG
>>170
うーん、キー割り当て駄目ですか
はやくVim7が出る事を祈りつつ、胡散臭いmapで逃げるとしますか
nnoremap cid ci" とかw
0175名無しさん@お腹いっぱい。NGNG
>>173
文法と色分けはシンタックス(S)からできて、設定のファイルはウィンドウズ版香り屋vimのruntime以下とだいたい同じ物が/usr/share/vim/vim63にありました。
localにコピーせずにうっかり上のディレクトリにwin版のを上書きしましたが:tutorialが使えるようになったので個人的には超満足です。
0176名無しさん@お腹いっぱい。NGNG
ABrowser バージョンアップしたみたいだけどあんなの要らないよ
それよりlessみたいにファイルの一部分だけ読むようにしてくれ
あと/でダイアログ出るのもタルイ
こんなショボさじゃ誰も使わんよ
0177名無しさん@お腹いっぱい。NGNG
これまた香ばしいですね。
0178名無しさん@お腹いっぱい。NGNG
koron乙
0179名無しさん@お腹いっぱい。NGNG
確かにあれならメモ帳でいいな
0180名無しさん@お腹いっぱい。NGNG
>>174
vnoremap id i"
onoremap id i"
とかじゃ駄目なんですか?
0181名無しさん@お腹いっぱい。NGNG
Abrowser編集できるようにしてくれ
キーバインドはvi風で

色分けだけはvim互換ならメモ帳リプレイスメント最強
0182名無しさん@お腹いっぱい。NGNG
編集(゚听)イラネ
それより操作をless互換にしてくれ
0183mattn@Vim%ChaliceNGNG
>>171
最近忙しくなかなか時間が取れていません。申し訳ないです。
vim 関連の作業としては、kvim の i18n まわりをやっているのですが、
この辺りが落ち着くまでは im_custom の作業はないと思います。
0184名無しさん@お腹いっぱい。NGNG
vim で年賀状書けますか?
0185viキーの功罪 ◆Vim6/xykh2 NGNG
vi に慣れるのは大変だ。しかし、いったん慣れてしまうと、
安楽なキー操作で、すばやい編集ができる。
ところが、vi キーに慣れすぎると弊害も出てくる。
他のソフトウェアでも、その vi キーマップを押し通そうとする。
テキストインターフェースのソフトウェアに出会うと、
vi 風のキーマップにするために、労力を使うことになる。

オレはつい最近、w3m のキー設定ファイルに、
># w3mのコマンドを実行します
>keymap : COMMAND
と、書いてみた。"超きもちいい" って思った。
そこで、w3m のキーマップを、根本から見直そうと思って悪戦苦闘した。
たいした満足感も得られずに、疲労感だけが残った。
このような徒労は、繰り返し行っている。_| ̄|○ トホホ

"他のソフトのキーマップを、完全に vi キー風にすることはできない"
と分かっているくせに、なるべく vi キーに近づけようと繰り返しムダ骨を折る。
もう病気だ。 "vi キー中毒" だ。
vi, mutt, w3m 等々を縦横無尽に使いこなすのは大変だなと思った。
vim 以外は、GUI ソフトにした方がストレスが少ないと思う。

あなたは、vi キーのために、どれだけの労力と時間を費やしましたか。
0186mattn@Vim%ChaliceNGNG
mutt の vi キーライクは私もやりました ... orz
0187名無しさん@お腹いっぱい。NGNG
>>187
でもサ、俺たちがviをイジるのってバイクいじりみたいでかわいいもんさ。
.emacsを一日中イジッテイル人たちはマンション購入して一生懸命快適に暮らそうとしているみたいな。
0188187NGNG
>>187
>>185
レス番間違えた。スマソ
0189名無しさん@お腹いっぱい。NGNG
screen使いがGUIアプリでSelect Allを多発するのも結構深刻。
0190名無しさん@お腹いっぱい。NGNG
>>187
おれはマンションの中でバイク乗り回してるアホです。
0191viキーの功罪 ◆Vim6/xykh2 NGNG
>>190
vipperのこと?
0192名無しさん@お腹いっぱい。NGNG
>>185
ぜひmutt w3mのキーマップを公開してくだされ。
0193KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>185
VS.NETのエディタをなんとかできないか、1時間近く格闘したことがあります orz
0194名無しさん@お腹いっぱい。NGNG
>>193
いまもVisVimNET2003使ってる?
0195名無しさん@Vim%ChaliceNGNG
>>192
muttのviライクなキーマップならmuttスレにリンクあるよん。

w3mはむしろlessライクな今のままのキーマップが好き。
別に何でもかんでもviのキーバインドにしようとは思わない。
# シェルだって bindkey -e だし、適材適所ってもんがある
0196名無しさん@お腹いっぱい。NGNG
im customnのSKK入力の際、SKK 辞書でコメント ; が書かれているエントリを入力すると
変換の際にそのコメントも一緒に入力されるバグは直ってますか?

結構昔のim custom を使っているから、もう直ってる可能性は非常に高いのですが。
0197名無しさん@お腹いっぱい。NGNG
.unannotated つーのを使うあるね
0198名無しさん@お腹いっぱい。NGNG
IMEがonの時だけ、こうimapする、みたいな設定はできますか?
0199KoRoN@Vim%Chalice ◆8XALICEsdk NGNG
>>198 できません。
0200名無しさん@Vim%ChaliceNGNG
>>183
応援しています。最近はググってもim_customが結構ひっかかるようになってきて
「有名になってきてる」と実感していマス。
0201名無しさん@お腹いっぱい。NGNG
vim のノーマルモードのコマンドの統計をとる方法ってないですか?
どのコマンドが使用頻度が高いのか調べるとおもしろいかなと思いまして。
やっとhjkl移動を覚えた vi 勉強中の後輩にアドバイスするのに、
使用頻度の高いものから覚えさせようと思いまして。

#結構ひとによって違うかな。
#やっぱり一番は 右移動 l ですか?

スクリプトじゃ無理ですよね?
ソースのこの変読めばいいよってのアドバイスください。
0202名無しさん@お腹いっぱい。NGNG
全コマンドに、カウント取るマップを貼り付けてみたらどう。

:nnoremap l :call <SNR>CountKey("l")<CR>l
0203名無しさん@お腹いっぱい。NGNG
>>195
>別に何でもかんでもviのキーバインドにしようとは思わない。
それは viキー中毒者ではない。
健全な精神の持ち主で、うらやましい。
気づいたときには、既に徒労を繰り返していた。
というのが vi キー中毒者。
「ちっ、またやっちまった」
0204名無しさん@お腹いっぱい。NGNG
>>201
_viminfoでコマンドラインモードはある程度わかると思うけど、ノーマルモードだと
vim本体に手を加えないと難しいのではないかと思う。
0205名無しさん@お腹いっぱい。NGNG
vi キー中毒者に癒しを。
emacs なら C-[ x viper-mode
eclipse なら eclipse --inputmode vi

標準で vi キーが用意されているソフトウェアの一覧ありますか。
0206名無しさん@お腹いっぱい。NGNG
>>201
> #結構ひとによって違うかな。
> #やっぱり一番は 右移動 l ですか?
俺は明らかにjが多い。ノートPCなんだが、jキーだけフニャフニャして
異様にツルツルしてる

プログラム書いてるときは/foo,?bar,*,#,w,e,b,0,$,G,ggを多用してます
移動というかジャンプですね

ところで、エキスプローラ(:Exp)はデフォルトなのになんで
バッファエキスプローラ(\be)はデフォルトじゃないんだろ?
0207名無しさん@お腹いっぱい。NGNG
最近、Texを始めました。そこで質問。

vi(vim)で日本語入力するには、初期設定ファイル( .exrc )
に何て書けばいいのでしょうか?

cygwin上で使用しています。
分かる方いれば、よろしくお願いします。
0208名無しさん@お腹いっぱい。NGNG
>>207
:!emacs
0209名無しさん@お腹いっぱい。NGNG
>>208
unix系のEditorは、vi(vim)しか使えません。
普段は、プログラム言語を書いているためです。

emacsじゃないと、日本語は入力できないのでしょうか?

0210名無しさん@お腹いっぱい。NGNG
>>206
% も結構使わないか? () だけじゃなく #if の上とかでも。
昔は >% なんてやってたが、いまじゃ =%。
0211名無しさん@お腹いっぱい。NGNG
>>210
それ本当に便利だよね。
runtime/indent/foo.vim が定義されていると、なんでも使えるし。
0212名無しさん@お腹いっぱい。NGNG
>>209
cygwin で日本語入力ってできたっけ?
と思ったらこんなん見つけた。
ttp://www.sist.ac.jp/~kojima/cygwin/
0213名無しさん@お腹いっぱい。NGNG
>>212
古い上に正しくない情報を広めるのはやめてもらえないか。
>>207
DOSプロンプトとコマンドプロンプトを捨てて、
cygterm/telnet/ssh + teraterm/putty のいずれかに
移行すべし。

0214名無しさん@お腹いっぱい。NGNG
>>205
eclipse --inputmode vi
はどのバージョンから使えるんですか?
2.1.2だとだめだった。
0215名無しさん@お腹いっぱい。NGNG
EclipseはポストEmacs
http://pc5.2ch.net/test/read.cgi/unix/1088869202/
0216名無しさん@お腹いっぱい。NGNG
Vim ユーザーは、英和,和英,国語,漢和辞書を引くとき、
どうしているのでしょうか?
0217名無しさん@お腹いっぱい。NGNG
もちろん指でページをめくります。





紙でないのも引きたいしとには、
過去ログをあさるといろいろ出てるよ。
0218名無しさん@お腹いっぱい。NGNG
少しお力を貸していただきたいのですが
<td>Bj52樟</td>と記述してある箇所があるとして
これを<td><font color="blue">52樟</font></td>としたいのですが
方法はありますのでしょうか?
:1,$s/Bj/<font color="blue">/g 見たいな感じででいけるだろうという安易な考えでうってしまったため
数千にわたる箇所を修正しなくてはいけなくなってしまいました
すいませんが このようなことをする方法を教えていただけないでしょうか?
すいません よろしくお願いしたします
0219名無しさん@お腹いっぱい。NGNG
:%s@<td>Bj\([^<]*\)</td>@<td><font color="blue">\1</font></td>@g

とかそういうこと?


ここで修行を積むと良いかもしれないんδ。

正規表現
http://pc5.2ch.net/test/read.cgi/unix/1039165754/
0220名無しさん@お腹いっぱい。NGNG
:からのコマンドをテキストファイルに書いといて
それをいっきに実行するってできる?
0221名無しさん@お腹いっぱい。NGNG
vim -s xxx
0222220NGNG
>>221
ごめん あんがと
そいうことじゃなくて
vimで編集中にやりたいんだよ
おしえちくり
0223名無しさん@お腹いっぱい。NGNG
>>222
スクリプトでは?
:source hoge.vim
0224名無しさん@お腹いっぱい。NGNG
>>222
コロンコマンドが描いてある行で(もちろん:も含めて描いてある)
"ayy@a
0225名無しさん@お腹いっぱい。NGNG
開いているファイル中の

1 改行コードCRLF を LFに置換
2 <br> など を <br>とLFに置換

ってどうやるんでしょうか。
:s//g で改行コードの指定法がわからん。
0226名無しさん@お腹いっぱい。NGNG
>>225

1 :set ff=unix
2 :%s/<br>/<br>\r/g

で、どう?
0227名無しさん@お腹いっぱい。NGNG
嘘つき
0228名無しさん@お腹いっぱい。NGNG
vimが終了しません。
コマンドモードでq!を打っても
wqと打っても
ZZと打っても
終了しません。
ヘルプミー
0229名無しさん@お腹いっぱい。NGNG
>>228
電源切っとけ
0230名無しさん@お腹いっぱい。NGNG
>>228
CapsLock が効いてる、に 20ガバス
0231名無しさん@お腹いっぱい。NGNG
つーか環境も一切書かないその質問じゃ誰もまともに答えないと思う
0232名無しさん@お腹いっぱい。NGNG
ざっくりkillか、プロセスの終了して、
また、その現象が起きるようなら、クリーンな環境にしちゃうのがいいと思う。
0233228NGNG
原因わかっちゃいました〜。
":"を打ち忘れてました。
自己解決したオレって天才なのかもしれません。
0234名無しさん@お腹いっぱい。NGNG
>>233
ZZで終了するのに:は不要と釣られてみるテスト
0235名無しさん@お腹いっぱい。NGNG
:%s/^M$//
^M は Ctrl-V Ctrl-M とタイプイン
■ このスレッドは過去ログ倉庫に格納されています