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

Vim Part14

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2007/03/19(月) 20:09:27
立ててみた。

http://www.vim.org/

前スレ
http://pc10.2ch.net/test/read.cgi/unix/1151423973/

0567名無しさん@お腹いっぱい。2007/09/12(水) 23:03:21
>>566

アリガト
0568名無しさん@お腹いっぱい。2007/09/13(木) 21:13:02
最近Chaliceでこのスレ開くと新規書き込み分が文字化けするのはなぜだろう?
BROKEN!てなる。
一度datを削除してもう一度開くとなおるんだけど。
お気に入りに登録してあるスレでこのスレだけなんだよな
0569名無しさん@お腹いっぱい。2007/09/13(木) 21:26:44
Chalice のスレで聞いたら?
0570名無しさん@お腹いっぱい。2007/09/13(木) 21:52:06
>>568
ウチも同じ状態

datファイルを読み込む時に>>563をmodelineとして認識して
変なことになっていると予想している
0571KoRoN@Vim%Chalice ◆8XALICEsdk 2007/09/14(金) 00:42:27
>>570
良い読みです。週末にデバグします。
0572名無しさん@お腹いっぱい。2007/09/14(金) 19:18:41
【IT/国際】Googe、xyzzyを154億円で買収
http://news21.2ch.net/test/read.cgi/news7/1189722312/

米Google社は14日、日本のプログラマ亀井哲弥氏に対し154億円を支払い、
Google社に移籍しxyzzyの開発に専念してもらう事に「大筋で合意した」と発表した。
Google社が個人を買収するのは異例。亀井氏はテキストエディタ「xyzzy」の開発者であり、
Google社のスポークスマンは報道陣に対し「xyzzyをweb上に移植することで、
Emacs・viなどの伝統的なテキストエディタに対する強力なライバルにしたい。」とコメントした。
0573名無しさん@お腹いっぱい。2007/09/14(金) 20:50:55
ソースの URL が、ポータルサイトや新聞社サイトならば、信用があるんだがね。
いきなり 2ch じゃな。 bizplus でもないし。
0574名無しさん@お腹いっぱい。2007/09/14(金) 21:51:43
もうちょっとうまい釣り考えて出直し来い
0575名無しさん@お腹いっぱい。2007/09/14(金) 21:56:27
こんな下手な釣りは初めて
0576名無しさん@お腹いっぱい。2007/09/15(土) 22:29:35
Vimってカーソル行の背景色を個別に設定するにはどうすればよいの?
0577名無しさん@お腹いっぱい。2007/09/15(土) 22:31:52
:help hl-CursorLine
05785762007/09/15(土) 23:05:11
>>577
サンキュ
05795762007/09/16(日) 00:08:25
うまくいったと思ったんだけど、
背景色(反転の色)を設定している部分で文字色と色がかぶると読めなくなっちゃうな
syntaxのハイライトは残しつつなんとか動的に回避する方法があればいいけど。
背景色の方の設定を見直さないとダメかな。惜しい。
0580名無しさん@お腹いっぱい。2007/09/18(火) 00:05:06
ディレクトリを開いたとき、Vimはファイルブラウザにもなると思うんだが
それにデフォルトで行番号をつける事はできないだろうか。
あると便利なんだけど。
0581名無しさん@お腹いっぱい。2007/09/21(金) 22:33:40
>>580
set numberしとくだけじゃ駄目なの?
0582名無しさん@お腹いっぱい。2007/09/24(月) 07:44:45
vimのコマンドはおろか設定等
vimに出来る全てが載ってる本って有りませんか?
webも良いんですけど、どうしても紙媒体として側において見たいタイプなんで…
0583名無しさん@お腹いっぱい。2007/09/24(月) 07:47:34
>>582
印刷
0584名無しさん@お腹いっぱい。2007/09/24(月) 09:36:46
いや、纏まった本が良いんです。
0585名無しさん@お腹いっぱい。2007/09/24(月) 11:01:53
>>584
「入門vi」と「Vim完全バイブル」は読んだのかい?
あとはやっぱりヘルプが一番詳しいと思われ
0586名無しさん@お腹いっぱい。2007/09/24(月) 12:02:14
ヘルプを印刷屋に渡せ。
金はかかるが製本してくれるぞ
0587名無しさん@お腹いっぱい。2007/09/25(火) 17:26:31
全てのバッファに対して一斉に置き換えを実行することはできませんか?
0588名無しさん@お腹いっぱい。2007/09/25(火) 18:45:43
>>587
:bufdo {cmd}
かな?
0589名無しさん@お腹いっぱい。2007/09/25(火) 23:49:03
>>56 と同じで、大文字小文字区別なしにファイル名を補完したいんだけど
ないかな。Windows の Kaoriya の vim だと出来てたんだけど、Unix
では無理なのかな。実は誰か知ってたりしないかな。
0590名無しさん@お腹いっぱい。2007/09/26(水) 00:23:26
>>589
ignorecaseとか?
0591名無しさん@お腹いっぱい。2007/09/26(水) 00:30:13
マグノリアフェイスとか?角度とか?
0592名無しさん@お腹いっぱい。2007/09/26(水) 00:35:55
こっぺぱんとか?
0593名無しさん@お腹いっぱい。2007/09/26(水) 00:44:32
カムチャッカ半島とか?モリブデンとか?
0594名無しさん@お腹いっぱい。2007/09/26(水) 00:46:37
ツンドラ砂漠とか?
0595名無しさん@お腹いっぱい。2007/09/26(水) 00:47:56
オッペン化粧品とか?
0596名無しさん@お腹いっぱい。2007/09/26(水) 12:39:20
>>589
一応コンパイル時に-DCASE_INSENSITIVE_FILENAMEを追加しておけばできるよ。
ただ、これはあくまで
「使用しているシステムではファイル名の大文字小文字が区別されない」
ことを意味するので、色々と不具合が出てくるよ。
例えば大文字小文字だけが違う名前のバッファが作れなくなる
(:new makefileして:new Makefileしたら後者のバッファ名はmakefileになってしまう)。
0597名無しさん@お腹いっぱい。2007/09/26(水) 14:24:12
:eなら、代わりにfuzzyfinder.vimを
let g:FuzzyFinder_IgnoreCase = 1
って設定して使うという手もある。

http://www.vim.org/scripts/script.php?script_id=1984
0598名無しさん@お腹いっぱい。2007/09/26(水) 21:41:50
ちょっと質問してもいいでしょうか。
:makeした時、エラーがあるとQickFixに表示できると思いますが、
自前のfunction内でこのエラー有無を判別する方法はあるのでしょうか?
それによって処理を分岐させたいのですけども、どう書けばいいのか分かりません・・・。
ちなみにRubyのエラーチェックに使っています。
0599名無しさん@お腹いっぱい。2007/09/27(木) 00:53:43
>>598
getqflist()かな? 外してるかも知れないけど。
06005982007/09/27(木) 01:51:51
>>599
おおっ、これっぽいですね。
見つかってよかった。どうもです。
0601名無しさん@お腹いっぱい。2007/09/27(木) 21:01:48
>>590-598
ありがとう。
ignorecase は :e での補完には効かないみたい
コンパイルオプションはめんどうだな。てゆか Linux でも NTFS とか FAT32
とか使うことあるんだし、コンパイルオプションになっているという設計はど
うなの?えらいひと。
fuzzyfinder.vim というの試してみる。
0602名無しさん@お腹いっぱい。2007/09/27(木) 23:03:32
使う人がいると言うので全部組み込んでたら、オプションいらんわな
0603名無しさん@お腹いっぱい。2007/09/27(木) 23:11:15
常日頃vimrcは不要じゃないかと思ってたんだ
0604名無しさん@お腹いっぱい。2007/09/30(日) 00:34:20
>>29 の方法をおしえてちょ。

スレが落ちてて見れないです。
0605名無しさん@お腹いっぱい。2007/09/30(日) 00:41:59
>>604

825 :名無しさん@お腹いっぱい。 [sage] :2007/03/23(金) 18:08:25 ID:rkPv6uHM0
>>824
:set formatoptions?
Bcroql
:set formatoptions-=r
んで、OK

くわしくは
:h fo-table

デフォルトの設定は、
runtime/ftplugin/c.vim の
setlocal fo-=t fo+=croql
で行われています。
0606名無しさん@お腹いっぱい。2007/09/30(日) 00:53:50
>>605
ありがとう。

ファイルを開いている状態でやるとrが取れるんだけど
.vimrcに書いても有効にならないのは.vimrcより後に
c.vimとやらが読み込まれるため?
0607名無しさん@お腹いっぱい。2007/09/30(日) 13:30:14
>>606
そうだよ。ファイルを開くたびに、
その'filetype'に対応したftpluginが読み込まれる。
これを上書きしたいなら.vimrcに
autocmd FileType c setlocal formatoptions-=r
とかやるといい。
0608名無しさん@お腹いっぱい。2007/09/30(日) 20:04:48
192.168.0.1

このような1行のテキストがあったとして
192.168.0.1
192.168.1.1
  ・
  ・
192.168.255.1

って一気にコピーできるようなやりかたってないですかね?
0609名無しさん@お腹いっぱい。2007/09/30(日) 20:24:49
>>608
取りあえず簡単なのは、一行目にカーソルがあるとすると

qayyp8lCTRL-Aq

としてから

254@a
0610KoRoN@Vim%Chalice ◆8XALICEsdk 2007/09/30(日) 20:35:58
>>606-607

ちょっと高級な方法だとUNIXなら
:e ~/.vim/ftplugin/c.vim
Windowsなら
:e ~/vimfiles/ftplugin/c.vim
を作ってそこに設定を書くという方法もあります。
0611名無しさん@お腹いっぱい。2007/09/30(日) 21:17:58
>>609
ありがとう。
こんな便利な使い方、知らなかったです。
作業が楽になりそうです。
0612名無しさん@お腹いっぱい。2007/10/01(月) 00:40:07
>>608
255行コピーした後、このプラグイン使って列インクリメント。
16進も使えて便利。

VisIncr : Produce increasing/decreasing columns of numbers, dates, or daynames
http://vim.sourceforge.net/scripts/script.php?script_id=670
0613名無しさん@お腹いっぱい。2007/10/01(月) 00:53:05
awk 'BEGIN { for (i = 0; i < 256; ++i) printf("192.168.%d.1\n", i) }'

こんなのしか思いつかない俺は老害
0614名無しさん@お腹いっぱい。2007/10/01(月) 01:24:06
:r! seq -f "192.168.%g.1" 255
0615名無しさん@お腹いっぱい。2007/10/01(月) 02:01:44
最近やっとエクセルの使い方覚えたせいか
マウスでガーとやりたくなった。
0616名無しさん@お腹いっぱい。2007/10/01(月) 13:48:27
255yy で済む話じゃないのか?
yG(y) でもいいじゃん、(y)は必要か不確か
0617名無しさん@お腹いっぱい。2007/10/01(月) 20:07:22
はぁ?
0618名無しさん@お腹いっぱい。2007/10/01(月) 21:10:56
>>616
What?
0619名無しさん@お腹いっぱい。2007/10/01(月) 21:21:26
616のVimと俺たちのVimとでは中身もなにも違うものなんだよ、きっと。
0620名無しさん@お腹いっぱい。2007/10/01(月) 22:14:48
オレは、616氏じゃないけど、最初に 608氏を見たときは、同様の勘違いをした。
3つ目のオクテッドをインクリメントしたいと気づいたのは、
609氏のコメント以降からだった。
0621名無しさん@お腹いっぱい。2007/10/01(月) 22:57:00
まぁ、読み間違うのはまだわかるが
これだけ他の回答例が出た後だから
「〜で済む話じゃないのか?」>「はぁ?」なんでしょw

とりあえず荒縄使い同士仲良くしようぜ!
0622名無しさん@お腹いっぱい。2007/10/02(火) 01:02:46
vimからの印刷(cupsで)について質問です。

cd /usr/share/ghostscript/8.15/Resource/CIDFont/

http://examples.oreilly.com/cjkvinfo/adobe/samples/
から落としてきたフォントをインストールして

set printencoding=euc-jp
set printmbcharset=JIS_X_1983
set printmbfont=r:WadaMin-Regular,c:yes

と設定し、:haしても日本語部分だけが印刷されません。
フォントを変えてみたり、ファイルの文字コードを変更したりしてみたのですが、、

なんか基本的なところが間違ってたりするんでしょうか
ヒントいただければ幸いです。
0623名無しさん@お腹いっぱい。2007/10/02(火) 01:20:48
幸い
0624名無しさん@お腹いっぱい。2007/10/02(火) 18:47:01
:hardcopy > hoge.ps
とファイルに書き込んでそれをgsで表示してみてエラーとか確認してみれば
0625名無しさん@お腹いっぱい。2007/10/03(水) 05:17:35
vi の練習ができるゲーム知らない?
Rogue 以外で.
0626名無しさん@お腹いっぱい。2007/10/03(水) 06:39:01
Chalice入れて実況スレにGo
0627名無しさん@お腹いっぱい。2007/10/03(水) 08:17:38
ゲームだったら…
テトリス無かったっけ?
0628名無しさん@お腹いっぱい。2007/10/03(水) 08:28:27
vi の基本操作を一通り覚えることができて,ゲームとしても十分面白いものをつくりたい.
パズル系,シューティング系が vi と相性がよさそうだけど,具体的なアイディアはまだない.
0629名無しさん@お腹いっぱい。2007/10/03(水) 17:47:16
タイピングとか
0630名無しさん@お腹いっぱい。2007/10/03(水) 18:14:21
レミングスとか
0631名無しさん@お腹いっぱい。2007/10/03(水) 23:15:37
>>628
基本操作を覚えると言えばこんなのがあるけど
ViMaster
ttp://hp.vector.co.jp/authors/VA007799/vimstr.htm

実際はゲームより普通に使って覚えるのが一番なんだよな
どうせ作るならVimスクリプトで暇つぶしできるようなの作って欲しい
0632名無しさん@お腹いっぱい。2007/10/03(水) 23:35:47
>>624
ha > a
kpdf a
で表示すると、日本語が全部?(の逆さまになったやつ)になります、、
haするテキストのエンコードeucにすると、、今度は派手に文字化け。

お手上げかな、、
0633名無しさん@お腹いっぱい。2007/10/04(木) 15:16:39
>>628
精神科医人工無脳をvimスクリプトで実装して、
:doctor で起動できるようにしてemacsに対抗だ。
0634名無しさん@お腹いっぱい。2007/10/04(木) 20:51:19
>>632
kpdfで表示するならたぶんkpdfにもフォントをインストールしないとだめなんじゃないかな。
でも、cupsはghostscriptを使って印刷してるはずだからkpdfで確認しても意味ないような。
encとかfencの設定で印刷出力は変わらないはずだからそれも気になる。
出力ファイルはpostscriptだから中身見ればなんとなく確認できると思う。
WadaMin-RegularとEUC-Hが指定されてるか、文字はeuc-jp(16進数)で出力されてるか、など。
追加でフォントをインストールしなくても日本語フォントが使えるようになってるかもしれないから
それを試すのもいいかも。Ryumin-Lightとかたぶん使える。
設定はghostscript/.../cidfmapに書いてある。
0635名無しさん@お腹いっぱい。2007/10/04(木) 23:04:19
grepとタグジャンプを使って複数のソースコードを飛び回るのって秀丸エディタの方がやりやすくね?
0636名無しさん@お腹いっぱい。2007/10/04(木) 23:07:08
秀丸使えばいいんじゃね
0637名無しさん@お腹いっぱい。2007/10/04(木) 23:10:13
>>636
オマエって頭いいな
0638名無しさん@お腹いっぱい。2007/10/05(金) 00:03:07
>>635
Vimと比べてどうやり易いのか教えて。
0639名無しさん@お腹いっぱい。2007/10/05(金) 00:11:55
一覧出たりするからやりやすいってことなんだろうけど
解決するマクロ、いっぱいあるよ
オレも某エディタから乗り換えた時、使いにくかった覚えが
0640名無しさん@お腹いっぱい。2007/10/05(金) 00:33:19
matchit.vimのb:match_word
0641名無しさん@お腹いっぱい。2007/10/05(金) 01:43:33
すいませーん
置き換えでマッチした行を全て削除する時ってどうやるんでしたっけ?

%s /hoge//

help: replace
help: search-replace

見てもググっても見付けられなかった orz
06426412007/10/05(金) 01:56:52
確か %s /hoge$/d か %s /hoge$//d でいけたと思ったんだけどなぁ
何故かこれをやると

foo foo hoge

foo foo d

になってしまうよぉ orz
06436412007/10/05(金) 02:01:32
思い出した!!!!!!!!!!!!

%sが余計だった

:/hoge$/d

でした!!!
メモ残しとこっと。
0644名無しさん@お腹いっぱい。2007/10/05(金) 02:07:46
ここは>>641のメモ帳になりました
06456412007/10/05(金) 02:18:42
>>643
をい俺!
そのメモも間違ってんじゃねぇかボケ!

:g/hoge$/d

ったく orz
0646名無しさん@お腹いっぱい。2007/10/05(金) 04:38:18
2行を空白入れずに1行にするのに
Jxってやってるけど
1ストロークでできないのかな
0647名無しさん@お腹いっぱい。2007/10/05(金) 07:38:54
>>638
マウス操作でどのディレクトリの下をgrepするか指定できるとか
(コマンドラインでだと、あるディレクトリの下にどういうファイルやディレクトリがあるか見えにくい。。数が膨大だと特に)
grep結果は新規ウィンドウで表示されてマウスクリックでさらにタグジャンプ先が新規ウィンドウで表示とか
0648名無しさん@お腹いっぱい。2007/10/05(金) 08:08:42
マウスはVimでは考えてないから置いとくとして、
新規バッファで開くとかは簡単にできるだろ
ファイル数が多いって言うのも、わからんしやな
0649名無しさん@お腹いっぱい。2007/10/05(金) 09:21:24
>>646
gJ
0650名無しさん@お腹いっぱい。2007/10/05(金) 09:21:45
grepはEmEditorとサクラがいいと思うな。
デフォルトで今開いているファイルのディレクトリが対象になるし。
EmEditorは除外ファイルも指定できるし、サクラは検索結果バッファに
検索条件も残してくれるのがうれしい。
vimはquickfixウィンドウが1つしかないのが致命的。

どのディレクトリにどんなファイルがあるか分からない場合は、Unixなら
シェルに降りてコマンド使えばいいけど、シェルとvim間でコピペしたくなる。
0651名無しさん@お腹いっぱい。2007/10/05(金) 09:44:05
コピペしたらいいじゃねぇーか
0652名無しさん@お腹いっぱい。2007/10/05(金) 10:00:54
マウス使ってか?
0653名無しさん@お腹いっぱい。2007/10/05(金) 10:17:02
>>650
lgrep && lopen
0654名無しさん@お腹いっぱい。2007/10/05(金) 10:20:25
>>653
それ使いづらいんだけど。
0655名無しさん@お腹いっぱい。2007/10/05(金) 11:36:39
使いづらいなら使いやすいようにするか、他に使いやすい物を使えよ。
0656名無しさん@お腹いっぱい。2007/10/05(金) 21:29:35
別に使いにくいのに使ってるなんて言ってないだろ!
0657名無しさん@お腹いっぱい。2007/10/06(土) 00:31:35
どうでもいい。黙れ。、
0658名無しさん@お腹いっぱい。2007/10/06(土) 01:16:34
わかったよ、黙るよ!
0659名無しさん@お腹いっぱい。2007/10/06(土) 01:29:02
拡張子毎にタブ幅を変えるのってどうすればいいんでしょうか?
~/.vimrc.c, ~/.vimrc.rb
ファイルを作成する。

~/.vimrc.c 内に
set ts=4 sw=4 sts=0
~/.vimrc.rb 内に
set ts=2 sw=2 sts=0
をそれぞれ書き込む。ということはやりました。

~/.vimrc 内に
set fexrc
を書き込んでも、そんな設定ないよ。と言われてしまいます。

OS:CentOS 5.0 VIM:7.0
です。どなたかお助けをお願いします。
0660名無しさん@お腹いっぱい。2007/10/06(土) 03:02:17
>>659
~/.vimrc
autocmd BufReadCmd *.rb setlocal ts=2 sw=2 sts=0

詳細は
:he autocmd
:he autocmd-events

もしくは >>610
0661名無しさん@お腹いっぱい。2007/10/07(日) 11:07:14
GetLatestVimScriptsって使ってる人いますか?
なんか実行してもひとつずつしかDLされなくて、
何度も:GLVSしなきゃならないんですが、そういう仕様なんですかね?
0662名無しさん@お腹いっぱい。2007/10/08(月) 18:37:33
:!grep func_name ./*.c ./*ch > grep.txt
:tabnew grep.txt
をキー一つで実行するにはどうしたらいいですか
0663名無しさん@お腹いっぱい。2007/10/08(月) 19:54:10
バインドしろ
0664名無しさん@お腹いっぱい。2007/10/08(月) 22:15:15
kwsk
0665名無しさん@お腹いっぱい。2007/10/09(火) 13:36:04
>>662
vim7専用

カーソル位置の単語をカレントディレクトリ以下(サブディレクトリ以下も)の
.cpp .c .h ファイルから検索する。
検索終了するとカレントエラーリストWindowを開く。

noremap K :vimgrep /\<<C-R><C-W>\>/ **/*.{cpp,c,h}<CR>:copen<CR>

あとは :cclose :cnew :cold を使いこなせば不便ではなくなると思う。


自分で検索文字を入力したい時はこんな感じでどうでしょうか。
noremap _g :vimgrep // **/*.{cpp,c,h}<C-B><RIGHT><RIGHT><RIGHT><RIGHT><RIGHT><RIGHT><RIGHT><RIGHT><RIGHT>

この場合は後で :copen すればカレントエラーリスト出てきます。
0666名無しさん@お腹いっぱい。2007/10/09(火) 19:00:44
>>665
レスありがとうございます。
>noremap K :vimgrep /\<<C-R><C-W>\>/ **/*.{cpp,c,h}<CR>:copen<CR>
これを実行すると検索元のファイル表示が消えるのですが
検索元のファイルは表示したままgrep結果を新しいタブもしくはウィンドウで表示するにはどうしたらいいですか
■ このスレッドは過去ログ倉庫に格納されています