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

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結果を新しいタブもしくはウィンドウで表示するにはどうしたらいいですか
0667名無しさん@お腹いっぱい。2007/10/09(火) 20:42:53
>>666 ダミアンダミアン
ctrl-o で戻れるけど、それじゃダメ?
0668名無しさん@お腹いっぱい。2007/10/09(火) 21:03:57
>>667
レスありがとうございます。
c
0669名無しさん@お腹いっぱい。2007/10/09(火) 21:06:04
>>667
レスありがとうございます。
C-oで戻れるとは知りませんでした。新しいタブかウィンドウで表示されるともっと便利だけど。。
0670名無しさん@お腹いっぱい。2007/10/09(火) 23:30:57
>>669
そろそろ自分で調べれ
それでも分からんかったら
どう調べてどうやってどうダメだったか報告しれ
0671名無しさん@お腹いっぱい。2007/10/14(日) 15:29:09
grepとタグジャンプが満足に行えないvimは糞w
0672名無しさん@お腹いっぱい。2007/10/14(日) 15:40:45
すぐ芝植えたがる奴が増えたな
0673名無しさん@お腹いっぱい。2007/10/14(日) 19:18:47
オレも秀丸から移行してきた当初は、quickfix が使いにくかった。
まっ、慣れれば問題ないよ。
素の grep だと機能が足りないと思う場合は、別の grep を使って、
結果だけ読み込ませてしまえばいいわけだし。
0674名無しさん@お腹いっぱい。2007/10/19(金) 14:15:24
quickfixはユーザーディレクトリ( .vimfile/)にftplugin/qf.vim つくって

setlocal cursorline

nnoremap <buffer> q :cclose<CR>
nnoremap <buffer> H :colder<CR>
nnoremap <buffer> L :cnewer<CR>

とか、バッファ限定でmap増やしたりすると多分楽だと思う

他にいい方法あるか

0675名無しさん@お腹いっぱい。2007/10/26(金) 13:06:02
ktermやmltermでエスケープシーケンスを含むキーをvmapすると
正常に認識されないね。
nnoremap <F8> :hoge はOKでも
vnoremap <F8> :hoge はNG
0676名無しさん@お腹いっぱい。2007/10/30(火) 00:20:39
vimのプラグインもyumなんかと同じようにコマンドでネットワークから
自動インストールされるようにできないもんだろうか
あと更新も
0677名無しさん@お腹いっぱい。2007/10/30(火) 11:11:25
一応
:h getscript
というものはあるようだが…
0678名無しさん@お腹いっぱい。2007/10/30(火) 18:30:05
getscriptとvimballはなんか微妙
0679名無しさん@お腹いっぱい。2007/10/31(水) 15:23:48
viでemacsのときの癖でC-x c か C-x s と入力したら
-- ^X mode (^E^Y^L^J^F^I^K^D^V^N^P)
と表示されたまま入力を受け付けてくれなくなったのだけれど
どうすればいいですか
0680名無しさん@お腹いっぱい。2007/10/31(水) 15:35:43
大抵の場合はEscかC-cでキャンセルできますよ。
ってゆーか入力を受け付けなくなったのならC-s押したんじゃね?
それならC-q
0681名無しさん@お腹いっぱい。2007/10/31(水) 16:27:45
C-qでいけました!ありがとうございます
0682名無しさん@お腹いっぱい。2007/10/31(水) 17:24:28
C-c, C-z, C-s, C-q は定番だな

コマンドラインで $ や * や ? が変な風になるとかも
0683名無しさん@お腹いっぱい。2007/10/31(水) 20:57:17
C-pでの補完の動作についてなのですが、
デフォルトだとメソッドのアクセサ('.','->')で区切られて補完されるようになっていますが、
これを回避する方法ってありますか?

$this->hoge->huga

を一気に補完リストに表示してほしいです。
0684名無しさん@お腹いっぱい。2007/10/31(水) 21:26:38
>>683
iskeywordに('.','->')を追加する。
0685名無しさん@お腹いっぱい。2007/10/31(水) 23:31:53
>>684
返事が遅れてすみません。
助かりました。ありがとうございます。
0686名無しさん@お腹いっぱい。2007/11/01(木) 10:19:02
getscript書いといた。
http://vimwiki.net/?tips%2F103
:AutoInstall:はできるものが限られるから微妙かもしれないけど
(というかmru.vimで試したらできなかった)
ダウンロードするだけならけっこう便利。
0687名無しさん@お腹いっぱい。2007/11/01(木) 11:11:28
>>686
0688名無しさん@お腹いっぱい。2007/11/02(金) 07:15:35
500行から1000行ぐらいのEUC-JPで日本語混じりの文章を保存しようとすると時折失敗します。
行末にスペースやら空行やらを追加すると保存できたりするんですが、
一文字追加するだけで良かったり数文字追加しなきゃ行けなかったりで謎な感じです。
機種依存な文字は意識的に使っては居ない筈なんだけど、
他にこういう症状が出ている人いますか?

WindowsXPSP2 Kaoriya版VIM7.1+同iconv1.10
試した文字コード
cp932 OK
UTF-8 OK
EUC-JP 時々エラー
EUC-JISX0213 EUC-JPでエラーの時はこっちでもエラーが出ます
0689名無しさん@お腹いっぱい。2007/11/02(金) 15:17:29
どういうエラーが出るんだよ、と
0690KoRoN@Vim%Chalice ◆8XALICEsdk 2007/11/02(金) 15:24:44
>>688
できたらその保存に失敗するテキストを私に送ってください。
0691名無しさん@お腹いっぱい。2007/11/04(日) 20:29:53
Vim7からついたタブですが、とりあえず起動オプションで
「 -p --remote-tab-silent」とかで追加できるのはわかったんですが
これを.vimrc側に記述する方法ってありませんか?
とりあえず何でもかんでもタブ追加で開きたいんですが
0692名無しさん@お腹いっぱい。2007/11/04(日) 21:02:55
>>691
つレジストリ
0693名無しさん@お腹いっぱい。2007/11/05(月) 06:36:47
>>689
変換に失敗しましたってでまする

>>690
了解しました
送信しても問題のない文書で
エラーが再現したときに送ります。
0694名無しさん@お腹いっぱい。2007/11/05(月) 09:42:09
>>692
そこをなんとか設定ファイル側で、、、
ってわけにはいかないのかなぁ
レジストリいじるのは、なんか負けたような気がするw
でもやってみます、アリガト
0695名無しさん@お腹いっぱい。2007/11/05(月) 12:33:37
環境はWindows XP、vim7.1です。
_gvimrcに'colorscheme default'と書くと色がおかしくなります。たとえば_vimrc内の
'set'や'map'といった単語が黄色に色づけされます。で、ここでコマンドラインから
:colorscheme default<CR>とすると元に戻ります。

_gvimrcに'colorscheme default'と書く必要はないのでどうでもいいことなのですが、
なぜそうなるかが分からないので。ご存知の方いらっしゃるでしょうか?
0696名無しさん@お腹いっぱい。2007/11/05(月) 20:12:33
:help 'background'
0697名無しさん@お腹いっぱい。2007/11/05(月) 22:43:51
>>696
ども。bgがdarkに設定されているのか。でもよく分からないんですが
_gvimrcに'colorscheme default'を設定後に :verbose se bg とすると
"Last set from $VIMRUNTIME\colors\default.vim"と表示されます。
で、そのdefault.vimを見ると 'set bg&' とあるのですね。つまりデフォルト
の値である'dark'にここで設定されていると。
でも gvim -u NONE -U NONE で起動したときはbg=lightなのです。
これは???よく分かりません><
0698名無しさん@お腹いっぱい。2007/11/05(月) 23:58:02
1. backgroundのデフォルトは"dark" (dosだから?)
2. :colorscheme default -> :set bg& ("dark"に設定される)
3. _gvimrc読み込み後(正確にはGUI窓を実際に開いたとき)backgroundのデフォルトが"light"に設定される。
   このとき、:hi Normalの背景色を見てbgの現在値も変更される。
   ただし、その前に一度でもbgが設定されていたなら変更しない。
   つまり、bg=dark かつ デフォルト=light な状態になる。
4. :colorscheme default -> :set bg& (こんどは"light")
0699名無しさん@お腹いっぱい。2007/11/06(火) 11:33:44
>>698
> ただし、その前に一度でもbgが設定されていたなら変更しない。

ここがポイントだったみたいです。default.vimの'se bg&'をコメントアウト、
あるいは'se bg=light'としたところ、いずれもlightに設定されました。自分用の
colorschemeは$HOME\vimfiles\colorsにつくるのがいいみたいですね。
あとoptions.txtとsyntax.txtの該当部分も参考になりました。
ありがとうございました。
0700名無しさん@お腹いっぱい。2007/11/09(金) 12:00:14
Vim 7.1 patches 145で、
:file [b-a]
とかやると、バッファの名前は変わるが、
E16 Invalid Rangeが出る。[a-b]だと出ない。
-の前後で、アルファベットが逆順だと出るみたい。これってバグ?

FuzzyFinder.vimって便利なプラグイン使わせてもらってるんだけど、
1.4.1からこれのせいで、エラーがでる。まぁ、-の前後にスペース入れちゃえば、
問題ないから、たいしたことではないのだけど。
0701名無しさん@お腹いっぱい。2007/11/09(金) 14:38:36
>>700
バグでもなんでもない。[とか]とかのヤバげな文字をエスケープしてないから。
:file \[a-b\]
とかすべし。

:file [a-b] はカレントディレクトリに名前がaかbのファイルかディレクトリがあったら
:file a とか :file b とか :file a b とかに展開・解釈される。
バッファ名が[a-b]になるのは、
たまたまカレントディレクトリにその手のファイルやディレクトリがなくて、
パターンが展開されずそのまま用いられただけ。
[b-a]はパターンとして不正だからエラーになる。
OK?
0702名無しさん@お腹いっぱい。2007/11/10(土) 00:47:47
Vim 7.1 の changelog モード使ってる方いらっしゃいますか?
<leader> + o でエラーが出ちゃうんですが・・・
0703名無しさん@お腹いっぱい。2007/11/10(土) 02:31:16
bufexplorerで空白の入ったパスのファイルを開くと挙動がおかしくなるんだけどオレだけ?
netrwもバグバグだしVimはなんかスクリプトの質が低いな
0704名無しさん@お腹いっぱい。2007/11/10(土) 13:31:25
>>702
バグあるらしいよ。
http://pc11.2ch.net/test/read.cgi/unix/1174302567/318-321
0705名無しさん@お腹いっぱい。2007/11/10(土) 15:07:26
>>703
ノシ

バージョン戻した。
■ このスレッドは過去ログ倉庫に格納されています