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

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でしょ?
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を超えています。これ以上書き込みはできません。