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

Vim Part14

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名無しさん@お腹いっぱい。2007/03/19(月) 20:09:27
立ててみた。

http://www.vim.org/

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

0878名無しさん@お腹いっぱい。2007/12/23(日) 21:28:23
ノーマッドも驚愕するテクノロジーだな・・・
0879名無しさん@お腹いっぱい。2007/12/23(日) 23:38:45
試してみようと思ったらMDIアプリが見つからない
0880名無しさん@お腹いっぱい。2007/12/24(月) 00:27:40
ところでMDIアプリの中で、その、どんな風に使うんだ
0881名無しさん@お腹いっぱい。2007/12/24(月) 00:31:42
>>880
そのソフトで使う、スクリプトの編集とかじゃないのか?
0882名無しさん@お腹いっぱい。2007/12/24(月) 09:07:08
>>877
何かvimウィンドウのアイコンが隠れている時点で胡散臭いと感じてしまう俺の心は汚れているのか
0883名無しさん@お腹いっぱい。2007/12/26(水) 02:38:31
GVim Portable について質問させていただいてもよろしいでしょうか。
Windows用のものなのでスレ違いだったら申し訳ございません。

インサートモードに入ると同時にIMEによる日本語入力がONになります。
これを切ることは可能でしょうか。
08848832007/12/26(水) 11:14:02
すいません、解決できました。
お騒がせしました。

set iminsert=0
0885名無しさん@お腹いっぱい。2007/12/27(木) 18:10:46
限定的な環境なんだけど、なぜか
Fedora8のgvimで、M+1MN+IPAGの9ポイントを表示させると、
なぜか横幅が伸びてしまう。M+1M+IPAGの9ポイントだと広がらないのに。
10ポイントや8ポイントだと、両方共同じ横幅。Fedora7では起きなかった。
フォントは、
http://tmcosmos.org/linux/fedora/8/settings05.html
を参考にいれてみた。

だれか解決方法わかる方いませんでしょうか?

08868852007/12/27(木) 18:13:02
しまった。書き忘れた。
他のアプリでは、横幅が広がったりしないのです。
0887名無しさん@お腹いっぱい。2007/12/27(木) 19:15:44
単純に半角と全角の横幅が1:2になってないだけでは
08888852007/12/28(金) 08:08:38
Vimだけで起こるので、てっきりVimが悪いのかと思ってしまいましたが、
てっきり、http://pc11.2ch.net/test/read.cgi/linux/1193314577/919
これと同じっぽいような気がします。

fontconfigまわりいじってきます。失礼しました。
0889名無しさん@お腹いっぱい。2008/01/01(火) 01:35:32
vim で gdb 連携ってできますか?
emacs みたいな感じで。
0890名無しさん@お腹いっぱい。2008/01/01(火) 09:40:25
http://clewn.sourceforge.net/
使ったことないけど
0891名無しさん@お腹いっぱい。2008/01/01(火) 10:07:28
訳してみる

Clewnはvimの上でgdbがバリバリに走るようにします。
ブレークポイント、変数ウォッチ、gdbコマンドの補完、統合したウィンドウなどです。

二つのやり方が可能です。Clewnを使うかvimGdbを使うかです。
ClewnはNetBeansのソケットインタフェースを通じてvimを制御するプログラムです。
これはvimと並行して、対話的に動作します。Clewnはgvim、つまりvimのGUI実装だけで
使えます。CUI実装のvimはNetBeansをサポートしないからです。
VimGdbはvimへのパッチで、これはオプション機能として実装されてます。
[つまりGUI版を使ってるならClewnを走らせればいいけど、CUI版ならパッチ当てなきゃいけない。]

両方ともgdbへのインタフェースは同じソースコードを元にしています。スタンドアロンプロセスである
Clewnには、それ用の仮想端末が必要です。VimGdbなら必要ありませんが、こっちの欠点は、
vimのバージョンごとに違うパッチを当てなきゃいけないことです。

どっちとも大体同じような機能ですが、Clewnの方がいくつか余分に機能を持ってます。

・バルーン(?)の中にgdbで評価した値を表示できるよ。
・gdbの'run'コマンドでプログラムを走らせたとき、Clewnの端末上で入出力ができます。
VimGdbを使うと、'tty'とか'attach'コマンドを使わなきゃいけません。
0892名無しさん@お腹いっぱい。2008/01/01(火) 19:43:19
ちょっと質問です。
Fedora6とetchで同じ.vimrcを使っていて、どちらでも使用中にエラーは
でないのですが、Fedoraの方では開いたファイルのカレント行が保存されますが、
etchの方では保存されなくて、毎回1行目から表示されます。
これは何が原因で、どうすれば(.viminfoに)カレント行を保存できるのですか?
0893名無しさん@お腹いっぱい。2008/01/01(火) 22:15:53
すいません、kaoriya版のWin用gVim7について質問なのですが
カラーシンタックスで

guifg=red guibg=blue gui=reverse
guifg=red guibg=blue gui=standout
guifg=blue guibg=red gui=none

みたいに書いたときって皆同じように表示されますよね?
他の環境(OS?コンソール?Vim設定?)によっては意味があるけど、Win用gVim7ではとりあえず同じように表示される、
みたいな感じなんでしょうか。

あるいは、たまたま同じように見えてしまっただけで、実際にはちゃんと
reverseやstandoutは場合によっては違うように表示されるんでしょうか
0894名無しさん@お腹いっぱい。2008/01/01(火) 23:44:34
Windows版の事はソフトウェア板のVIMスレで聞くべきかと
0895名無しさん@お腹いっぱい。2008/01/02(水) 02:45:33
>>892
例えば/etc/vimrcみたいなシステムのvimrcがあるとか
:scriptnames で確認できるよ
ちなみにカーソルの位置はデフォルトで保存される
それを復元するのは :autocmd でやるんだけどこれはデフォルトじゃないので
システムvimrcにその設定が書いてあるんじゃないかと

>>893
表示は端末しだい
win版だとstandoutは太字になってない?
08968922008/01/07(月) 21:06:47
>>895
ありがとうございます。
FedoraのシステムグローバルvimrcをDebianにコピーすればばっちりでした。
Debianデフォルトのシステムvimrcは事実上、中身は空でした。
0897名無しさん@お腹いっぱい。2008/01/09(水) 08:14:18
>>876
亀だけど
-P ウィンドウタイトルはダメだったけど
--windowid HWND
ならいけるな…毎回HWND調べるのかよ!
0898名無しさん@お腹いっぱい。2008/01/09(水) 09:35:49
:g/xxx/d
で削ったすべての行を1つのバッファにコピーしたいのですが
そんなことできますでしょうか?
0899名無しさん@お腹いっぱい。2008/01/09(水) 10:50:07
>>898
大文字のレジスタ使うのはどう?
:g/xxx/d A
で削除した行がレジスタaに次々と追加される。
その後で"apをお好きなバッファですればいい。

でもレジスタの内容削除するのってどうやればいいんだろうね?
let @a = ''

(空行にカーソル合わせて) "ayl
でできるけど、delregister aみたいな感じの専用コマンドあればいいのに。
まああっても需要ほぼゼロか。
0900名無しさん@お腹いっぱい。2008/01/09(水) 12:23:10
>>899
:d のレジスタ指定の使い道が初めて分かった
0901名無しさん@お腹いっぱい。2008/01/09(水) 22:07:03
Fedora7 に付属の gvim7.1 を使っているのですが、
tw を設定して fo+=t とした時に、tw 値を越えて日本語を
入力すると余分な文字が挿入されてしまいます。

解決方法をご存知の方はご教示ください。おねがいします。
0902名無しさん@お腹いっぱい。2008/01/11(金) 14:45:06
根本的な解決じゃないけど
over the spotで入力するとか
scimにはたしかそういう設定があったと思う
0903名無しさん@お腹いっぱい。2008/01/11(金) 15:03:32
ファイルをD&Dすると分割されてしまうのですが、
分割ではなくカレントウィンドウ(バッファ?)を置き換える、という設定は可能でしょうか?
0904名無しさん@お腹いっぱい。2008/01/12(土) 02:47:28
:help drag-n-drop
を見る限りでは、バッファが変更されてなければその場で開かれるみたいだ
0905名無しさん@お腹いっぱい。2008/01/12(土) 02:54:36
:sethiddenじゃね
0906名無しさん@Vim%Chalice2008/01/13(日) 20:46:39
テスト
0907名無しさん@お腹いっぱい。2008/01/14(月) 01:53:36
>>901

format.vim 使ったらできないかな?
0908名無しさん@お腹いっぱい。2008/01/15(火) 08:44:52
質問ですが、挿入モードの時に折り返してある行を一行ずつ上がり下がりすることってできますかね?
通常モードのgk、gjみたいなことなんですけど
0909名無しさん@お腹いっぱい。2008/01/15(火) 10:55:40
挿入モードで移動することが必要なの?
0910名無しさん@お腹いっぱい。2008/01/15(火) 11:53:23
マップすりゃいいだけでしょ。
:inoremap <up> <C-o>gk
:h i_CTRL-o
0911名無しさん@お腹いっぱい。2008/01/15(火) 12:04:26
あああああああああぁぁぁ、なるほど
C-oですね!その発想が俺には足りなかった
まぁ、本当のホントは一回モード抜けるのがviの本分なんでしょうけどw
たまたま今日本語で一行がやたら長い文章を書いてて
今まで一回も不満に思ったことない所が不満に思えたもので、、、
お騒がせしました
0912名無しさん@お腹いっぱい。2008/01/15(火) 15:09:06
<C-g>j とか、<C-g>k でも編集モード中に上下はできるがgj,、gkみたいな動きにはならないのがたまにキズ。
0913名無しさん@お腹いっぱい。2008/01/15(火) 23:37:05
vim 7.1.12でsmartindentをONにしてますが、Perlとかverilogとかで
#を打つと、インデント解除されて#が行頭に行ってしまうのと、
# hogehoge<ENTER>と打った後、次の行に#がコピーされるのを
抑制する方法ってないですか?

:set pasteだと通常のインデントまで死んでしまうので、どうにかならないかと…。
0914名無しさん@お腹いっぱい。2008/01/16(水) 12:29:05
次の行にコメントリーダ入るのは、
:set formatoptions (:set fo)
してrcoとかのオプション指定されてると自動的に挿入される(はず)
http://vimwiki.net/?'formatoptions'
0915名無しさん@お腹いっぱい。2008/01/16(水) 18:58:13
:help 'smartindent' 曰く
↓これ使え
:inoremap # X^H#
0916名無しさん@お腹いっぱい。2008/01/16(水) 22:09:45
>>914-915
ありがとうございました!
autocmd FileType * set formatoptions-=r
と、
inoremap # X^H#
で思った通りの動作になりました。
0917名無しさん@お腹いっぱい。2008/01/20(日) 20:38:36
ふと emacs に浮気したいと思ったことはないですか?
0918名無しさん@お腹いっぱい。2008/01/20(日) 20:48:27
昔Emacsから浮気してきました
0919名無しさん@お腹いっぱい。2008/01/20(日) 20:50:43
>>918
Vim の方が良いと思いますか?
0920名無しさん@お腹いっぱい。2008/01/20(日) 20:59:02
ちょっとの間の浮気のつもりだったが、こっちに愛が芽生えてしまったw
0921名無しさん@お腹いっぱい。2008/01/20(日) 21:03:20
実は今 emacs に浮気しようとチュートリアルを実践中です。
でも、この書き込みはもちろん Chalice%Vim からですw
0922名無しさん@お腹いっぱい。2008/01/20(日) 21:10:33
>>920
あるあるw
09239212008/01/20(日) 21:17:07
あー!もう!
emacs のチュートリアル挫折しそう・・・
vim 癖がぬけないよぉ orz
0924名無しさん@お腹いっぱい。2008/01/20(日) 23:44:11
カエレ
0925名無しさん@お腹いっぱい。2008/01/21(月) 00:09:32
そこまでvi指になっていながら
何故浮気しようとしたのか理由が知りたいな
0926名無しさん@お腹いっぱい。2008/01/24(木) 01:05:48
>>925
レスが遅れてすまねぇっす。
Vim のソース読んでて、「こりゃBram氏以外メンテできんぞ」って思ったのです。
で、やっぱり開発が活発で息が長そうな Emacs の方が良いかなぁって。

でも、Emacs チュートリアルを挫折して Vim に戻って来たのは内緒です・・・
0927名無しさん@お腹いっぱい。2008/01/24(木) 01:29:16
>>926
別に俺にでもメンテやろうと思えばできるぞ。「できる」ことと「やりたい」
ことは別。

可能だけど、オープンソースの世界で無償でこのソースコードをあえて
メンテするかどうかといわれれば、しないと思うが・・・
0928名無しさん@お腹いっぱい。2008/01/24(木) 01:30:53
>>927氏がいる限り Vim を使い続けます!
0929名無しさん@お腹いっぱい。2008/01/24(木) 01:31:01
んで、ソースコードのメンテナンスせいと、そのアプリケーションの利便性は
一致しない。当たり前だが。Perlがいいれいだ。
0930名無しさん@お腹いっぱい。2008/01/24(木) 06:02:54
オレもちょっとだけ不安だったが
Vimがもし地球上から消えても
誰かが、またVimクローンを作るだろう、という
根拠の無い前提で毎日使ってるよ
0931名無しさん@お腹いっぱい。2008/01/24(木) 15:31:46
>930 まあそれでいざとなれば自分が…っていうのが可能なのがこの世界の良いところだよな.
0932名無しさん@お腹いっぱい。2008/01/25(金) 00:29:24
ソースが汚いけどよく使われてるフリーソフトは結構ある・・・Netscapeの眷属とか・・・
0933名無しさん@お腹いっぱい。2008/01/25(金) 01:32:30
Solarisのソースは実に美しい
0934名無しさん@お腹いっぱい。2008/01/25(金) 04:42:11
>>930
> 誰かが、またVimクローンを作るだろう、という

既に作り始めている人はいるよ。
yzisってあんまり有名じゃないのかね。
0935名無しさん@お腹いっぱい。2008/01/25(金) 11:07:02
単に汚いだけと「設計がまずくて拡張が困難」は違うからな。
0936名無しさん@お腹いっぱい。2008/01/25(金) 12:04:24
>>927
改変したVIMを配布するのにBramの許可が要るのにメンテかできるのかよwww
0937名無しさん@お腹いっぱい。2008/01/25(金) 12:46:35
>>936
> 改変したVIMを配布するのにBramの許可が要るのにメンテかできるのかよwww

それってOSDとかDFSGにひっかからね?
どう解釈してるの?
0938名無しさん@お腹いっぱい。2008/01/25(金) 13:08:49
uganda読むとGPLに変更できるから問題ないんじゃない?
それに許可がいるとは書いてない。
0939名無しさん@お腹いっぱい。2008/01/25(金) 17:44:08
コメントアウトされている行上でo/Oを使って新しい行を挿入すると
新しい行も自動的にコメントアウトされるんですが、これを防ぐオプションはありませんか?
0940名無しさん@お腹いっぱい。2008/01/25(金) 18:34:51
>>939
:set formatoptions-=o
0941名無しさん@お腹いっぱい。2008/01/25(金) 19:21:58
>>940
できました。ありがとうございます。
0942名無しさん@お腹いっぱい。2008/01/26(土) 01:04:19
うむ。良い流れだ。
0943名無しさん@お腹いっぱい。2008/01/27(日) 13:29:53
いい流れの所申し訳ないが、誰かこいつを引き取ってやってください。
604あたりから始まってる。

http://pc11.2ch.net/test/read.cgi/php/1014357485/655
0944名無しさん@お腹いっぱい。2008/01/27(日) 14:04:59
>>940
おおサンクス。
0945名無しさん@お腹いっぱい。2008/01/27(日) 14:19:02
あれ?
コマンドラインから、実行すれば有効になるけど、設定ファイルにset formatoptions-=oを書くと有効にならんな。
set formatoptions+=hogehogeは有効になるが。
どういうこっちゃ?
0946名無しさん@お腹いっぱい。2008/01/27(日) 14:24:22
ああ、>>905にヒントが書いてあるな。
スレ汚しスマソ
0947名無しさん@お腹いっぱい。2008/01/27(日) 17:23:50
>>943
なんとかしてあげたいが、
ここに誘導して素直に来るような奴にも見えず
それ以上かまうとつけあがるので
出たと思ったらNGして完全無視&放置してくれ
Vim使いが迷惑かけてスマン
Vimスレの一住人より
0948名無しさん@お腹いっぱい。2008/01/27(日) 18:31:01
>>947
了解。レスさんくす。

モレ自身はVim使ってないけど嫌いじゃないし、
Viは古いサーバの設定なんかで常用してる。

あーゆヤシがいるのは非常に残念。
0949名無しさん@お腹いっぱい。2008/01/27(日) 21:34:50
日本語を入力するときにInsertMode->日本語入力に変換(Atok)入力->
日本語を入力、そしてコマンドモードに戻りたいので、英字入力変換(Atok)
してコマンドたたく。とか結構面倒なんだけど、
これって何か効率化している人はいませんか?
0950名無しさん@お腹いっぱい。2008/01/27(日) 21:56:42
Vim のコマンド履歴とりたいんだけど,何かいい方法ありませんか?

履歴からグラフ化して,よく使うコマンド,
あまり使ってないコマンドとかを見たい.
(他人と比べて見るのも面白いかも)

Vim の起動時に1ヶ月以上使っていないコマンドを表示して,
思い出させてくれるような機能とかも使えるかも.
0951名無しさん@お腹いっぱい。2008/01/27(日) 22:58:31
:historyで全部表示、
map(range(1,100),histget(v:val))でいいかげんに配列もとれるけど、
コマンド・検索履歴て重複したのはまとめるから、
どんだけ同じコマンド使ってもで起動回ごとにカウントすると1回になるな

「コマンド」も膨大な数になるはずで、同じものと数えるものと、
異なると数えるものとで、めんどくさそうだ
0952名無しさん@お腹いっぱい。2008/01/27(日) 23:23:30
NewWriders の Vi IMproved - Vim
読んでるんだけど、ぶぶ分厚い orz
0953名無しさん@お腹いっぱい。2008/01/27(日) 23:50:10
>>951
ありがとうございます

:historyを見たところ,exコマンドじゃないコマンド(左に移動するhとか)は見れないみたいです.
exコマンドじゃないコマンドの方の履歴も取りたいので,他の方法を調べて見ます.
0954名無しさん@お腹いっぱい。2008/01/28(月) 02:35:38
いま、ためせんけど、vim -W だか、 vim -y でできると、きいたことがあるのう
0955名無しさん@お腹いっぱい。2008/01/28(月) 04:19:41
*-w*
-w {scriptout} Vimを終了するまで、ユーザが入力した全部の文字が記録され、ファ
イル{scriptout}に書き出される。これは"vim -s"や":source!"で読
込まれるスクリプトファイルを作成するのに役立つ。既にファイル
"scriptout"が存在する場合には、そのファイルに追加保存する。
|complex-repeat|も参照。
{scriptout} は数字で始まってはならない。
{Vi にはない}

*-W*
-W {scriptout} -wに似ているが、アペンド(追加)せずに、既にあるファイルを上書き
する。
{Vi にはない}
0956名無しさん@お腹いっぱい。2008/01/28(月) 22:12:50
>>954
>>955
情報ありがとうございます
ログから命令列をパースするのがちょっと面倒ですが,
やりたいことはできそうです
0957名無しさん@お腹いっぱい。2008/01/29(火) 00:02:38
http://pc11.2ch.net/test/read.cgi/php/1014357485/657

つれってってくれ
09589012008/01/29(火) 09:15:49
>>902
>>907
レスありがとうございます。

ソースを弄って自己解決しました。
0959名無しさん@お腹いっぱい。2008/01/31(木) 23:51:55
現在開いている(フォーカスのある)バッファ"以外"の
全てのバッファを閉じるコマンドはありませんか?
:onlyなどで画面上からは消せますが、
この場合バッファはバックグラウンドで残ったままになってしまいます。
0960名無しさん@お腹いっぱい。2008/02/01(金) 08:23:43
>>959

function! DeleteBuffers()
    let curbufnr = bufnr('%')
    echo curbufnr
    while 1
        execute "bnext"
        if bufnr('%') != curbufnr
            execute "bd"
        else
            break
        endif
    endwhile
    execute "buffer " . curbufnr
endfunction

こんなんじゃだめかな?
Vim スクリプト書いたこと無いからワカンネ。
0961名無しさん@お腹いっぱい。2008/02/01(金) 10:30:47
>>958
ソースってVim本体のソースってこと?
0962名無しさん@お腹いっぱい。2008/02/01(金) 13:30:10
>>960
やばいにおいがする
bnextだけで正しく回るのか


試してみた安全な富豪的方法
function! DeleteBuffers()
let bufs=range(0,bufnr('$'))
let curbufnr = bufnr('%')
call remove(bufs,curbufnr)
for i in bufs
execute "silent! bdelete! ".i
endfor
endfunction
0963名無しさん@お腹いっぱい。2008/02/01(金) 17:09:19
バッファが残ると言ってもファイルの中身をメモリに持ち続けてるわけじゃないぞ(hideとかしてなければ)
ねんのため
0964名無しさん@お腹いっぱい。2008/02/01(金) 20:06:15
only!だけでいかんのかな
0965名無しさん@お腹いっぱい。2008/02/01(金) 20:14:04
Windowsで
//hoge/
と入力したあと、CTRL-X_CTRL-Fでファイル名補完しようとすると、
ありもしないネットワークドライブ見に行くみたいで、数秒かたまる。
たぶん仕様だからしょうがないんだろうけど、autocomplpop.vim使ってるとたまに罠にはまってうざい。
何とかならんかなぁ。
0966名無しさん@お腹いっぱい。2008/02/01(金) 21:25:16
ならautocomplpopで対処すりゃいんじゃね?
0967名無しさん@お腹いっぱい。2008/02/01(金) 21:56:57
あー、CTRL-X_CTRL-Fする前に行頭しらべりゃいいのか。
ちょっと読んでみるかー。アドバイスありがと。
0968名無しさん@お腹いっぱい。2008/02/01(金) 22:28:32
>>961
そうです。
src/edit.c と src/mbyte.c をちょこっと修正しました。
プリエディット中の整形処理に問題がありました。
09699592008/02/01(金) 23:13:42
>>960,962-964
レスありがとうございます。
962さんの関数を使わせていただくことにしました。
0970名無しさん@お腹いっぱい。2008/02/02(土) 00:53:03
vimでバリバリ日本語文章(小説とか)書くのって変態ですか?
0971名無しさん@お腹いっぱい。2008/02/02(土) 01:20:51
>>970
なんの問題もない。むしろテキストかくだけならEmacsよりはるかに優秀。
0972名無しさん@お腹いっぱい。2008/02/02(土) 02:16:02
モードがあるから日本語入力と相性が悪いとかそういう意味じゃないのか
0973名無しさん@お腹いっぱい。2008/02/02(土) 02:19:58
>>972
日本語入力だろうがなにだろうが、非モーダルエディタはモーダルエディタには
勝てない。こんなん当たり前。
0974名無しさん@お腹いっぱい。2008/02/02(土) 02:43:32
勝てない、って何に?
0975名無しさん@お腹いっぱい。2008/02/02(土) 02:47:33
>>974
わかりにくかったか?

非モーダルエディタは、「モーダルエディタ」*に*勝てない。

日本語勉強してこい。
0976名無しさん@お腹いっぱい。2008/02/02(土) 02:55:02
>>975はVimの前は何使ってたの?
0977名無しさん@お腹いっぱい。2008/02/02(土) 02:56:34
edでしょ?
レス数が950を超えています。1000を超えると書き込みができなくなります。