トップページ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/

0437KoRoN@Vim%Chalice ◆8XALICEsdk 2007/08/08(水) 13:40:23
>>436
ないです。

  ttp://www.vim.org/sponsor/vote_results.php

を見るとわかりますが、今一番要望されている機能なので、次のバージョンアッ
プで実装される可能性が高いのではないでしょうか。
0438名無しさん@お腹いっぱい。2007/08/08(水) 22:11:58
:!grep -n (文字列) ./*c ./*cpp ./*h
でヒットしたファイルの中から自分の見たいファイルを
何番目にヒットしたかの番号の指定、もしくはマウスクリックで
ヒットした文字列の位置にカーソルがある状態で
即座に開いて編集したいんですがそういうツールを作ってください
0439名無しさん@お腹いっぱい。2007/08/08(水) 22:37:18
>>438
まずは、マニュアルを一通り読むことを勧める。

:h grep
:h 'grepprg'
:h :clist
:h :cc
0440名無しさん@お腹いっぱい。2007/08/08(水) 23:35:28
コマンド行で矢印キーを使わない方向で文字を消さずにカーソル位置を手前に戻すにはどうしたらいいですか
0441名無しさん@お腹いっぱい。2007/08/09(木) 00:07:03
マップするしかないんじゃない。
:cnoremap <c-b> <left>
0442名無しさん@お腹いっぱい。2007/08/11(土) 01:55:49
「au BufEnter〜」で指定している処理から
NERD_treeで表示しているツリー部分のみ除外したいんですが、
どのように指定したらよいでしょうか?
04434422007/08/11(土) 02:04:05
ちなみに指定している処理は、カレントディレクトリを自動的に移動するこいつです。
au BufEnter * execute ":lcd " . expand("%:p:h")

if bufname() ~= "NERD"とか条件付けてやってみましたがダメでした。
NERD_tree部分は:lsにも名前が出てこないので扱いがよく分かりません。
0444名無しさん@お腹いっぱい。2007/08/11(土) 22:16:47
au BufEnter *  if bufname("%") !~ "NERD_tree" | cd %:p:h | endif
でできた。
ちなみに lcd するなら if の後に isdirectory(expand("%:p:h"))
も付けといた方がいいかも。
04454422007/08/11(土) 23:02:42
>>444
うぉぉ、素晴らしい。やりたかったのはまさにこれです。
ありがとうございます!

ちなみに、ifの後に付けるというのはどのようにすれば・・・orz
and条件は効かない(?)ようなので、ifを入れ子にするということでしょうか?
04464422007/08/12(日) 00:00:43
上記の件、andじゃなくて&&を使えば良かっただけみたいですね。
以下のようにしました。もし間違ってたら教えてください。
au BufEnter * if isdirectory(expand("%:p:h")) && bufname("%") !~ "NERD_tree" | cd %:p:h | endif
ヘタレで申し訳ない。精進します!
0447名無しさん@お腹いっぱい。2007/08/13(月) 11:12:00
subversion関連のvimスクリプトを使ってみたいんだけど、
vcscommand.vimとsvncommand.vimの違いがよく分からん
ほかにもいくつかsubversion関連のスクリプトは有るようだけど、何使ってる?
0448名無しさん@お腹いっぱい。2007/08/15(水) 06:47:30
暇だから 6.0 から 7.1 までのパッチの数を月別に数えてみたよ

01: 153
02: 268
03: 225
04: 184
05: 78
06: 92
07: 87
08: 93
09: 101
10: 231
11: 120
12: 65

メーリングリストの流量とも比例している
http://blog.gmane.org/gmane.editors.vim
http://blog.gmane.org/gmane.editors.vim.devel
0449名無しさん@お腹いっぱい。2007/08/15(水) 20:19:02
( ´ー`) <おまえも暇なやつだなあ。
0450名無しさん@お腹いっぱい。2007/08/15(水) 20:48:07
:bnとか:bpって、始めや最後のバッファで実行すると
反対側にジャンプしてくれるじゃないですか。
これを、あえてジャンプしないようにするってことはできませんかね?
0451名無しさん@お腹いっぱい。2007/08/17(金) 00:25:34
10行目から15行目までをヤンクしたいとき、
10行目に移動して6yyみたいにしてるのですが、
:10,15みたい範囲指定でヤンクする方法はないでしょうか?
0452KoRoN@Vim%Chalice ◆8XALICEsdk 2007/08/17(金) 00:28:55
>>451 もう自分で気が付かれたかもしれませんが。
:10,15y
0453名無しさん@お腹いっぱい。2007/08/17(金) 02:24:29
>>452
ありがとうございます!
あと一歩のところで気づきませんでした。
これでかなり作業が楽になります。
0454名無しさん@お腹いっぱい。2007/08/17(金) 08:05:16
Vy ばかり使っている。堕落したな、俺。
0455名無しさん@お腹いっぱい。2007/08/17(金) 09:51:18
便利なものを使うことは悪いことではない。
0456名無しさん@お腹いっぱい。2007/08/17(金) 17:30:52
たまにコンソール作業とかで素のvi使うと一番戸惑うのはVが使えないことだな
次はggで先頭に飛べないこと

でも逆に言えばその2つくらいで他は普通に使えてしまう
0457名無しさん@お腹いっぱい。2007/08/17(金) 17:57:33
Vyってyyと何が違うの
0458名無しさん@お腹いっぱい。2007/08/17(金) 20:52:42
Vhogehogeyを略して言ったんでしょ
0459名無しさん@お腹いっぱい。2007/08/17(金) 21:49:36
Vh でエラーになり、以降の ogehogey が無効な気がする。
0460名無しさん@お腹いっぱい。2007/08/17(金) 21:52:57
>>456
> ggで先頭に飛べないこと

禿同。最近までFreeBSDマシンの1つにvimを入れずに使ってたんですが、編集する度
にggと叩いてしまう自分に、その度に愕然としてました。
0461名無しさん@お腹いっぱい。2007/08/17(金) 21:55:48
Emacsのviper-modeがいいよと言われたので使ってみたらggで先頭に飛べなかった
すぐVimに戻ってきた
0462名無しさん@お腹いっぱい。2007/08/17(金) 23:01:04
同じ2文字でも1Gとggではタイプのしやすさが全然違うからなあ
0463名無しさん@お腹いっぱい。2007/08/17(金) 23:09:42
1Gよりは:0<C-M>の方がまだ指に優しいかも
0464名無しさん@お腹いっぱい。2007/08/17(金) 23:57:00
皆のvimrc、だいたい何行くらい?
04654642007/08/17(金) 23:59:42
ちなみに自分はvim歴2ヶ月程度で約280行まで増えた
.emacsでは7〜800行もいるらしいけど、vimではどうなんだろ
0466名無しさん@お腹いっぱい。2007/08/18(土) 00:05:50
1行
syntax onのみ
0467名無しさん@お腹いっぱい。2007/08/18(土) 00:46:52
viper-mode は自分でキーバインドや関数追加しないと素のviより使いにくい。
0468名無しさん@お腹いっぱい。2007/08/18(土) 00:52:03
>>461
今は使えるよ。
0469名無しさん@お腹いっぱい。2007/08/18(土) 10:07:46
しずもん。

Kaoriya版Vim7で
メインPC(WinXP+Cygwin)だとomni補完が効くんですが、
別のPC(WinXP+Cygwin)において、
同じ.vimrc、同じ.gvimrcなのにomni補完が出来ません。
なんかファイルがねーよみたいなこと言われます。
エラーメッセージ忘れていてすいません。
これは何が影響していますでしょうか?

また、Windows の Vim7が影響を受ける環境変数の一覧ってありますか?
SHELL、TERM、COMSPECぐらいでしょう?
0470名無しさん@お腹いっぱい。2007/08/18(土) 10:39:24
HOMEに別の.vimrcあったりして
0471名無しさん@お腹いっぱい。2007/08/18(土) 11:41:43
× SHELL、TERM、COMSPECぐらいでしょう?
○ SHELL、TERM、COMSPECぐらいでしょうか?

>>470
HOMEもありましたね、ありがとうございます。
Vim7の実行ファイルのフォルダはKaoriyaさんから落として展開してそのまま突っ込みつつ、
$HOMEはそれぞれ設定してやっちょりますです。
:scriptnamesで確認してあるので.*rc系の読み込みミスは無いと思われますです。
0472KoRoN@Vim%Chalice ◆8XALICEsdk 2007/08/18(土) 12:40:23
>>471
どの言語のomni補完ですか? Cならctags、rubyならrubyがインストールされてある必
要があるようです。言語毎にomni補完を実装している方法が異なるので、それにあわ
せて必要なモノが違ってきます。詳しくは次のヘルプ、もしくはomni補完用スクリプ
トのコメントを参照すると良いでしょう。

:he ft-{*}-omni
:e $VIMRUNTIME/autoload/{*}complete.vim

{*}はfiletypeに置き換えてください。
0473名無しさん@お腹いっぱい。2007/08/19(日) 23:21:44
>>472
言語毎に対応が必要なんですね。
:he ft-{*}-omni で勉強してみます。
ありがとうございます。
ちなみに言語はPHPでごす。
0474名無しさん@お腹いっぱい。2007/08/20(月) 21:32:08
matchで行末のスペースを強調表示したいのですが、
/\s\+$/だとスペースのみの行にもマッチしてしまいます。
スペース以外の文字を含む行だけを対象にするにはどのようにしたらよいでしょうか?
0475名無しさん@お腹いっぱい。2007/08/20(月) 22:19:57
/\S\s\+$/
0476名無しさん@お腹いっぱい。2007/08/20(月) 22:45:28
>>475
それだと「\S」の部分の一文字にもマッチしてしまうんですよね。
syn matchなら/\S\s\+$/hs=s+1(マッチ位置をオフセット)とも書けるようですが、
これをvimrcでやるにはどうれば?
0477名無しさん@お腹いっぱい。2007/08/20(月) 22:46:14
×どうれば?
○どうすれば?
0478KoRoN@Vim%Chalice ◆8XALICEsdk 2007/08/20(月) 23:18:17
>>476 /\S\@<=\s+$/
:he /\@<=
0479名無しさん@お腹いっぱい。2007/08/20(月) 23:31:40
>>478
これは知りませんでした!
おかげで解決しました。ありがとうございます。
0480名無しさん@お腹いっぱい。2007/08/22(水) 10:02:15
set nowrap して、1行が画面におさまらないような(しかも行の長さがまちまちな)
ファイルでスクロールしてると表示がガタガタするのはどうしようもないのかな。
0481名無しさん@お腹いっぱい。2007/08/22(水) 12:50:42
美夢
微無
毘武
0482名無しさん@お腹いっぱい。2007/08/26(日) 16:55:02
C言語のファイルなどを編集する際に、
コメントアウトされた数字が強調表示されるのを防ぐ方法はありますか?
0483名無しさん@お腹いっぱい。2007/08/26(日) 21:21:53
あります
0484名無しさん@お腹いっぱい。2007/08/26(日) 21:24:28
ありがとうございました!
0485名無しさん@お腹いっぱい。2007/08/26(日) 21:31:06
ワロタ
普通、悪態をつくんだけどな。
0486名無しさん@お腹いっぱい。2007/08/26(日) 23:42:43
C言語の場合デフォルトでそうならないか?
0487名無しさん@お腹いっぱい。2007/08/27(月) 00:12:34
>>482
それおいらも知りたい。ハイライトの優先順位ってどうなっているんだろ?
ConstantよりCommentを強くしたいんだけど
0488名無しさん@お腹いっぱい。2007/08/27(月) 01:02:49
:let c_comment_strings=1
が設定されてるとそうなる。
:help ft-c-syntax
0489名無しさん@お腹いっぱい。2007/08/27(月) 01:26:39
>>488
うおお知らなかった。
ありがとうございます。
04904822007/08/27(月) 10:58:36
なんか偽者が現れたな (´・ω・`)

>>488
おかげさまで解決しました。ありがとうございました。
0491ウサチャソ ◆/0IEZmXnQ6 2007/08/27(月) 23:35:44
本物のコメントにワロタw
0492名無しさん@お腹いっぱい。2007/08/28(火) 08:00:22
別に>>488>>482を装ってはいないだろw
0493名無しさん@お腹いっぱい。2007/08/28(火) 08:00:46
>>489
0494名無しさん@お腹いっぱい。2007/08/31(金) 17:21:17
aaabbb
cccddd
eeefff

矩形選択を等を使ってaaa,ccc,eeeの後ろに
文字列を一括挿入する方法がありましたら
教えていただけますでしょうか
0495名無しさん@お腹いっぱい。2007/08/31(金) 17:26:56
カーソルを最初のbの上に置いて矩形選択してI文字列<Esc>
0496名無しさん@お腹いっぱい。2007/08/31(金) 17:27:52
>>494
最初のbにカーソルを合わせて、
Ctrl-v
j
j
I
文字
Esc
0497名無しさん@お腹いっぱい。2007/08/31(金) 17:32:04
一番最後の a にカーソルがあったとして、
<C-v>2jA文字列<Esc>
04984942007/08/31(金) 17:34:39
>495さん,496さん
できました。
めちゃめちゃ速い回答、どうもありがとうございます。
04994942007/08/31(金) 17:36:12
>497さん
なるほど、後ろ側に挿入の時はAと。
ありがとうございます。
0500名無しさん@お腹いっぱい。2007/08/31(金) 18:03:55
>>499
アナルはかんべんしてください
05014942007/08/31(金) 20:27:30
なるほど、Aとはそういう意味だったのですね。
勉強になります。ありがとうございます。

お差し支えなければIについても教えていただけますでしょうか
0502名無しさん@お腹いっぱい。2007/08/31(金) 20:31:36
>>501
「vi コマンド」とか「vi 入門」でぐぐってみ。
0503名無しさん@お腹いっぱい。2007/08/31(金) 20:37:11
>501
Inari
05044942007/08/31(金) 20:41:15
>503
ありがとうございます。IとAの意味を理解しました。
0505名無しさん@お腹いっぱい。2007/08/31(金) 20:50:03
:help I
0506名無しさん@お腹いっぱい。2007/08/31(金) 20:51:11
矩形選択は o, O ,gv あたり知って感動した覚えがあるな。あと矩形をくけいって読むこともw
0507名無しさん@お腹いっぱい。2007/08/31(金) 20:58:28
えっ、のりがたじゃなかったのか…
05084942007/08/31(金) 21:03:32
ええっと、野暮なのかもしれませんが501と504は自分じゃないです。

>「vi コマンド」とか「vi 入門」でぐぐってみ。
> :help I

さっそくやってみました。ありがとうございました。
0509名無しさん@お腹いっぱい。2007/08/31(金) 21:16:48
> 矩形選択は o, O ,gv あたり知って感動した覚えがあるな。
知らなかった。これはイイ
0510名無しさん@お腹いっぱい。2007/09/01(土) 01:06:33
なんだこの流れw
0511名無しさん@お腹いっぱい。2007/09/01(土) 12:55:42
gvがわからん
0512名無しさん@お腹いっぱい。2007/09/01(土) 12:58:55
http://www.amazon.co.jp/Hacking-Vim-Cookbook-Latest-Editor/dp/1847190936/ref=sr_1_12/250-7437320-8160231?ie=UTF8&s=english-books&qid=1188619046&sr=1-12
誰かこの本持ってる人いたら感想聞かせてくれませんか?欲しいんだけど高い…
0513名無しさん@お腹いっぱい。2007/09/01(土) 13:01:40
gvはvとかで前回選択した範囲の再選択
0514名無しさん@お腹いっぱい。2007/09/01(土) 13:03:29
>>513
おお。ほんとだ。ありがとう。
0515名無しさん@お腹いっぱい。2007/09/02(日) 00:26:09
viを一旦終了させて
同じファイルを開いた時に前回終了時の行までジャンプしてくれるような
機能はありませんか?
0516名無しさん@お腹いっぱい。2007/09/02(日) 01:43:17
>>515
元々そういう機能がある気がしますけど。
~/.viminfo が作られていないとかでしょうかね?
0517KoRoN@Vim%Chalice ◆8XALICEsdk 2007/09/02(日) 01:52:34
>>512
オライリー系の「〜 HACKING」のように、様々なシーン(用例)毎のVimの便利な方法を
紹介する本です。そういう形態ですから、体系的な情報には欠ける半面、まったく思い
もよらなかった事に気が付かせてくれたりもします。

そんな感じの内容ですから人にもよるとは思いますが、やはりこの値段だとちょっと手
が出しにくいかもしれませんね。米アマゾンに直接注文すれば結構安くなるみたいです
けど、時間と価格のトレードオフ+為替レート変動のリスクという感じです。

ちなみに私は日本アマゾンに注文したんですが、その時はもう少し高かったです(苦笑
0518KoRoN@Vim%Chalice ◆8XALICEsdk 2007/09/02(日) 01:54:37
>>515
:e $VIMRUNTIME/vimrc_example.vim
から引用します。

> " When editing a file, always jump to the last known cursor position.
> " Don't do it when the position is invalid or when inside an event handler
> " (happens when dropping a file on gvim).
> autocmd BufReadPost *
>   \ if line("'\"") > 0 && line("'\"") <= line("$") |
>   \   exe "normal! g`\"" |
>   \ endif
0519名無しさん@お腹いっぱい。2007/09/02(日) 16:12:01
ペーパーバックだから安いんじゃない?
0520名無しさん@お腹いっぱい。2007/09/02(日) 21:50:09
:bnとかでバッファを切り替えた時、コマンドラインにファイル名が表示されるけど、
何も表示されないようにできませんか?
0521名無しさん@お腹いっぱい。2007/09/02(日) 22:59:13
:silent bn
0522名無しさん@お腹いっぱい。2007/09/02(日) 23:26:11
>>521
ありがとうございます。
0523名無しさん@お腹いっぱい。2007/09/03(月) 04:02:22
複数行の選択、コピーってどうやんの?
0524名無しさん@お腹いっぱい。2007/09/03(月) 07:15:20
y5n とか?
0525名無しさん@お腹いっぱい。2007/09/03(月) 07:16:59
ちがう、y5j だ。
0526名無しさん@お腹いっぱい。2007/09/03(月) 08:12:04
>>525
5行がヤンクされました!
ありがとん
0527名無しさん@お腹いっぱい。2007/09/03(月) 08:19:30
ペヤンク大盛り!
0528名無しさん@お腹いっぱい。2007/09/03(月) 08:23:00
別に5yyでいいじゃん
0529名無しさん@お腹いっぱい。2007/09/03(月) 08:35:56
別にy5jでもいいじゃん
0530名無しさん@お腹いっぱい。2007/09/03(月) 09:06:11
どうでも(ry
0531名無しさん@お腹いっぱい。2007/09/03(月) 10:09:36
(ry
をやってみたが、"y"にリプレスされるだけでyankされないぞ嘘つきめ
0532名無しさん@お腹いっぱい。2007/09/03(月) 14:46:49
>>526
6行じゃないの?
0533名無しさん@お腹いっぱい。2007/09/05(水) 21:59:46
ヤンクしたものをクリップボードに入れたいんだけどできない。
以下のような方法でやってるんだけど、間違ってるんだろうか。

その1
~/.vimrcに
set clipboard+=unnamed

その2
上記で出来なかったので
"+y

コンソールの vim なんだけど、どっちもできなかった。
GUIのvim入れてないから確認できないんだけど、GUI専用?
0534h_east2007/09/05(水) 23:53:43
Ctags-5.7 has been released.

Darren達乙!

パッチのあて方忘れてるorz
0535名無しさん@お腹いっぱい。2007/09/05(水) 23:55:26
>>533
Windows環境じゃねぇーの?
0536名無しさん@お腹いっぱい。2007/09/06(木) 00:14:23
クリップボードだったら
"*yy

じゃないのGUIじゃないvimでもできたよ
■ このスレッドは過去ログ倉庫に格納されています