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

Vim Part14

レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん@お腹いっぱい。2007/03/19(月) 20:09:27
立ててみた。

http://www.vim.org/

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

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でしょ?
0978名無しさん@お腹いっぱい。2008/02/02(土) 08:15:02
勝ち(笑)負け(笑)
0979名無しさん@お腹いっぱい。2008/02/02(土) 11:30:12
バリバリ(笑)
0980名無しさん@お腹いっぱい。2008/02/02(土) 14:14:13
入力文字が多くて、入力ミスが少ない場合は、
エディタの差はあんまり感じないんじゃないかい?たぶん
0981名無しさん@お腹いっぱい。2008/02/02(土) 14:20:27
編集とかだと違いが出てくるだろうな
0982名無しさん@お腹いっぱい。2008/02/02(土) 14:55:01
日本語モードになったら強制的にインサートモードに入って
ESC押せば、日本語モードを強制解除する、そんな便利なものないでしょうか?
0983名無しさん@お腹いっぱい。2008/02/02(土) 15:04:22
>>982
Windows版ならそうなってるよ。
んで、再びインサートモードに入ったとき、前回IMEがONだった場合は
IMEがONに、OFFだったならOFFになる。
0984名無しさん@お腹いっぱい。2008/02/02(土) 15:05:19
LinuxでSCIM使ってるけど、Linuxでもそうじゃなかったっけ。gvim限定だろうけど。
0985名無しさん@お腹いっぱい。2008/02/02(土) 15:32:18
まてまて、ちょっと質問と回答ずれてないかい?
>982-983間で

>982回答だが、いまのところない、と思う。
0986名無しさん@お腹いっぱい。2008/02/02(土) 15:49:13
日本語入力は、エディタよりも、日本語 IME の比重が高いと思うよ。
変換して、目的の漢字が出てこなくて、何度も修正していたら、時間がかかるし。

元MS幹部の古川亨氏「日本語入力システムMS IMEは、使えば使うほどバカになる」
ttp://news.ameba.jp/domestic/2007/10/8106.html
古川氏は「正しい変換結果を入力するのに余りに手間がかかって嫌になってしまうのです」
と感想を述べ、さらにマイクロソフト社員の「お馬鹿なMS IMEの変換結果どうにかならない
のでしょうか?」という発言を紹介している。
0987名無しさん@お腹いっぱい。2008/02/02(土) 16:09:42
むしろノーマルモードで日本語入力を無効化したいな
0988名無しさん@お腹いっぱい。2008/02/02(土) 17:23:03
古川ってまとめwikiを公式と勘違いした面白いおっさんか
0989名無しさん@お腹いっぱい。2008/02/03(日) 00:44:38
>>970
日本語ダラダラ打ってる時に
一単語消そうと思ってC-Wしたら
思いのほかざっくり消えて涙目になることがあるw

でもVImだけで本一冊書いたことあるよ、問題ない、と思うたぶん
0990名無しさん@お腹いっぱい。2008/02/03(日) 01:24:21
>>989
inoremap <C-w> <C-g>u<C-w>
inoremap <C-u> <C-g>u<C-u>
0991名無しさん@お腹いっぱい。2008/02/03(日) 02:05:44
>>990
ちょっといい感じですね、それ
いただきました
0992名無しさん@お腹いっぱい。2008/02/03(日) 14:30:45
findMostSignificantBitのような文字列の大文字を単語の区切りと見なしたい場合はどうすればいいんでしょうか?
0993名無しさん@お腹いっぱい。2008/02/03(日) 14:45:52
>>992
set iskeyword=a-z

が近いけど、完全じゃないな。

原則として、文字は「キーワード文字」と「非キーワード文字」に分かれる。
で、単語とは「キーワード文字の連続」もしくは「非キーワード文字の連続」
で定義される。

だから、上記のように定義すると。abcABCで、abcが単語、ABCが単語
とみなされる。findMostSignificantBitは、find M ost S ignificant B it
とみなされる。
0994名無しさん@お腹いっぱい。2008/02/03(日) 14:57:58
>>993
ありがとうございます。
やはりオプション指定だけじゃ難しいようですね
0995名無しさん@お腹いっぱい。2008/02/03(日) 16:29:03
>>992
camelcasemotion - Mappings for motion through CamelCaseWords and underscore_notation. : vim online
http://www.vim.org/scripts/script.php?script_id=1905
0996名無しさん@お腹いっぱい。2008/02/03(日) 16:55:16
>>995
まさにその用途の物があったんですね
助かりました。ありがとうございます。
0997名無しさん@お腹いっぱい。2008/02/04(月) 00:05:27
次スレ立てたよ!!

Vim Part15
http://pc11.2ch.net/test/read.cgi/unix/1202050038/

立ててわかったけど、結構サイト無くなってんな
残念なことだ。
0998名無しさん@お腹いっぱい。2008/02/04(月) 00:28:41
>>997
お疲れ様 っ旦
0999名無しさん@お腹いっぱい。2008/02/04(月) 00:30:25
>>999ならFreeBSDの迷走が終る
1000名無しさん@お腹いっぱい。2008/02/04(月) 00:31:31
>>1000ならVimを愛するみんなにささやかな幸せが訪れる
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。