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

Vim Part16

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2009/01/16(金) 00:56:51
Vim 6以降に関する話題、Part16です。
http://www.vim.org/

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

関連情報は>>2-8あたり。

0325名無しさん@お腹いっぱい。2009/06/03(水) 19:28:14
11万行を commit しない勇気。今の若いモンにはこれが欠けている。
0326名無しさん@お腹いっぱい。2009/06/04(木) 18:14:34
commitってどういう意味で使ってますか?
0327名無しさん@お腹いっぱい。2009/06/04(木) 18:46:43
コミット 【commit】
関係すること。参加すること。かかわり合うこと。
0328名無しさん@お腹いっぱい。2009/06/04(木) 22:07:28
>>326
文脈で分かってやれよ。不粋なやつだな。
0329名無しさん@お腹いっぱい。2009/06/05(金) 00:31:49
>>328
>>326じゃないが俺も分からん
ボケでも無さそうだし、、。
0330名無しさん@お腹いっぱい。2009/06/05(金) 03:42:50
バージョン管理システムとか知らない人?>>329
0331名無しさん@お腹いっぱい。2009/06/05(金) 04:10:38
いくら何でもそれは知ってるよ
>>328の言わんとしてる事が判らないんだ
0332名無しさん@お腹いっぱい。2009/06/05(金) 07:57:56
嘘つけ、慌てて調べたんだろう。
これ↓で文意が想像つかないって知らないんでなけりゃアホだ。
>>321
>先週の水曜からコミットしてないソースなんですよ...orz
0333名無しさん@お腹いっぱい。2009/06/05(金) 09:54:22
1週間コミットしてないなんてありえないけどなw
0334名無しさん@お腹いっぱい。2009/06/05(金) 13:12:57
>>332
そりゃすまん>>324からしか読んで無かったんで

>嘘つけ、慌てて調べたんだろう。
でもこんな風に思うか普通……。
あまりにも人を見下し過ぎてると逆に君の
レベルも多寡が知れてると思われるよ?
0335名無しさん@お腹いっぱい。2009/06/05(金) 14:20:09
vimのスレで出てきたcommitをどう考えたらそれ以外の意味に取れるのかわからんが、 それを激しく追及するのもどうかと。このへんでやめとけよ。
0336名無しさん@お腹いっぱい。2009/06/05(金) 19:47:45
敢えて深い意味があるのかと勘ぐった
0337名無しさん@お腹いっぱい。2009/06/05(金) 19:48:27
ネタとしてな
2chだからここ
0338名無しさん@お腹いっぱい。2009/06/05(金) 19:55:52
ソフトウェアは素晴らしいっすけど、ユーザーがもうねってありがちなパターンっすね。おっすおっす。
0339名無しさん@お腹いっぱい。2009/06/06(土) 09:29:14
そんなことより、Vimの話しようぜ。
0340名無しさん@お腹いっぱい。2009/06/06(土) 12:44:49
$ stat -c %s /usr/local/bin/vim
1658148
デカ過ぎ。この1/10のチビvimが欲しい。
0341名無しさん@お腹いっぱい。2009/06/06(土) 13:34:22
$ stat -f %z /usr/bin/vi /usr/local/bin/vim
281980
1264028
0342名無しさん@お腹いっぱい。2009/06/06(土) 14:22:44
行頭の # が>>コマンドでインデント出来ない。
行頭じゃなければ出来る。なんで?

Kaorya gvim 7.2.148
0343名無しさん@お腹いっぱい。2009/06/06(土) 14:29:36
:set nosmartindent
03443422009/06/06(土) 15:10:21
>>343
どうもです。
0345名無しさん@お腹いっぱい。2009/06/09(火) 14:39:39
C言語のインデントで、 gg=G みたいな事をやると
// if (hoge == 0) {
などという、コメントアウトした括弧まで反映されて困るんですが
なんとかならないんでしょうか?
0346名無しさん@お腹いっぱい。2009/06/11(木) 01:50:26
:set cindent
0347名無しさん@お腹いっぱい。2009/06/12(金) 22:17:30
オートインデントで
if (hogehoge) {<CR>
----<CR>
としたら
if (hogehoge) {

----
になるんだけど勝手にインデント削除させないようにするにはどうすればいいの?
0348名無しさん@お腹いっぱい。2009/06/13(土) 18:57:34
:set autoindent
0349名無しさん@お腹いっぱい。2009/06/15(月) 00:58:29
いろいろやってみたけど、インデントは削除されてしまうので
特にレスをしなかったんだけど、>>348じゃ解決できないよね?

けど、そのインデントを残しておきたい理由って何なんだろう?
あとからその行に書きたいときのことを想定してたりする?
0350名無しさん@お腹いっぱい。2009/06/15(月) 07:48:05
>>349
Pythonじゃ勝手に消されると困るし他の言語でも空行もインデントするようにしてるんで
0351名無しさん@お腹いっぱい。2009/06/15(月) 15:43:02
>>347
set cindent
inoremap <CR> x<BS><CR>

でいちおうできた。
他に弊害があるかはわからん。
0352名無しさん@お腹いっぱい。2009/06/15(月) 16:30:15
>>351
thx
それで大丈夫そうだ
0353名無しさん@お腹いっぱい。2009/06/15(月) 16:56:44
python使ったことないけど、空行作るためには先頭に空白を入れなければならない言語なのか
なれるまで大変そうだね。。
0354名無しさん@お腹いっぱい。2009/06/16(火) 01:11:00
>>353
そんな必要全然ないよ。
>>350のは編集するとき不便だって話じゃないかな。
ただそれでも隣接行からo/Oすれば十分だとは思うけど。
0355名無しさん@お腹いっぱい。2009/06/16(火) 16:49:42
>>350のソースを引き継いだ俺は、まず :%s/ *$//<CR> と入力するのであった。
0356名無しさん@お腹いっぱい。2009/06/17(水) 13:58:14
pythonは西欧圏でやたら流行ってる印象が
そんなにいいもんかな
0357名無しさん@お腹いっぱい。2009/06/17(水) 20:25:33
今時のLinux環境は何かしらでpython必須だしょ?
ソフトの拡張用途でも定番、クロプラ物はとくに
とにかくrubyよりはまし
0358名無しさん@お腹いっぱい。2009/06/17(水) 21:05:21
全然必須じゃないが
0359名無しさん@お腹いっぱい。2009/06/17(水) 22:11:05
OpenOfficeでpythonつこてるよね。
0360名無しさん@お腹いっぱい。2009/06/17(水) 22:26:45
つこてないよ
0361名無しさん@お腹いっぱい。2009/06/17(水) 23:41:40
IPAが つ こ う た。
0362名無しさん@お腹いっぱい。2009/06/18(木) 02:29:25
なにかしらで使われてることは知った上で、そんなにいいもんかなという印象なんだけど。
shとまではいかないまでも、perlぐらいの地位は得てるの?
0363名無しさん@お腹いっぱい。2009/06/18(木) 04:50:44
ここ ヴぃm すれ
0364名無しさん@お腹いっぱい。2009/06/18(木) 07:33:30
そんな呼び方は断じて認めない。ぶいあいえむ。
0365名無しさん@お腹いっぱい。2009/06/18(木) 10:17:11
ftp://ftp.vim.org/pub/vim/runtime/doc/intro.txt
*pronounce*
0366名無しさん@お腹いっぱい。2009/06/18(木) 17:35:00
vimでphpのウェブ開発をしたいんですが、
実行結果の確認って、一々Ffとかieのブラウザをリロードしなきゃいけないんですか?
ideみたくvim内で実行結果を確認することって出来ないんです?
0367名無しさん@お腹いっぱい。2009/06/18(木) 17:41:46
IDE使えば?
0368名無しさん@お腹いっぱい。2009/06/18(木) 17:47:11
('A`)ヒィィ
0369名無しさん@お腹いっぱい。2009/06/18(木) 21:58:30
だって一番大事なコンソールでそれ実装できないし
0370名無しさん@お腹いっぱい。2009/06/18(木) 22:07:30
vimの挿入モードだけど、常に挿入モードにしてる奴ってどのぐらいいる?
それとも起動後、必ず i 入力するの?
0371名無しさん@お腹いっぱい。2009/06/18(木) 22:22:44
どちらでもないな。
iはinsertを行いたい場面で使うし、挿入モードにしたいときに適したコマンドで挿入モードにするよ

新規ファイルを編集したいときに限定すれば起動した後必ずといっていいほどiを入力してるかな
0372名無しさん@お腹いっぱい。2009/06/18(木) 22:25:55
どういう使い方でもそれが便利だと思ったら、その人にとってはそれが正解だよ
0373名無しさん@お腹いっぱい。2009/06/19(金) 10:46:02
Git のコミットログコメントを入力する時にvimを起動しているんですけど、コメントが長いと勝手に改行されてしまうようです。
これをやめさせるにはどうしたらいいでしょうか。
たぶんgitモードかなんかになっていると思うので、それをやめさせればいいのだと思いますが。
0374名無しさん@お腹いっぱい。2009/06/19(金) 13:04:43
どういう使い方でもそれが便利だと思ったら、その人にとってはそれが正解だよ

アイン・シュタイン
0375名無しさん@お腹いっぱい。2009/06/19(金) 15:16:08
twを0にするとか?
0376名無しさん@お腹いっぱい。2009/06/19(金) 16:07:25
snipMateをインストールしたんですが、*.c や *.rb では機能が有効になっているのに、*.py では無効になっています。
*.pyでも有効にするにはどうしたらいいでしょうか。
Emacsから乗り換え中で、あまりよくわかっていません。
vim 7.2 使用中
0377名無しさん@お腹いっぱい。2009/06/19(金) 17:40:21
>>366
そういうのは screen + w3m とかで。
0378名無しさん@お腹いっぱい。2009/06/19(金) 19:51:18
>>376
.vimrcの先頭に
filetype plugin on
を入れたら、*.pyでもうまくいくようになりました。
0379名無しさん@お腹いっぱい。2009/06/19(金) 22:14:03
>>371
vim仕様の原理主義的な発想を排除して聞きたい。

なんで、新規ファイルの時は毎回 i を入力してるの?
0380名無しさん@お腹いっぱい。2009/06/19(金) 22:18:00
常時挿入の人は移動はカーソルキーのみ?
0381名無しさん@お腹いっぱい。2009/06/20(土) 00:49:06
>原理主義的な発想を排除して
がどの辺までかワカランけど
新規ファイルだろうがaを百個打ちたかったら
100ia[esc]ってiの前に数字打ったりするだろ
バッファが空だろうと挿入モードに入る前にやることなんていろいろある
例えば新規ファイルを開いた瞬間インサートモードになってる、とかいう仕様じゃ困るよ
0382名無しさん@お腹いっぱい。2009/06/20(土) 00:54:32
あぁ、スマン>>371の人限定の質問だったのか
横から答えちゃった、申し訳ない
0383名無しさん@お腹いっぱい。2009/06/20(土) 00:55:10
そんなことは聞いてない。
なんで、「毎回」 i を打つの? って聞いてる。

おまえが、「毎回」 aを100個入力するなら、すまんかったな。が、そうじゃないだろ?

原理主義は越えないとその先へは進歩できないぞ。
0384名無しさん@お腹いっぱい。2009/06/20(土) 00:57:24
それで慣れちゃったからなぁ。

先に行きたい人は行けばいいじゃない。
おれはほっといてくれていいよ。
0385名無しさん@お腹いっぱい。2009/06/20(土) 00:57:29
なんだ、当人じゃないのか…。
03863842009/06/20(土) 00:59:26
あ、371とは別人です。
381とも別人。
0387名無しさん@お腹いっぱい。2009/06/20(土) 01:15:59
毎回「絶対」iするってんなら、371は最初からそう設定しとけよ!ってこと?
それで原理主義を乗り越えたことになるのか

普通に不便そうだがw人によっては便利なのかもね
0388名無しさん@お腹いっぱい。2009/06/20(土) 01:18:52
>>387
小さな一歩だが、原理主義を乗り越えるべき大きな前進。

だって、毎回 i をいれるなら、めんどくさく感じないと駄目な気がする。
0389名無しさん@お腹いっぱい。2009/06/20(土) 01:26:00
既存ファイルからヤンク、新規ファイルに挿入、とか良くやるから
勝手に挿入モードに入られても困る
0390名無しさん@お腹いっぱい。2009/06/20(土) 01:41:16
毎回先頭に文字挿入するわけじゃないしなぁ。
/hoge した 50G したりしてから i するじゃん。
0391名無しさん@お腹いっぱい。2009/06/20(土) 01:47:36
原理主義ってどういうこと?
0392名無しさん@お腹いっぱい。2009/06/20(土) 01:48:23
「毎回」iをタイプしたりはしないなぁ

vim起動後その前後の行に入力したければoとかOをタイプするし
行末に文字を追加したければAをタイプする
どこに文字を挿入するかで違う

最初から挿入モードで使いたい, モードなんて無視したい人にはcreamおすすめ
0393名無しさん@お腹いっぱい。2009/06/20(土) 02:19:43
新規ファイルのときという条件らしいよ。
0394名無しさん@お腹いっぱい。2009/06/20(土) 02:35:51
編集時に毎回iを押して挿入モードにすることをめんどくさがらないから原理主義者、
っていうのはなんか違う気がする。
自分でめんどうだと思っているのにそのまま使っている人の方がどちらかと言えば近いような気もする。
0395名無しさん@お腹いっぱい。2009/06/20(土) 02:36:20
「新規ファイルの時だけ限定で最初から挿入モード」が便利な人もいるかもしれないけど
「何か入力する前にi(またはa)」と指や意識が慣れちゃってる人はわざわざ使い分けるのが面倒かもね
普段の考え方が一入力離脱型かベッタリ入力時々編集型かで分かれそう
「新規ファイルなんて滅多に作らない」人って業務スタイルによっては結構いそうだし

「面倒なことはガンガン設定して楽しようぜ」というのは良いことだとは思う
03963922009/06/20(土) 02:43:31
新規ファイルでも,セレクションからペーストして編集する事も多いから
「毎回」iをタイプしたりはしないね
0397名無しさん@お腹いっぱい。2009/06/20(土) 02:46:26
自分の場合は、半分くらいの場合、入力から入って、のこりの半分はコマンド実行から入るみたいだ。
で、最初から、入力になるように試してみたんだけど、入力を抜けるのが面倒くさく感じたぞ。
oやiは1キーだけど、C-[は2キー使うからな。慣れの問題かもしれん
0398名無しさん@お腹いっぱい。2009/06/20(土) 07:18:38
かなりの割合でまず移動する
0399名無しさん@お腹いっぱい。2009/06/20(土) 20:08:08
snipMateを使っているんですけど、~/.vim/snippets/*.snippets を編集したあとリロードするには、vimを再起動するしかないのでしょうか。
できれば現在編集中のvimを終了することなく、編集した*.snippetsの内容を反映させたいんですが。
0400名無しさん@お腹いっぱい。2009/06/20(土) 20:44:29
>>394
そう言う話でてくると思った。でも、程度問題って事なんだよね。その程度では原理者義者ではない。って趣旨だから。
でも、原理主義者のほとんどは「俺は違う」って思ってる。
0401名無しさん@お腹いっぱい。2009/06/20(土) 22:13:29
>>400
どういう意味?
0402名無しさん@お腹いっぱい。2009/06/20(土) 22:18:11
>>400
×そう言う話でてくると思った
○そういうレスを待っていた
0403名無しさん@お腹いっぱい。2009/06/20(土) 23:33:01
imapコマンドで、Ctrl+. を表現するにはどうしたらいいですか。
つまり
imap <C-o> foo

imap <C-.> foo
にしたいのですが、「.」が入力されるだけで、うまくコマンドが実行されません。
0404名無しさん@お腹いっぱい。2009/06/21(日) 01:50:03
>>401
それって原理主義だろ? って言うと「脊髄反射で否定する」って事さ。
0405名無しさん@お腹いっぱい。2009/06/21(日) 02:06:56
>>401
人を原理主義者呼ばわりする奴はキチガイの煽り屋だから相手しちゃダメ、てこと
0406名無しさん@お腹いっぱい。2009/06/21(日) 03:05:53
>>379
亀ですまん。
新規ファイルを作ったらなんか書きたいので、大抵すぐ挿入モードにしてる。
:enewだとか:spだとかの場合はまた違うけど。
04073712009/06/21(日) 03:08:36
ちょ、いろいろ議論されててびびった。
ええと、とりあえず言いたいのは
> なんで、新規ファイルの時は毎回 i を入力してるの?
毎回とは書いてないよ。大抵って書いてる。
その理由は>>406です。
0408名無しさん@お腹いっぱい。2009/06/21(日) 03:13:27
大抵とも書いてなかった。ほんとすまん。
言いたいことは伝わってるかな…?
0409名無しさん@お腹いっぱい。2009/06/21(日) 03:17:58
>>405
それが脊髄反射。
0410名無しさん@お腹いっぱい。2009/06/21(日) 03:31:27
>>403
CTRLと組み合わせできるのは基本的には
http://ja.wikipedia.org/wiki/ASCII
ここのASCII制御文字の表にあるような文字だけ。

:echo getchar()
に続けてキーを押すとキーコードが確認できるので、それで CTRL のありなしで同じ結果になる場合は区別できないということ。
0411名無しさん@お腹いっぱい。2009/06/21(日) 03:37:58
>>410
ありがとうございます。
これってvimというよりはterminalの制限ですよね。GUIバージョンでも同じ制限があるんですか。残念。
かわりに Ctrl+¥ や Ctrl+_ を使う事にします。

あと、現在vimスクリプトに挑戦しているんですけど、「カーソルのある場所の文字」を見て分岐するような関数はどうやって書くのでしょうか。
if カーソル状の文字が '<' なら
 関数foo()を実行
else
 関数bar()を実行
end
みたいなのです。
重ね重ねすみませんが、よろしくお願いします。
0412名無しさん@お腹いっぱい。2009/06/21(日) 03:48:43
今初めてスクリプトについて調べたのでもうちょっと楽な方法あるのかもしれないけど
strpart(getline("."),col("."),1)
で取れたよ
0413名無しさん@お腹いっぱい。2009/06/21(日) 03:51:32
ごめん。col関数は1オリジンの値を返すようでした。
strpart(getline("."),col(".")-1,1)
0414名無しさん@お腹いっぱい。2009/06/21(日) 10:49:28
>>411
GUI版なら設定可能だよ。できないというのであればもう少し使用環境を詳しく書いて。

> カーソルのある場所の文字
>>413の方法もあるけど私はgetline('.')[col('.')-1]の方が好みかな。
他にも方法はあるけどややこしいだけだから気にしなくてもいいよ。
0415名無しさん@お腹いっぱい。2009/06/21(日) 11:59:56
>>412-414
ありがとうございます。getline('.')[col('.')-1] を使うことにします。
それでですね、カーソル上の文字によって、iまたはaを使いたいんですが、うまくいきません。

""" 別の関数(ここではstrftime())の実行結果を挿入する。
""" カーソル上の文字が '@' ならその右側に、それ以外なら左側に挿入する。
function Func1()
 let ch = getline('.')[col('.')-1]
 if ch == '@'
  "exec "normal a<C-r>=strftime('%c')<CR>"
  return "a<C-r>=strftime('%c')<CR>"
 else
  "exec "normal i<C-r>=strftime('%c')<CR>"
  return "i<C-r>=strftime('%c')<CR>"
 endif
endfunction
":nmap <C-¥> :call Func1()
:nmap <expr> <C-¥> Func1()

これを実行すると、<C-r>=strftime('%c')<CR> がそのまま挿入されてしまいます。
どなたか助けてください。
04164122009/06/21(日) 13:41:53
>>414
おお、そういう感じに取れるんですね。一文字の場合はそっちがすっきりしてよさげです。

>>415
\<C-R>という風に記述してみたらどうでしょうか?
0417名無しさん@お腹いっぱい。2009/06/21(日) 19:04:42
>>416
>¥<C-R>という風に記述してみたらどうでしょうか?
それで行けました。さんくすです。

>>414
>GUI版なら設定可能だよ。できないというのであればもう少し使用環境を詳しく書いて。
できますか? 環境はMacVM.appです。vim7.2相当。
0418名無しさん@お腹いっぱい。2009/06/21(日) 20:02:40
Vimで、カーソル直前の単語を大文字にするやり方を教えてください。
たとえば
request_method
と入力して、なにかキーを押すと
REQUEST_METHOD
となるようにしたいです。
0419名無しさん@お腹いっぱい。2009/06/21(日) 20:14:45
大文字小文字の反転でよければ
viw~
0420名無しさん@お腹いっぱい。2009/06/21(日) 20:16:17
と、レスしたはいいけど、ありそうな気がしたのでヘルプ見たらUでできた
viwU
でどうでしょ
0421名無しさん@お腹いっぱい。2009/06/21(日) 23:02:21
えーとですね。i [esc] i [esc] i [esc] i [esc] って連続して入力していくと、
カーソルがどんどん左に行ってしまうんですが、なんか止める方法ナイスかね。
0422名無しさん@お腹いっぱい。2009/06/21(日) 23:12:03
ガムとかかんで気を紛らわす
0423名無しさん@お腹いっぱい。2009/06/21(日) 23:22:25
>>421
a [esc] a [esc] a [esc] a [esc]
と入力するようにすればいいんじゃナイスかね
0424名無しさん@お腹いっぱい。2009/06/22(月) 10:37:14
>>421
なんでそんな入力してるの?
0425名無しさん@お腹いっぱい。2009/06/22(月) 10:43:41
set insertmode なんてあるのか。
■ このスレッドは過去ログ倉庫に格納されています