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

Vim6+ Part12

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2005/11/26(土) 10:33:23
Vim 6以降に関する話題、Part12です。
http://www.vim.org/

前スレ
http://pc8.2ch.net/test/read.cgi/unix/1110817975/

関連情報は>>2-8あたり。
0133名無しさん@お腹いっぱい。2005/12/23(金) 09:42:51
windows の gvim 使っているんですが ascii と日本語を別々なフォントに割り当てることは出来ないでしょうか
xyzzy みたいな感じで
0134名無しさん@お腹いっぱい。2005/12/24(土) 02:34:28
>>133

FontLink機能を使ってみては。
blue.ribbon.to/~akene/fontlink.htm
0135名無しさん@お腹いっぱい。2005/12/24(土) 17:45:56
vim起動時のコマンドライン引数を取得することはできるでしょうか?
(シェルスクリプトの$[0-9]のように)

何がしたいと言いますと、_vimrcに
if {"-c Chalice"を付けてvimを起動した時}
    let loaded_minibufexplorer = 1
endif
と書いて、Chalice起動後に、MiniBufExplorerが起動しないようにしたいのですが。
0136名無しさん@お腹いっぱい。2005/12/24(土) 18:18:55
引数のファイル名ならargc(),argv()でとれるけど…
vim --cmd "let loaded_minibufexplorer = 1" -c Chalice
ではどう?
01371352005/12/24(土) 18:47:10
>>136
--cmdでうまくいきました!ありがとうございます。

実は
vim -c "let loaded_minibufexplorer = 1" -c Chalice
と試してみて、なんでうまくいかないのかなあと思っていたのですが、
ヘルプをよく読めばよかったですね。
:h --cmd
> {command} will be executed before processing any vimrc file.
:h -c
> {command} will be executed after the first file has been read
beforeとafterの違いがあったとは気づきませんでした。
0138名無しさん@お腹いっぱい。2005/12/24(土) 21:32:28
[]に囲まれた特定の文字列だけをハイライトさせるにはどう設定すればできますか?

set some_cmd=Foo,Bar
とやったら
[Foo]と[Bar]だけハイライトされて[Baz]は色が変わらないようなものを探しています。
0139名無しさん@お腹いっぱい。2005/12/24(土) 21:56:03
>>138
:set hlsearch
で、
/\[Foo\]\|\[Bar\]
で良くないですか?
0140名無しさん@お腹いっぱい。2005/12/24(土) 22:07:30
永続化させたいならこうかな。
syntax match some_cmd  /\[Foo\]\|\[Bar\]/
hi some_cmd ctermfg=red
0141名無しさん@お腹いっぱい。2005/12/25(日) 22:32:11
vim + qt ってないよね?

俺が実装してやるか
0142名無しさん@お腹いっぱい。2005/12/25(日) 23:06:02
>>141
がんばれ。
だけどkvimってのがあるぞ。
0143名無しさん@お腹いっぱい。2005/12/25(日) 23:13:25
むしろ今はyzisに期待
0144名無しさん@お腹いっぱい。2005/12/28(水) 14:35:52
>>138
\[\(Foo\|Bar\)]
]は\付けなくていい

大文字小文字無視なら \c を追加 (\cはどこでもいい)
\c\[\(Foo\|Bar\)]
\[\(Foo\|Bar\)]\c

大文字無視なので実は正規表現自体も全部小文字でいい
\c\[\(foo\|bar\)]

単語を増やしたければ \|Word を追加していく
\[\(Foo\|Bar\|Word1\|Word2\)]

[]自身をハイライトに含めたくなければ(つまり中身だけハイライト)
\[\zs\(Foo\|Bar\)\ze]

以上全部
\c\[\zs\(foo\|bar\|word1\|word2\)\ze]
0145名無しさん@お腹いっぱい。2005/12/29(木) 05:26:03
filelist.xml無しでnetupvim1.6つこうたらvim6.3にメジャーバージョンダウンしてもうた・・
0146名無しさん@お腹いっぱい。2005/12/29(木) 15:33:53
windows上でgVimを使っています。

拡張子が C や cpp でないファイルであっても、C言語と同じようにハイライト表示させたいのですが
C言語のシンタックスを使うかどうかというのは、どこで判断されてるのでしょうか?

runtime/syntax/c.vim を見てみましたが、それらしい記述を見つけられませんでした
0147KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/29(木) 16:00:21
>>146
:set ft=c
:he 'filetype'
0148名無しさん@お腹いっぱい。2005/12/29(木) 16:36:50
>>147
ありがとうございます
うまくできました
0149942005/12/31(土) 04:29:32
migemoでcを検索したらvimが落ちました。
>>91と同様にパターンによって落ちているのではないことを確認しました。
落ちないパターンサイズの上限は42546バイトでした。
0150名無しさん@お腹いっぱい。2006/01/02(月) 18:40:28
閉じカッコをやったときに、対応するカッコへジャンプして、またもとの場所へ戻るようにするには
どうすればいいですか?
0151名無しさん@お腹いっぱい。2006/01/02(月) 19:02:24
>>150
%
0152名無しさん@お腹いっぱい。2006/01/02(月) 19:27:27
smの話じゃねーの
0153名無しさん@お腹いっぱい。2006/01/02(月) 19:31:11
>>150
:set sm
0154名無しさん@お腹いっぱい。2006/01/02(月) 19:40:27
どうもありがとうございました。

探していたのは、 sm でした。
0155名無しさん@お腹いっぱい。2006/01/03(火) 12:20:24
smって何ですか?やってみたけど何が起こってるのかわかりません。

:he smをEXCITE翻訳にかけると
「」 : 代用品と同じです」が、いつも'魔法使用します'。
と出てきて意味がわかりません。
0156名無しさん@お腹いっぱい。2006/01/03(火) 12:41:31
>>155
h 'sm'
0157名無しさん@お腹いっぱい。2006/01/03(火) 15:24:34
世界まるごとショウマッチ
01581552006/01/03(火) 23:41:51
あ、わかった。ども。
0159名無しさん@お腹いっぱい。2006/01/04(水) 14:15:44
+更新ばっかやってたから新スレ移行したの気付かなかった
0160名無しさん@お腹いっぱい。2006/01/05(木) 11:45:17
emacs で使われている
  # -*- conding: utf-8 -*-

  # vim:fileenconding=utf-8
と同じ働きをさせるようなvimscriptはありますでしょうか?
0161名無しさん@お腹いっぱい。2006/01/05(木) 12:45:30
>>160
ない
0162名無しさん@お腹いっぱい。2006/01/06(金) 21:09:38
viには、Emacsのauto-fill-modeみたいな機能はありますか?
0163名無しさん@お腹いっぱい。2006/01/06(金) 22:53:35
vi にはない。
0164名無しさん@お腹いっぱい。2006/01/07(土) 01:29:04
vimにはありますか?
0165名無しさん@お腹いっぱい。2006/01/07(土) 14:17:14
あるけどあんまり賢くない。
自動整形はOnTheSpotと相性最悪。
手動でいいなら香り屋のformat.vimが便利。
0166名無しさん@お腹いっぱい。2006/01/08(日) 00:05:14
Kaoriya 配布の Win版 VIM 6.4 + iconv 1.10 で質問
なんか急に日本語のエンコード自動判別が出来なくなったんだが
なにが原因?

試しに、
:if has('iconv')
: echo "HAS ICONV"
:endif
ってやったら
HAS ICONV って表示されました

ついでに、エンコード指定でファイルを開く方法も教えてけろけろ
0167名無しさん@お腹いっぱい。2006/01/08(日) 00:10:18
>>166
e++enc=hogehoge filename
0168名無しさん@お腹いっぱい。2006/01/08(日) 00:45:59
>>167
ありがとー


色々試したのですが、
15535byte を越える行を持つeuc-jp、euc-jisx0213なファイルを
開く場合に変換の失敗が発生しているようです
保存する場合も同様に失敗しました
また、その行の行末を ASCII な文字で書いてやると保存に成功しました。

何故か、utf-8で保存するのはOKでした。

なにやらよくわかりませんが、
ご報告しておきます。
0169名無しさん@お腹いっぱい。2006/01/08(日) 00:47:49
>>168
追記
>>167の通りにエンコード指定を予めしても開くのに失敗しますた
0170KoRoN@Vim%Chalice ◆8XALICEsdk 2006/01/08(日) 01:34:00
>>166
netupvimの最新版を使ってますか? そうでない古いバージョンには、文字化けを引き
起こすバグが知られています。
0171名無しさん@お腹いっぱい。2006/01/08(日) 01:42:09
すいません、>>166ではないのですが質問。

>>170
> 文字化けを引き起こすバグ
これは、>>61-70の話:
 >>70
 > libiconvが使っているCランタイム(MSVCR71)と、Vimが参照して
 > いるCランタイム(MSVCRT)が異なっていました。そのため変換
 > バッファがちょうど2バイト文字を切断している際に、libiconvが
 > 発生させていたエラーをVimが捕捉できておらず、それにより変換ミスとして
 > 扱っていたことが原因です。
でしょうか?
0172KoRoN@Vim%Chalice ◆8XALICEsdk 2006/01/08(日) 02:01:17
>>171 その通りです。
01731712006/01/08(日) 02:16:25
>>172 了解しました。ありがとうございます。
01741662006/01/08(日) 02:46:07
>>170
すいません、netupvim使っていたんですが
インストールするフォルダ間違えてますた。

正:gvim\netupvim.exe
誤:gvim\netupvim\netupvim.exe

フォルダ直して試したら問題が解消されました。
ありがとうございました。

マニュアル読み飛ばしてごめんなさい
何回も入れてたから適当になってた…('A`)
0175名無しさん@お腹いっぱい。2006/01/08(日) 14:31:41
文の定義は変えらんないってHELPに書いてあったけど、()で「。」を見分けて飛ぶのはどうしても無理?
0176KoRoN@Vim%Chalice ◆8XALICEsdk 2006/01/08(日) 14:52:14
>>175
スクリプトを駆使する、もしくはソースコードをquick hackする等すれば可能です。
前者よりは後者のほうが、他の機能との整合性を保つのは楽でしょう。

genericな仕組みとしてVimに取り込んでもらうのは、やらなければならないことが多
そうなので、ちょっと大変かと思われます。
0177名無しさん@お腹いっぱい。2006/01/08(日) 19:34:00
>176
なるほど。わかりました。
0178名無しさん@お腹いっぱい。2006/01/11(水) 03:34:52
vimでは、一つの論理行が長いと重くなると聞いたのですが本当ですか?
一行が長い日本語文章を編集しようとして、試しにファイルを開いてみたのですが
それほど重くなったという実感はありませんでした。
0179名無しさん@お腹いっぱい。2006/01/11(水) 04:09:14
一行1Mbてなぐらい長いと、つー話
0180名無しさん@お腹いっぱい。2006/01/11(水) 11:19:03
>>178
そうなの? 物理行が長いなら確かに重いけど。
0181名無しさん@お腹いっぱい。2006/01/11(水) 14:54:04
ウェブログをvimでいじってたら :set backupしてるの気付かなくて
やたら重かった記憶。
0182鯖缶@WimWiki.net2006/01/11(水) 19:59:10
vimwiki.net を取得して、サーバーを移転しました。旧ドメイン(vim.mydns.jp)にア
クセスすると vimwiki.net にリダイレクトされるようになっています。ブックマー
クされている方は変更をお願いします。また、サーバーを移転しましたので何か不具
合などを見つけた場合、お知らせ頂ければ幸いです。
0183名無しさん@お腹いっぱい。2006/01/11(水) 23:15:37
>>182
お疲れちゃん!
ぱっと見問題はなさそう
WinXP SP2 + Firefox1.5
0184名無しさん@お腹いっぱい。2006/01/12(木) 00:39:03
:cnoremap <C-S-i> <S-TAB>
てやりたいんだけど、これだと<C-S‐i>と<C-i>の両方で<S-TAB>が入ってしまう。
どうやったらいいですか?
0185名無しさん@お腹いっぱい。2006/01/12(木) 00:46:41
>>184
無理なんじゃないか?
0186名無しさん@お腹いっぱい。2006/01/12(木) 22:11:35
普段インデント関係の設定を
set tabstop=4
set shiftwidth=4
set expandtab
set autoindent
set cindent
filetype indent on
このようにしていますが、マウスからのペーストのときだけこれらを
無効にして、階段状にならないようにペーストすることはできるでしょうか?
vim-6.4
0187名無しさん@お腹いっぱい。2006/01/12(木) 22:16:36
>>186
se paste
0188名無しさん@お腹いっぱい。2006/01/13(金) 00:29:26
gfでファイルを開くとき
/aaa/bb c/d.txt
みたいにディレクトリ名やファイル名にスペースがあった場合は
どうすればいいのでしょうか?
0189名無しさん@お腹いっぱい。2006/01/13(金) 13:57:09
v_gf (vで選択してgf) が無難かな
0190名無しさん@お腹いっぱい。2006/01/14(土) 00:40:38
>>189 thx
0191名無しさん@お腹いっぱい。2006/01/15(日) 01:42:27
挿入時に行われる自動改行を OFF にするオプションを教えてください。
0192名無しさん@お腹いっぱい。2006/01/15(日) 01:48:00
>>191
意味がわからん。自動改行って何?
0193名無しさん@お腹いっぱい。2006/01/15(日) 01:50:25
:set nowrap
とかじゃね?
0194名無しさん@お腹いっぱい。2006/01/15(日) 01:53:15
わかった。se fo-=tだ。
0195名無しさん@お腹いっぱい。2006/01/15(日) 03:27:37
>>194
それですた。
0196名無しさん@お腹いっぱい。2006/01/15(日) 05:44:51
カーソルのある位置にdateなんかのコマンドの実行結果を挿入する方法ってある?
0197名無しさん@お腹いっぱい。2006/01/15(日) 06:15:21
:r! command
date だと
:r! date

便乗質問
カレントバッファ(または選択範囲)の中身をソートしたい時ってどうするの?
:r! sort "%"
だと文字化けしたお
01981972006/01/15(日) 06:33:08
http://www.water.sannet.ne.jp/clean/gvim.doc/doc/usr_12.txt
12-3
これか


ファイルを環境にあったエンコードで保存し直してから
:'<,'>!sort
すればいいのか
自己解決した
0199名無しさん@お腹いっぱい。2006/01/15(日) 22:38:23
問題は
sortがfencの文字コードを扱えない
sortの出力を読み込むときに、文字コードの判定をミスっている (:set fencs= | %!sort  とかするとokかも)
のどちらかじゃないかな。どっちも大丈夫なら保存し直さなくてもいけると思うのだけど。

外部コマンドとの入出力はtenc固定でしてるんだと思ってたけど違ったのか。
02001972006/01/16(月) 02:50:54
環境
Windows XP pro
Vim 6.4
sort は Windows 付属のヤツ
編集しているファイルのエンコードは euc-jisx0213

:set fencs= | %!sort だと文字化けはしないけど、
fenc が cp932 に変更されてしまいました

ついでなので他のエンコードも試してみました

fencが
euc-jp 化ける
utf-8 化ける
ucs-2 化ける
cp932 OK

てな結果になりました。
これはしようがないものなんでしょうか?
0201名無しさん@お腹いっぱい。2006/01/16(月) 07:58:40
windowsのsortはeuc-jpを扱えない (cp932として不正なバイトは削除されるもよう)
ので、むりっぽい。
0202名無しさん@お腹いっぱい。2006/01/17(火) 10:00:20
カーソル下の単語を検索できる * コマンドを今知った・・・。
今までの苦労は何だったんだ・・・。
0203名無しさん@お腹いっぱい。2006/01/17(火) 11:48:54
日本語ドキュメント印刷してプチ製本しちまったよ


   クルッ       _______
  ∧_∧    /
 ( ・∀・ )彡< 仕事中にな!
⊂    つ   \
  人  Y       ̄ ̄ ̄ ̄ ̄ ̄ ̄
 し (_)
0204名無しさん@お腹いっぱい。2006/01/17(火) 17:00:06
>>202
君にはこれもあげよう。
っ <C-R>/
0205名無しさん@お腹いっぱい。2006/01/17(火) 17:01:20
つ g*
0206名無しさん@お腹いっぱい。2006/01/17(火) 17:29:40
>>202
ありがとう
0207名無しさん@お腹いっぱい。2006/01/17(火) 19:52:12
vikiが静かになる方法を教えて下さい
0208名無しさん@お腹いっぱい。2006/01/17(火) 19:54:17
どっかで拾った、選択文字列を検索
vnoremap # y?\V<C-R>=substitute(escape(@",'/'),"\n","\\\\n","g")<CR>?<CR>
vnoremap * y/\V<C-R>=substitute(escape(@",'/'),"\n","\\\\n","g")<CR>/<CR>
0209名無しさん@お腹いっぱい。2006/01/17(火) 21:08:38
>>208
いただき!
02102092006/01/17(火) 21:13:49
zレジスタに保存するようにした。
vnoremap # "zy?\V<C-R>=substitute(escape(@z,'/'),"\n","\\\\n","g")<CR>?<CR>
vnoremap * "zy/\V<C-R>=substitute(escape(@z,'/'),"\n","\\\\n","g")<CR>/<CR>
0211名無しさん@お腹いっぱい。2006/01/17(火) 21:30:58
レジスタ利用すると相性が出てくるからイヤン
0212名無しさん@お腹いっぱい。2006/01/17(火) 21:43:12
一時レジスタ専用のレジスタってないの?
0213sage2006/01/17(火) 22:03:55

ス、ア、ハ、、
0214名無しさん@お腹いっぱい。2006/01/18(水) 01:55:56
数字のレジスタに入れるのはどうだろう。
これはこれで問題あるかもしれんがね
0215名無しさん@お腹いっぱい。2006/01/18(水) 03:14:38
:.!cat
のようにしてフィルタを呼び出した時に文字化けしてしまうことがあるのですが
フィルタとのやりとりに使うencodingの指定、もしくは
フィルタとのやりとりは素通しする設定はできないでしょうか?

euc-jpでひらがなやカタカナだけの文字列を渡すと再現しやすいようです。
fencsからcp932を外せばとりあえずは収まりますが...
0216名無しさん@お腹いっぱい。2006/01/18(水) 03:16:02
>>215
単純にcatしてるだけだからエンコーディングが端末と合ってない
んでしょ。
0217名無しさん@お腹いっぱい。2006/01/18(水) 04:50:41
:.!dog
0218名無しさん@お腹いっぱい。2006/01/18(水) 10:46:30
>>215
cp932よりもeuc-jpをよく編集するなら、fencs=euc-jp,cp932みたいにeuc-jpが先に
くるように設定するといいと思う。enc=euc-jpで、fencsにeuc-jpを含めるのがまず
いなら、fencs=euc-jisx0213,cp932にしてみるとか。

フィルタするときだけ設定変えるならこんなんで
:autocmd FilterReadPre  * let fencs_save = &fencs | let &fencs = &fenc
:autocmd FilterReadPost * let &fencs = fencs_save
0219名無しさん@お腹いっぱい。2006/01/18(水) 11:43:50
>>218
euc-jp環境ならfencsにeuc-jp(euc-jisx0213も)を入れなくてもいいのでは?
0220名無しさん@お腹いっぱい。2006/01/18(水) 12:18:07
>>217
:.!dog
どうやら私の飼犬は洋犬だったみたいで文字化けしませんでした
どうもありがとうございました。
0221名無しさん@お腹いっぱい。2006/01/18(水) 13:02:21
>>219
なくてもいいんだけど、それだとcp932が優先されて
「こんにちは」が「、ウ、、ヒ、チ、マ」になって困ることがある。
0222名無しさん@お腹いっぱい。2006/01/18(水) 13:11:21
つか、euc-jp環境でeuc-jpより後に書いても意味なしおちゃん
02231972006/01/18(水) 19:34:18
>>201
02241972006/01/18(水) 19:37:27
ミスった上にあげてもた

>>201
そうなのか
調べてくれてありがとん
0225名無しさん@お腹いっぱい。2006/01/18(水) 20:01:40
>>222 だからeuc-jisx0213でごまかすの
0226名無しさん@お腹いっぱい。2006/01/18(水) 21:20:20
euc-jpとの互換性を気にするならcseucpkdfmtjapanese(euc-jpの別名)の方がいいかもね
0227名無しさん@お腹いっぱい。2006/01/19(木) 00:54:06
vimスレ拾ってきた。ちょっとまえからあったようだな。

Mac Vim 再び
http://pc7.2ch.net/test/read.cgi/mac/1133534694/
0228名無しさん@お腹いっぱい。2006/01/19(木) 02:32:43
テキストエディタスレで vim スレはソフ板に建てろって言ってますよ
私もそうするべきだと思います
0229名無しさん@お腹いっぱい。2006/01/19(木) 02:36:45
>>228
もうその議論は終わりました。詳しくは前スレを参照してください。
0230名無しさん@お腹いっぱい。2006/01/19(木) 02:42:08
>>229
読んでみましたがそれらしいものは見つかりませんでした
0231名無しさん@お腹いっぱい。2006/01/19(木) 02:56:25
http://pc.2ch.net/test/read.cgi/unix/1058706125/218-
http://pc.2ch.net/test/read.cgi/unix/1068963346/975-
http://pc5.2ch.net/test/read.cgi/unix/1073825479/909-
http://pc5.2ch.net/test/read.cgi/unix/1086135625/15-
http://pc8.2ch.net/test/read.cgi/unix/1110817975/963-
0232名無しさん@お腹いっぱい。2006/01/19(木) 03:14:54
読めません
■ このスレッドは過去ログ倉庫に格納されています