トップページ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あたり。
0002名無しさん@お腹いっぱい。2005/11/26(土) 12:30:30
■ 入手場所関連
- www.vim.org (総合情報・スクリプト・Tips)
 http://www.vim.org/
- ソースコード他
 ftp://ftp.vim.org/pub/vim/
- KaoriYa.net (Windows/MacOS Xバイナリ、掲示板)
 http://www.kaoriya.net/

■ vimの情報ソース(国内)
- VIM wiki
 http://vim.mydns.jp/
- vim-jpメーリングリスト
 http://vim-jp.stackroom.org/
0003名無しさん@お腹いっぱい。2005/11/26(土) 12:31:03
■ 関連ツール・ライブラリ
- まっつんさん(im_custom他)
 http://hp.vector.co.jp/authors/VA020411/Vim/
- libiconv (ソースコード)
 http://www.gnu.org/software/libiconv/
- libiconv (Windowsバイナリ)
 http://www.kaoriya.net/#LIBICONV
- ctags (日本語対応版)
 http://hp.vector.co.jp/authors/VA025040/
- hown-mode.vim
 http://sworddancer.funkyboy.jp/howm_vim/
- C/Migemo
 http://www.kaoriya.net/#CMIGEMO
- Vim + im_custom の rpm 作成スクリプト
 http://hp.vector.co.jp/authors/VA013241/editor/vim-rpm.html
0004名無しさん@お腹いっぱい。2005/11/26(土) 12:32:16
■ 日本語ドキュメント
- Vim情報集
 http://pcmania.jp/~moraz/
- 名無しのVIM使い
 http://members.jcom.home.ne.jp/advweb/
- Vim-FAQ(本家のMLで流れているものの和訳)
 http://www.dd.iij4u.or.jp/~madokam/doc/vim-FAQ-0.2_ja.txt
- Vim日本語ドキュメント(ユーザーマニュアル和訳)
 http://www.water.sannet.ne.jp/clean/gvim.doc/vimmain.html
- Vim日本語ドキュメント(リファレンスマニュアル和訳)
 http://www.kaoriya.net/vimdoc_j/index.html
- C editing with VIM HOWTO (和訳)
 http://www.linux.or.jp/JF/JFdocs/C-editing-with-VIM-HOWTO/index.html
0005名無しさん@お腹いっぱい。2005/11/26(土) 12:33:04
■ 過去ログ・関連スレ
vim6
- Part1 http://pc.2ch.net/unix/kako/990/990764339.html
- Part2 http://pc.2ch.net/unix/kako/1006/10062/1006246205.html
- Part3 http://pc.2ch.net/unix/kako/1019/10190/1019011083.html
- Part4 http://pc.2ch.net/test/read.cgi/unix/1034455617/ ;(dat落ち)
- Part5 http://pc.2ch.net/test/read.cgi/unix/1045365370/ ;(dat落ち)
- Part6 http://pc.2ch.net/test/read.cgi/unix/1058706125/ ;(dat落ち)
- Part7 http://pc.2ch.net/test/read.cgi/unix/1068963346/ ;(dat落ち)
- Part8 http://pc.2ch.net/test/read.cgi/unix/1073825479/ ;(dat落ち)
- Part9 http://pc5.2ch.net/test/read.cgi/unix/1086135625/ ;(dat落ち)
- Part10 http://pc5.2ch.net/test/read.cgi/unix/1096785924/ ;(dat落ち)
- Part11 http://pc8.2ch.net/test/read.cgi/unix/1110817975/
- 最新テンプレ http://www.kaoriya.net/testdir/2ch_vim6_template.html
0006名無しさん@お腹いっぱい。2005/11/26(土) 12:33:51
Chalice(2ch閲覧プラグイン)
- Part1 http://pc.2ch.net/software/kako/1006/10068/1006852780.html
- Part2 http://pc2.2ch.net/software/kako/1021/10217/1021773436.html
- Part3 http://pc5.2ch.net/test/read.cgi/software/1046263908/ ;(dat落ち)
- Part4 http://pc7.2ch.net/test/read.cgi/software/1106153307/

vi
- Part1 http://pc.2ch.net/unix/kako/974/974563729.html
- Part2 http://pc8.2ch.net/test/read.cgi/unix/1020611467/
0007名無しさん@お腹いっぱい。2005/11/26(土) 12:34:17
- Viと仲良くする方法
 http://pc8.2ch.net/test/read.cgi/unix/1015432673/
- 【Linux板】初心者にもやさしい【vi】 @2ちゃんねる
 http://pc8.2ch.net/test/read.cgi/linux/1014426934/
- Vim6スクリプトお勉強スレ
 http://pc8.2ch.net/test/read.cgi/unix/1008558940/
-「vi」の小技教えてスレ
 http://pc.2ch.net/linux/kako/996/996983375.html
- :::viクローン nvi:::
 http://pc8.2ch.net/test/read.cgi/unix/1038571375/
0008templeteおしまい2005/11/26(土) 12:34:51
■ フレーム系
- Vim vs Emacs (Editor War)
 http://pc8.2ch.net/test/read.cgi/unix/983911547/
- 秀丸をUnixに移植しろ!emacs,viはゴミ以下 3
 http://pc8.2ch.net/test/read.cgi/unix/1110364337/
- テキストエディタをまた〜り語ろう ver.18
 http://pc7.2ch.net/test/read.cgi/software/1116707191/

■ その他
- Vi-IMproved.org (IRCの#Vim)
 http://www.vi-improved.org/
0009名無しさん@お腹いっぱい。2005/11/26(土) 12:46:00
>>1
0010名無しさん@お腹いっぱい。2005/11/29(火) 07:40:10
全角半角キーを:imapで<C-k>にしたいんだけど
:imap <C-k>
の後の全角半角キーってどう表現すればいいですか
0011名無しさん@お腹いっぱい。2005/11/29(火) 09:46:35
:imap <C-k> <c-o>:quit!<cr>
0012名無しさん@お腹いっぱい。2005/12/01(木) 19:12:44
インプットメソッドをON, OFFしたいということなら
imactivatekeyを適切な値に設定して (Windowsでは必要ない)
  :set imactivatekey=Zenkaku_Hankaku
iminsertを設定する (0ならOFF、2ならON)
  :inoremap <C-K> <C-O>:let &iminsert = (&iminsert == 2) ? 0 : 2<CR>
0013名無しさん@お腹いっぱい。2005/12/02(金) 17:19:31
>>12
サンクス
0014名無しさん@お腹いっぱい。2005/12/04(日) 14:10:46
拡張子(.rbとか)によって、インデントなどで特別の設定をしたいときってどうすればできますか?
0015名無しさん@お腹いっぱい。2005/12/04(日) 15:29:42
$HOME/vimfiles/ftplugin/ruby.vim
$HOME/.vim/ftplugin/ruby.vim
とか用意して、設定書けばいいんじゃねぇ?たぶん
0016名無しさん@お腹いっぱい。2005/12/04(日) 18:48:15
間違えて前スレに書いてしまった・・・

読点を入力すると化ける。なぜー?
Unix環境でのみっぽい。
emacsとか他のアプリは大丈夫。
0017名無しさん@お腹いっぱい。2005/12/04(日) 19:53:51
>>16
FreeBSDのmblen(3)の仕様変更にともなう問題。
http://lists.freebsd.org/pipermail/freebsd-ports-bugs/2004-November/046616.html
vim7では直ってる。
0018名無しさん@お腹いっぱい。2005/12/04(日) 21:00:47
>>17
ありがとうございます。
いかにもFreeBSD6使ってますが、前にVineだかDebian入れたときも同様だったやうな。
気のせいかな。
0019名無しさん@お腹いっぱい。2005/12/05(月) 00:58:27
>>17 グッド!
0020名無しさん@お腹いっぱい。2005/12/06(火) 10:11:15
gvimのグイのメニュー下のボタン群いらないので消して下さい><
そのぶん広く使いたいです
0021名無しさん@お腹いっぱい。2005/12/06(火) 10:14:35
グイ?
0022名無しさん@お腹いっぱい。2005/12/06(火) 10:28:44
>>20
:se go-=T
0023KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/06(火) 11:36:01
最近私は :set go= するようになりました。
0024名無しさん@お腹いっぱい。2005/12/06(火) 12:14:45
>>22
ありがとうございました
>>21
GUIってなんて読むんですか?><
0025名無しさん@お腹いっぱい。2005/12/06(火) 14:07:06
>>24
じーゆーあい
0026名無しさん@お腹いっぱい。2005/12/06(火) 14:10:04
ふりーらぶ
0027名無しさん@お腹いっぱい。2005/12/06(火) 18:51:24
ところでViはヴィでいいの?
0028名無しさん@お腹いっぱい。2005/12/06(火) 20:36:57
>>27
UNIXに関する言葉のひらがな読みスレッド
http://pc8.2ch.net/test/read.cgi/unix/1001358861/
0029名無しさん@お腹いっぱい。2005/12/06(火) 22:27:41
今見たら
:se go=rL
だった。

いまはぜんぜん問題ないけど、
はじめはちょっとつらかったな……
0030名無しさん@お腹いっぱい。2005/12/08(木) 23:48:32
ttp://www.frappr.com/vim/
みんなで日本塗りつぶそうぜ
0031名無しさん@お腹いっぱい。2005/12/10(土) 11:54:31
VisualStudioでvi風の操作をできるようにするアドイン
http://www.ngedit.com/viemu.html
0032名無しさん@お腹いっぱい。2005/12/10(土) 19:39:05
質問です。

hoge.java
.hoge.java.swp
こんな感じで既にVimで開かれているファイルをさらに
違うVimで開いた時に出る

VIM - 注意
  スワップファイル ".hoge.java.swp"が既にあります!

という警告ダイアログを出さないで直ぐに "読込専用で開く(O)" ボタン
を選択した場合の動作になるようにしたいのですが出来るでしょうか?

環境: Windows2000 + Vim6.3 です。

設定方法を教えてください。
0033名無しさん@お腹いっぱい。2005/12/10(土) 19:52:51
se noswf
0034名無しさん@お腹いっぱい。2005/12/10(土) 22:55:10
>>32
gvim -R hoge.java で開けばいいのでは?
0035322005/12/11(日) 00:09:58
>>33-34
ありがとうございます。

33に関して
スワップファイルを無くす事により "savevers.vim" が動作しなくなる
かもとおもったが問題なく動作し警告も一切出ないようになったので
気にいった。

34に関して
開いてすぐの警告ダイアログはでなかったのでよかったのですが
編集しようとしたらエディタ内で警告が出たので気に入らなかった。
キー入力待ち警告でなく下の部分にメッセージが出るだけなら
気にならないんだが
0036名無しさん@お腹いっぱい。2005/12/11(日) 00:31:59
>>35
>編集しようとしたらエディタ内で警告が出たので気に入らなかった。

それだけならば、gvim の換わりに vim -R hoge.java とすればよろし。
0037322005/12/12(月) 12:24:24
>>36
vim で開いて .Hoge.java.swp がある状態でさらに、
vim -R Hoge.javaとして開いても
それから編集したらエディタ内で下記の警告が出ましたよ。


W10: 警告: 読込専用ファイルを変更します
E325: 注意
次の名前でスワップファイルを見つけました ".Hoge.java.swp"
            所有者: Administrators   日付: Mon Dec 12 11:05:45 2005
        ファイル名: E:/Hoge.java
          変更状態: なし
          ユーザ名: hoge   ホスト名: HOGE
        プロセスID: 1724
次のファイルを開いている最中 "Hoge.java"
             日付: Sat Dec 10 19:18:45 2005

(1) 別のプログラムが同じファイルを編集しているかもしれません.
    この場合には, 変更をした際に最終的に, 同じファイルの異なる
    2つのインスタンスができてしまうことに注意してください.
    終了するか, 注意しながら続けます.

(2) このファイルの編集セッションがクラッシュした.
    この場合には ":recover" か "vim -r Hoge.java"
    を使用して変更をリカバーします(":help recover" を参照).
    既にこれを行なったのならば, スワップファイル ".Hoge.java.swp"
    を消せばこのメッセージを回避できます.  

続けるにはENTERを押すかコマンドを入力してください    
0038名無しさん@お腹いっぱい。2005/12/12(月) 12:41:42
便乗質問ですが、変更なしでプロセスもaliveでない、
つまり単に残っただけで情報量ゼロのスワップファイルがあった場合は
何も訊かずにスワップファイルを消去して編集に入るようにはできないでしょうか?

複数ファイルを開くセッションが落ちた後などは
かなり鬱陶しいことになるので。。。
0039名無しさん@お腹いっぱい。2005/12/12(月) 14:41:59
http://www.frappr.com/vim
で知ったんですが、Bramってオランダ人なんだ。オーストラリアあたりだと勝手に
思ってた。新宿御苑にもvimmerがいますねw

中学のときオランダってdutchって教わった記憶があるんだけど、
netherlandsが英語表記の国名になるのか。知らんかった。
0040名無しさん@お腹いっぱい。2005/12/12(月) 16:08:54
>>37
vimのプロセスごとに別々のディレクトリを:set directoryしてみるとか。
>>38
findで検索して削除。

ところでスワップファイルって役に立ってるの?
リッチな環境ならいらないんじゃないだろうか。backupもあるし。
おれは小心者だから両方ともonなわけだけど。
0041名無しさん@お腹いっぱい。2005/12/12(月) 16:40:40
> findで検索して削除。
findで変更の有無やプロセスの生死ってわかるんですか?
0042名無しさん@お腹いっぱい。2005/12/12(月) 17:22:27
たまにしかない復旧作業がめんどいならなにもいらないだろうと思っただけ。
最終的には自分の目で確認しないといけないわけだし。
vim -rである程度確認できるけど、どれほど信用できるかわかんないわけで。
0043名無しさん@お腹いっぱい。2005/12/12(月) 18:18:54
/で検索するときに2個のキーワードを葉以来とさせることってできますか?

たとえば、
where と update を同時にハイライトさせたいときってどうすればいいのでしょうか?
0044名無しさん@お腹いっぱい。2005/12/12(月) 18:26:21
正規表現の選択を使えばできるね。

/\(where\|update\)
0045名無しさん@お腹いっぱい。2005/12/12(月) 18:44:37
>>44
> 正規表現の選択を使えばできるね。
>
> /\(where\|update\)

thanks!

バックスラッシュが省略できると、もう見た目がきれいなのだけど、、、
0046名無しさん@お腹いっぱい。2005/12/12(月) 19:59:10
>>45
:h /\v
0047名無しさん@お腹いっぱい。2005/12/12(月) 23:57:26
>>42
お答えいただいたのに失礼ですが、
そういう場合は素直に「できません」か「わかりません」って
答えてくださいよ。
0048名無しさん@お腹いっぱい。2005/12/13(火) 04:37:21
>>37
それは vim -R hoge.java のファイルを編集したんでしょ?
それでは、警告が出て当り前。だいいち読み込み専用ファイル
を編集しようとしているし…

最初に vim hoge.java または gvim hoge.java で開いて
読み込み専用のほうだけを vim -R hoge.java で開く、
と書いたつもりなんですが…
0049名無しさん@お腹いっぱい。2005/12/13(火) 08:28:09
>>47
できるんだから好きなだけ自動化すればいいじゃん。
スワップファイルには大した情報入ってないから問答無用で消しても問題ないと思うけど。
0050名無しさん@お腹いっぱい。2005/12/14(水) 12:35:23
アルファベットの大文字を小文字に変更するにはどうすればできますか?

小文字は小文字のままで、非アルファベットはそのままでお願いします。
0051KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/14(水) 13:01:05
>>50
:%s/\u\+/\L&/g

:help /\u
:help s/\L
:help s/\&
0052名無しさん@お腹いっぱい。2005/12/14(水) 14:14:18
Visual選択してuでもおk
0053名無しさん@Vim%Chalice2005/12/14(水) 18:45:03
>>51-52
サンクスです。
~ は知っていたのですが、 u/U は知りませんでした。

勉強になります。
0054名無しさん@お腹いっぱい。2005/12/15(木) 00:56:23
ファイル末尾にCRLFが自動的に挿入されるのを止めることはできますでしょうか?

:set noeol binary
以外の解決策が知りたいです。
0055名無しさん@お腹いっぱい。2005/12/15(木) 01:10:13
>>54
>:set noeol binary
何か問題でも?
0056名無しさん@お腹いっぱい。2005/12/15(木) 01:24:11
>>55

KaoriYa.netの掲示板に

"ただし'binary'オプションには副作用があるので注意が必要です。詳細はヘルプに任せ
ますが、重要なところでは'fileformat'オプションが無効になります。そして最終行で
ないEOLは常にLFになってしまいます。なのでCRLFをEOLとして使用したい場合には、各
行末に手動でCRを付加する必要があります。"

とあったので……。
0057名無しさん@お腹いっぱい。2005/12/15(木) 01:29:19
noeolって単体では無効なのか。不便だな。
0058名無しさん@お腹いっぱい。2005/12/15(木) 01:39:46
>>57

"行指向エディタであるvimでは基本的にできません。あとはそのようなファ
イルを編集するたびに留意するか、そのためのスクリプトを書くか、どっちにしろ人が
頑張らなければいけません。"

だそうです。
ファイル保存時にEOFのCRLFを削除するスクリプト等があれば良いのですが……。
0059KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/15(木) 02:39:29
>>57 なんで単体じゃ使えないんですかね。不思議だなぁ。
0060名無しさん@お腹いっぱい。2005/12/15(木) 10:35:26
なんで改行つけられたくないの?
0061名無しさん@お腹いっぱい。2005/12/15(木) 15:24:54
KaoriYaさんで配布している
Libiconv DLL 1.10-20051016 for Windows
を使うとeuc-jpで保存できないときがあります。
保存できていたファイルの一行を消すと保存できなくなることがあ
ったため、不正な文字が含まれているのが原因ではないと思います。
0062KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/15(木) 22:25:54
>>61 そのファイルを私にください。
0063名無しさん@お腹いっぱい。2005/12/15(木) 22:41:05
>>62
vim6.4のREADME_j.txtでも起きます。
0064542005/12/15(木) 23:27:04
>>60

アプリケーションで読み込むためのテキストデータに、
改行コードが含まれていると動かないのです。
0065名無しさん@お腹いっぱい。2005/12/15(木) 23:56:46
なんだか段々使いにくくなって行ってないか
0066名無しさん@お腹いっぱい。2005/12/16(金) 00:06:14
きのせい
0067KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/16(金) 00:17:30
>>63 その再現方法を特定してください。
0068名無しさん@お腹いっぱい。2005/12/16(金) 00:29:41
>>67
e README_j.txt
se fenc=euc-jp
:w
0069KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/16(金) 00:40:33
軽く切り分け作業をしてみたんですが、なんかlibiconv単体の問題じゃなさそうです
ね。同じREADME_j.txtでも1,200を保存しようとすると×で、1,100や101,200とわけ
れば○。ちなみにiconv -f cp932 -t euc-jp README_j.txtは問題なく通ってますね。

6.4になってから混入した問題か、libiconv 1.10との組み合わせの問題か、最近の
パッチで修正された部分に該当するかは不明です。
0070KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/16(金) 03:07:18
>>69
原因がわかりました。libiconvが使っているCランタイム(MSVCR71)と、Vimが参照して
いるCランタイム(MSVCRT)が異なっていました。そのため変換バッファがちょうど2バイ
ト文字を切断している際に、libiconvが発生させていたエラーをVimが捕捉できておら
ず、それにより変換ミスとして扱っていたことが原因です。

Vimが参照するCランタイムをlibiconvのそれに修正しました。アーカイブもnetupvimも
既にアップロードしてあるのでご利用ください。

# libiconvのerrnoを使うという古いエラー伝播方法には無理があるよなぁ… orz
0071名無しさん@お腹いっぱい。2005/12/16(金) 03:15:38
>>70
どうも。アップデートしたら直ってました。
0072名無しさん@お腹いっぱい。2005/12/16(金) 22:46:35
kaoriyaさんのnetupvimを使うと、パッチが当たるのは嬉しいんだけどさ。
自分用のJavaScriptのシンタックスファイルを上書きされちゃった。
上書きされても構わない様に、自分用のランタイムファイルを別にして置こうと思うんだけど
runtimepathの先頭に専用のディレクトリを追加すれば、それで大丈夫?
それとも、vimfiles/afterに置いた方が良いのかな?
0073722005/12/16(金) 22:51:08
すまん、聞くよりも試せだね。
無事に解決した。
0074名無しさん@お腹いっぱい。2005/12/16(金) 23:28:05
>>64
まーとりあえず、こんなんでどうすか
autocmd BufWritePost * call NoEolWrite(expand('%'))
function! NoEolWrite(filename)
  let xxd = $VIM . '\xxd.exe'
  let len = getfsize(a:filename) - (&fileformat == 'dos' ? 2 : 1)
  if &binary == 0 && &endofline == 0 && len >= 0
    silent execute 'w !"' . xxd . '" -len ' . len . ' | "' . xxd . '" -r > "' . a:filename . '"'
  endif
endfunction
0075名無しさん@お腹いっぱい。2005/12/17(土) 00:10:21

どなたか心ある方。Vikiのまとめサイト作ってくださらんか。


昨晩インストールして「こりゃすげぇ」と遊んでたんだが、今日になって
エラーでまくりで動かんくなってしまった。
なんどインストールやりなおしてもだめ。
今あたまに血がのぼっている。
0076名無しさん@お腹いっぱい。2005/12/17(土) 15:22:47
_gvimrcの設定で
set visualbell
set vb t_vb=
を書いてもビープ音は消せても
画面のフラッシュが止まらないんですが
0077名無しさん@お腹いっぱい。2005/12/17(土) 16:26:04
>>76
se novisualbell
0078名無しさん@お腹いっぱい。2005/12/17(土) 17:33:02
>>74 :w だとfencの設定が反映されないので修正
autocmd BufWritePost * call NoEolWrite(expand('%'))
function! NoEolWrite(filename)
  let xxd = $VIM . '\xxd.exe'
  let len = getfsize(a:filename) - (&fileformat == 'dos' ? 2 : 1)
  if &binary == 0 && &endofline == 0 && len >= 0
    let tmp = tempname()
    call system('""'.xxd.'" -len '.len.' "'.a:filename.'" | "'.xxd.'" -r - "'.tmp.'""')
    call rename(tmp, a:filename)
  endif
endfunction
0079名無しさん@お腹いっぱい。2005/12/17(土) 19:40:19
>>77
そうするとビープ音が鳴るようになってしまった
言葉が足りなかったかも
ビープ音とフラッシュ両方消す方法はないでしょうか
0080542005/12/17(土) 20:00:34
>>74
有り難うございます。
昨日はそのscriptで動いていたのですが、
今日になって何故か効かなくなりました。謎…。
0081KoRoN@Vim%Chalice ◆8XALICEsdk 2005/12/17(土) 20:03:50
>>79
:set visualbell t_vb=
とすれば、どちらもキャンセルできるはずです。

'visualbell'はビープ音の変わりに画面をフラッシュさせるオプションです。't_vb'
は、フラッシュさせる際に端末へ送信される、フラッシュのための命令コードを指定す
るオプションです。この設定方法では空文字列が指定されているため、フラッシュしな
くなることが期待されます。結果、ビープ音もフラッシュもしなくなる、というわけで
す。
0082名無しさん@お腹いっぱい。2005/12/17(土) 20:09:06
Kaoriya版vim 6.4.004 for windowsのgvim使ってますが
_gvimrcで
set scroll=2
としても、設定が上スクロール(C-U)にのみ反映されたり、
(C-U)も(C-D)も半ページスクロールしたりするのですが
書く場所が間違っているのでしょうか?
(6.4無印でも同じ症状でした)

ちなみにコマンドラインで
:set scroll=2
となると、望みどおりの挙動になるし
あと、ftplugin/のファイルタイプごとのプラグインにset scroll=2と書くとやっぱりOK…

■ このスレッドは過去ログ倉庫に格納されています