トップページ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あたり。
0553名無しさん@お腹いっぱい。05/01/24 14:32:57
>>542
おれも飛べない。
Kaoriya Win版 6.3 (patched 1-30)
0554名無しさん@お腹いっぱい。05/01/24 20:15:49
im_customを有効にしていると--remoteが動作しません。

---
症状
    vim --servername test
    vim --servername test --remote testfile
としても、testfileがオープンされません。
代わりに(?)serverが(コマンドモードで)日本語入力モードになります。
" set imoptions=canna,serv:unix:0
とコメントアウトした場合は、正常にserver側でtestfileがオープンされます。
gvimでも同様です。

サーバが起動していないときに、
vim --remote testfile
としても、同様にtestfileは開かれずに、日本語入力モードになった状態で起動します。

mapが上手く動かないことがあるのと関係しているように思います。

(環境: Vim 6.3.45 + im_custom074 on FreeBSD)
---

今まで--remoteは使っていなかったのですが、TeX/Xdviの-src-special
を使おうとして気づきました。
0555名無しさん@お腹いっぱい。05/01/24 20:31:56
s/コマンドモード/ノーマルモード/ です。
0556名無しさん@お腹いっぱい。05/01/26 20:22:53
この一冊でvimヲタになれる!
って書籍はございますか?
0557名無しさん@お腹いっぱい。05/01/26 20:48:56
>>556
:h
0558a ◆Vim6/xykh2 05/01/26 22:21:05
かおり屋さんで、以下のリンクがあった方がよさげ。

http://www.gihyo.co.jp/books/syoseki.php/4-7741-2018-9
Vi IMprovedーVim 完全バイブル
Steve Oualline 著 / A5判 / 616ページ
ISBN4-7741-2018-9 / 2004年4月29日発売
定価3549円(本体3380円)

http://www.oreilly.co.jp/books/4873110831/
入門 vi 第6版
Linda Lamb, Arnold Robbins 著
福崎 俊博 訳
2002年05月 発行
256ページ
定価2,625円
ISBN4-87311-083-1
0559名無しさん@お腹いっぱい。05/01/27 00:57:24
買ってもなければ読んでもいないし関係してもいないものを
お薦めするわけにはいかないんじゃないかと思われ。
そうでないならいいんだけど。
0560名無しさん@お腹いっぱい。05/01/27 01:02:32
あふぃりえいとして稼いぢゃえ
0561名無しさん@お腹いっぱい。05/01/27 05:55:25
vim6.3.045を使っています。

よくある、数字に位取りのコンマを挿入する置換なのですが、

:s/\v\d@<=((\d\d\d)+>)@=/,/cg
before:1234567890
after :1,234,567,890

これを実行して「replace with , (y/n/a/q/l/^E/^Y)?」にyと答えても
,が表示されずに次のマッチに移動してしまいます。
一行を処理し終えるといきなり全ての,が表示されるのですが、
これはこういうものなのでしょうか。皆様のところでも再現しますでしょうか?
0562名無しさん@お腹いっぱい。05/01/27 05:57:01
さらに、上の例でyyqとタイプすると
,は一つも挿入されずに終わってしまいます。
0563名無しさん@お腹いっぱい。05/01/27 08:03:00
:s は行単位の処理だから妥当な仕様だと思うけど。
>さらに、上の例でyyqとタイプすると
求めてるのは"l"かな
:help s_c
0564名無しさん@お腹いっぱい。05/01/27 08:13:07
ああ、あと'\%c'のことを考えたら表示が逐次更新されちゃうと困ったことになるな。
0565名無しさん@お腹いっぱい。05/01/27 08:18:38
ありがとうございます。

> :s は行単位の処理だから妥当な仕様だと思うけど。
うーむ、でも :s@\d\d@&,@cg なら各yで処理されますよね?

それに :h s_c の記述を見る限りでは yyq では置換が実行されず
yl でなら実行される理由は説明されていないように思うのですが。。。
0566名無しさん@お腹いっぱい。05/01/27 08:25:13
ああ、,が入っちゃうと2番目以降の,が入らなくなるからこういう仕様なのか。
半分納得しました。
0567名無しさん@お腹いっぱい。05/01/27 10:33:28
>うーむ、でも :s@\d\d@&,@cg なら各yで処理されますよね?
ほんまやね。じゃーバックトラックが原因かな。すまんおれも詳しくはないんだ。
:h s_c については
'l' to substitute this match and then quit ("last") : quit=停止する
'q' to quit substituting : quit=取り止める
だと思いますが。
0568KoRoN@Vim%Chalice ◆8XALICEsdk 05/01/27 11:10:41
>>561
> よくある、数字に位取りのコンマを挿入する置換なのですが、
>
> :s/\v\d@<=((\d\d\d)+>)@=/,/cg

よくある置換ですけど、あまり推奨しないパターンですね。というのも、実際にマッ
チする文字列の幅が0だからです。マッチ結果が文字幅0になる正規表現はVimにとっ
て比較的新しい機能なので、従来の部分との組み合わせでなにかおかしな挙動をして
も「さもありなん」という感じなんです。

そこで代替案なんですが、詳説正規表現(P325)よりVim用にパターンを移植しました。
:%s/\(\d\{1,3}\)\%(\%(\d\d\d\)\+\d\@!\)\@=/\1,/gc
こうするとyの度に更新がかかります。
0569名無しさん@お腹いっぱい。05/01/27 16:08:44
ころんキモすぎw
さいたま〜さいたま〜
博論書いたか?ww
057056605/01/27 17:32:15
>>561の中の人
すまん、言ってる意味がわかった。おれが間違ってたわ。
057157005/01/27 17:33:28
570=567ね。すんません。
057256105/01/27 22:26:56
皆さん、ありがとうございます。
このあたりは一部普請中という感じのようですね。

>>568
> 詳説正規表現(P325)よりVim用にパターンを移植しました。
P325にはそれらしき記述がないのですが、ページは合っていますでしょうか?
手許の本は第2版です。
0573KoRoN@Vim%Chalice ◆8XALICEsdk 05/01/27 22:47:27
>>572 私のは初版です。7章「Perl」の8節「総仕上げ」にあたります。
0574名無しさん@お腹いっぱい。05/01/28 04:43:36
さいたまさいたまさいたま
0575名無しさん@お腹いっぱい。05/01/28 09:29:09
オレのも載ってるぞ。第2版。
「7.8.2 数字にコンマを加える」
図書館のだけど、、、
0576名無しさん@お腹いっぱい。05/01/28 11:29:25
koron no timpo

timpo wo poron
に最速で変える手は?
0577名無しさん@お腹いっぱい。05/01/28 12:15:33
dditimpo wo poron[ESC]
をすごいスピードで打ち込む
0578名無しさん@お腹いっぱい。05/01/28 12:17:20
s/ddi/cc/
0579名無しさん@お腹いっぱい。05/01/28 17:48:28
s/cc/S/
0580名無しさん@お腹いっぱい。05/01/28 19:30:56
う〜ん・・・簡単に思いつくとしたらば
yed2w0 wo <c-r>0
手数:12
0581名無しさん@お腹いっぱい。05/01/28 20:11:34
timpo
<c-r>0
0582名無しさん@お腹いっぱい。05/01/28 22:00:27
>>576 Stimpo wo poron<ESC>
0583名無しさん@お腹いっぱい。05/01/28 22:26:10
性器表現スレはここですか?
0584名無しさん@お腹いっぱい。05/01/28 22:35:49
そうです

v
i
m

(;´Д`)ハァハァ
0585名無しさん@お腹いっぱい。05/01/28 23:40:09
>>575
7.8.2は「埋め込みコード構文を使用する」なのですが・・・
そのご本、良く見ると初版第2刷だったりしませんか?

ちなみに第2版では2.3.5(p.57)が
「前後読みを使って数字にコンマを加える」です。
>>568のパターンは出て来ないようですが。
0586名無しさん@お腹いっぱい。05/01/29 00:25:19
koron has no timpo
0587名無しさん@お腹いっぱい。05/01/29 00:31:50
"/"で検索のとき
/draw でDraw,DRaw等もマッチ対称にしたいのですけど
どういうオプションがありますか?
0588名無しさん@お腹いっぱい。05/01/29 00:32:35
/\cdrawδ
0589名無しさん@お腹いっぱい。05/01/29 01:17:59
>>587
set ignorecase
0590名無しさん@お腹いっぱい。05/01/29 03:30:24
>>587
/draw\c
0591名無しさん@お腹いっぱい。05/01/29 03:42:51
/dr\caw
0592名無しさん@お腹いっぱい。05/01/29 04:05:54
>>590 >>591
むぅ。\cってどこにおいても良かったのか。
これはいいことを聞いた。
0593名無しさん@お腹いっぱい。05/01/29 04:14:48
似てるけど\vなんかは置く場所によって効果が異なるんだよな
0594名無しさん@お腹いっぱい。05/01/29 04:30:48
K氏はおそらく生理前とみた!きついきつい。きついよー小沢さーん
059557505/01/29 20:25:52
>そのご本、良く見ると初版第2刷だったりしませんか?
そのとおりでした。m(__)m
0596名無しさん@お腹いっぱい。05/01/30 00:14:19
nocindenしてもnoautoindentしても
C入力時にコピーしたらインデントされます
完璧にインデントを止めるにはどうすればいいのでしょうか?
0597名無しさん@お腹いっぱい。05/01/30 00:47:54
>>596 :set paste
0598名無しさん@お腹いっぱい。05/01/30 01:24:22
Vimのプログラムをダウンロードしたら
function Iew() range
let filename = tempname()
execute "'<,'> write ".filename
call system("iew ".filename)
call delete(filename)
endfunction
として使えとmanに記述してあったのですが
これはどのようにして使うのでしょうか?
"v"でビジュアルモードで選択中に":"で
:'<,'>
と言う物が出てきて
そのあとに、Iew()とうっても
E492: Not an editor command: '<,'>Iew()
と言われて実行できません
使い方が間違っているのでしょうか?
0599名無しさん@お腹いっぱい。05/01/30 01:57:56
:'<.'>call lew()
0600名無しさん@お腹いっぱい。05/01/30 14:29:39
>>599
2箇所、間違い探しがあるぞ
正解は

 :'<,'>call Iew()

でしょ?(w

'<は選択範囲の最初の行を、'>は選択範囲の最後の行を示す
0601名無しさん@お腹いっぱい。05/01/30 18:05:47
インサートのC-pの補てんで、該当リストを全表示にはできないんでしょうか?
それと、コマンドライン補てんで、ファイル名用のコマンドでないときに
ファイル補てんを行う方法(キー)はあるんでしょうか?
マニュアル見ても載っていなかったのでできないのかなぁ・・
0602名無しさん@お腹いっぱい。05/01/30 18:21:22
vimはgdbとリンクしてvimの画面でソースをデバッグできるのだろうか?
マニュアルのdebugger.txtにはgdbがのっていない・・・
0603名無しさん@お腹いっぱい。05/01/30 18:26:38
結構遠くまで探しに逝く実装だから全表示はうまく逝かないんじゃないかなあ。
0604名無しさん@お腹いっぱい。05/01/30 18:34:34
コマンドライン補てんでリスト表示できるから
期待してしまうんですよねー
0605名無しさん@お腹いっぱい。05/01/30 18:38:28
viのウィンドウバッファに、w3mやmanの画面を表示できるだろうか。
r !man ls
r !w3m ...
で出力結果として見れるけど、w3mでは続けて操作したいんだよね
0606名無しさん@お腹いっぱい。05/01/30 18:42:33
>>605
そういうことはできないしやらない、
って :h に書いてなかった?
screen でも使えばいいじゃん。
0607名無しさん@お腹いっぱい。05/01/30 19:01:01
>>606
そーすよね。
ただ、vimのレコーディングで、w3mをコントロールできれば最高かなっと・・
短絡的でした・・・
0608名無しさん@お腹いっぱい。05/01/30 19:06:13
vim onlineにgdbvimってのがあったよ。
0609名無しさん@お腹いっぱい。05/01/30 19:46:08
>>607
http://pc5.2ch.net/test/read.cgi/unix/1087436430/212
0610名無しさん@お腹いっぱい。05/01/30 20:20:53
vim6使ってます。
終了したときにカーソル位置を保存したいのですが、
どうすればいいのでしょうか?
「viminfo='20,<50,s10,h」
ってなってます。
0611名無しさん@お腹いっぱい。05/01/30 20:30:58
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif
0612名無しさん@お腹いっぱい。05/01/30 21:31:36
>>602 http://www.a-a-p.org/images/debugfull.png
0613名無しさん@お腹いっぱい。05/01/31 00:28:47
viを使って慣れてきたときの事を思い出しつつ…

viでカーソルを動かすとき、HJKLでは動けるが、カーソルキーでは動けない。
そんな束縛感にひたり、ニヤリとしてしまう。
長井秀和です。

viの話。
viに慣れてきた奴は、Windowsのメモ帳でも間違えたときEsc連打しちゃう。間違いない。

viに慣れてきた奴は、秀丸のあのボタンの絵のセンスはどうにかならないものかと思っている。
間違いない。

Excelで入力をミスったときにEscを押すんじゃない、入力した内容が消えてしまうぞ、気をつけろー!!

viに慣れてきた奴は、アレを使うときCtrl-c、Ctrl-sしか知らなかったりする。間違いない。

viに慣れてきた奴は、矩形選択にちょっとあこがれている。間違いない。
0614名無しさん@お腹いっぱい。05/01/31 00:41:07
>>613
そう思うと vim はカーソルでの移動も矩形選択もできるからめぐまれてるよなwwwwww
0615名無しさん@お腹いっぱい。05/01/31 01:50:16
split(or C-W,C-S)もしくはvsplit(or C-W,C-V)をしたタイミングで
全windowに対してコマンドを実行したい(:windo 〜〜 を使う)のですが,
(v)splitしたというautocmd用のイベントは無いのでしょうか?
# :windoの後にはwindow localな処理を行います (:match とか 'number' いじるとか)

とりあえずautocmd WinEnterで試してみたけど
:windoすると必ず最後のwindowにカーソルが移動してしまう・・
つまり、WinEnterイベントと:windoの副作用(最後のwindowに移動)の相乗効果によって
window間の移動(C-W,C-Wなど)が全く出来なくなってしまう
# 別のwindowに移動しようとする度に最後のwindowに移動してしまう oTZ

どうやら解決策のアプローチが悪いようです・・

(v)splitした時に全windowに何かする、という時のvim scriptのイディオムというか
正しいアプローチはありますか?
0616名無しさん@お腹いっぱい。05/01/31 02:57:24
>>613
失礼な、アレの操作方法なら M-x viper だって知ってるぞ!
0617名無しさん@お腹いっぱい。05/01/31 03:33:42
>>615
augroup MyDo
  autocmd!
  autocmd WinEnter * let g:curwin = winnr()
  autocmd WinEnter * windo if winnr()!=g:curwin | set nonu | else | set nu | endif
  autocmd WinEnter * execute g:curwin.'wincmd w'
augroup END
これにウィンドウを分割したかどうかの判定を付ける
0618名無しさん@お腹いっぱい。05/01/31 06:15:20
>>613
>viに慣れてきた奴は、Windowsのメモ帳でも間違えたときEsc連打しちゃう。間違いない。
馬鹿だなぁ。それ以前に入力内容に余計な i とか a とか A とか付くに決まってるだろ!
0619名無しさん@お腹いっぱい。05/01/31 09:48:52
>>602
試したら、レビューヨロシク。

gdbvim http://www.vim.org/scripts/script.php?script_id=84
idevim http://www.vim.org/scripts/script.php?script_id=168
0620名無しさん@お腹いっぱい。05/01/31 10:05:05
>>619
602ではないが、両方ともイマイチ
0621名無しさん@お腹いっぱい。05/01/31 10:12:05
>>620
agide を使う・・・
0622名無しさん@Vim%Chalice05/01/31 11:58:57
>>620
今動かせないので残念、見たい!。
ブレイク個所がvimにリアルタイムで表示されたりしますか。
0623名無しさん@Vim%Chalice05/01/31 12:08:49
セッションをロードするとレジスタが保存されるとか書いてあるけど
undo、redoはできない・・・
これってどうぜん?
0624名無しさん@Vim%Chalice05/01/31 12:20:17
>>621
画像見たけどすごそう、vimの作者がつくったらしいから連携もよいのかも
でも英語サイトだからよくわからない・・
cygwinでもコンパイルすれば使えそう。
vimと相性ばっちりの開発環境やプラグインは、agideが一番だろうか??
開発メインで使用してるので、それが一番気になる。
0625名無しさん@お腹いっぱい。05/01/31 15:23:52
agideのHPさらっと見たけど、X環境ないと使えなさそう。ショックorz...
0626名無しさん@お腹いっぱい。05/01/31 17:04:12
>>533
こんなのはどうでせう? :%S/\s//g
command! -nargs=* -range S call Substitute(<line1>, <line2>, <q-args>)
function! Substitute(s, e, exp)
  let exp = substitute(a:exp, '\C\\s', '[ \t ]', 'g')
  let exp = substitute(exp, '\C\\S', '[^ \t ]', 'g')
execute a:s.','.a:e.'substitute'.exp
endfunction
0627名無しさん@Vim%Chalice05/02/01 11:35:16
>>620
vimDebug.vimなんてのがあった。
cygwinでやったが動かない。
何とかがんばって一瞬動いた。
デバックポイントがソースに表示されるし、
キーマクロで操作も簡単。コマンドインターフェースもあるのでいろいろできそう。
でも動かない・・・
0628名無しさん@お腹いっぱい。05/02/01 15:05:17
GVim6 を起動してみたらこんな感じ↓になってしまい、文字が読みづらい
http://maichy.s1.x-beat.com/up/data/oo14019.png

編集→色テーマ選択から色を変更すれば読めるようになるんですが、
起動時に好きな色テーマを読み込むにはどうすればいいですか?

.vimrcにcolorscheme blueとか書いてみたけど、だめだった
0629名無しさん@お腹いっぱい。05/02/01 16:40:42
>>628
_gvimrc に書きなはれ
0630KoRoN@Vim%Chalice ◆8XALICEsdk 05/02/01 17:48:08
>>628 それよりも、どこをどうしたらそうなったんですか? もしかして256色モード?
0631名無しさん@Vim%Chalice05/02/01 18:02:59
AIXでコンパイルできない。かおりや版のソース・・・
0632名無しさん@Vim%Chalice05/02/01 18:16:55
ネットワーク編集もできるのか!すごいNread
ファイルエクスプローラにも対応できれば最高なんだけど
0633KoRoN@Vim%Chalice ◆8XALICEsdk 05/02/01 18:22:10
>>631 パッチいただければ考慮しますよ
0634mattn@Vim%Chalice05/02/01 20:52:09
>>632
vim7 csv では導入されていて、
:e ftp://ftp.vim.org/pub/vim/
とするとファイルブラウザになります。

>>554
報告どうもです。
時間を割いて修正しますのでお待ちください。
0635名無しさん@お腹いっぱい。05/02/01 22:29:09
cvs…
いや、無粋な突っ込みだとは思うのだが。
063662805/02/02 02:19:56
>>629
できました。ありがとうございます。
>>630
色がおかしくなったのは、Windowsの配色をいじったせいかもしれない。
0637名無しさん@お腹いっぱい。05/02/02 10:01:01
vim7って今現在の安定度とかってどう? 問題ない?
0638名無しさん@Vim%Chalice05/02/02 17:46:36
<F3>を押すと、入力したバッファへ移動したくて↓を設定したけどNG
:map <f3> :let @t = input("input: ")<CR>:b ^Rt<CR>
無理ですかね?
0639名無しさん@お腹いっぱい。05/02/02 17:47:27
>>634
im_customの開発、ありがとうございます。
お待ちしておりますm(__)m
0640名無しさん@お腹いっぱい。05/02/02 17:53:04
>>638
<f3>:ls<CR>:buf
とかじゃダメ?
0641名無しさん@お腹いっぱい。05/02/02 18:21:24
>>638
:map <f3> :let @t = input("input: ") \| :b ^Rt<CR>
0642名無しさん@お腹いっぱい。05/02/02 18:26:21
ちがった
:map <f3> :let @t = input("input: ") \| b ^Rt<CR>
0643名無しさん@Vim%Chalice05/02/02 18:47:07
640,641,642 ありがとうございます。できました。
ちなみに642だとだめで、641で行けました。
0644名無しさん@Vim%Chalice05/02/02 18:51:36
gvimでコマンドラインをコピペしようと思って選択して"y"したけど、
"y"がそのまま出てコピーできませんでした。
何か方法は合うでしょうか。ウィンドウズのC-cもだめでした
0645名無しさん@お腹いっぱい。05/02/02 18:54:33
>>644
<C-f>
0646名無しさん@Vim%Chalice05/02/02 19:00:16
643のものです。
なんか両方ともできないです。違うバッファに行ったりします。
最初にやったらうまくいったのでOKかとおもって・・
0647名無しさん@Vim%Chalice05/02/02 19:04:05
>>645
おー、履歴を出してヤンクということですね。なるほど!
ありがとうございます。
0648名無しさん@お腹いっぱい。05/02/02 19:08:53
>>646
じゃあこれでどうよ
:map <f3> :let @t = input("input: ") \| execute 'b '.@t<CR>
0649名無しさん@Vim%Chalice05/02/02 19:12:18
 またまた643のものです。
  どうも毎回違うみたいで、何回もやるとだんだん見えてきました。
  inputで入力しても b ?? が実行されなく、
  2回続けるとジャンプできました。レジスタ入る前に
  b ?? が実行されているみたいです。
0650名無しさん@Vim%Chalice05/02/02 19:15:07
>>648
できました。今度はちゃんと。間違いないです。
でも \| execute 'b '.@t<CR> がさっぱりです。
ちとマニュアル見てみます。
0651名無しさん@Vim%Chalice05/02/02 19:52:12
コンソールのvimを愛用中。上下に分割して別のバッファを開くはあるけど
横分割がない。
ウィンドウの横幅設定がない。GUIじゃないからつらい。
横分割は、横分割してバッファ開けばいいけど、vimのコマンドの多さなら
あると思ったのに・・・
0652名無しさん@お腹いっぱい。05/02/02 20:00:18
>>651
あなたの使用しているvimはjvimです。
■ このスレッドは過去ログ倉庫に格納されています