Vim Part16
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2009/01/16(金) 00:56:51http://www.vim.org/
前スレ
Vim Part15
http://pc11.2ch.net/test/read.cgi/unix/1202050038/
関連情報は>>2-8あたり。
0208名無しさん@お腹いっぱい。
2009/04/25(土) 22:02:120209名無しさん@お腹いっぱい。
2009/04/26(日) 00:31:040210名無しさん@お腹いっぱい。
2009/04/26(日) 00:32:30"="\n"<CR>p
0211名無しさん@お腹いっぱい。
2009/04/26(日) 06:10:52ありがとうございました。自分でショートカットキー作ることにします。
0212名無しさん@お腹いっぱい。
2009/04/29(水) 16:29:12:nslookup @*
のような使い方をしたいのです。
ベタに CTRL-R * で貼り付けるとキーマクロとして実行した場合にうまく動作しません。(毎回同じコマンド内容になる)
0213名無しさん@お腹いっぱい。
2009/04/29(水) 21:01:32:execute '!nslookup' @*
0214名無しさん@お腹いっぱい。
2009/04/30(木) 03:38:57何の話
0215名無しさん@お腹いっぱい。
2009/04/30(木) 07:57:14逆エスパー間違い
0216名無しさん@お腹いっぱい。
2009/05/01(金) 00:38:42今さら何の話
0217名無しさん@お腹いっぱい。
2009/05/02(土) 20:05:02自分で書いてて忘れてしまいました…(恥
0218名無しさん@お腹いっぱい。
2009/05/02(土) 21:29:14Visual modeで選択した文字列を検索する。
Normal modeの*はカーソル下のキーワードを検索するけど、それと同じ感じ。
ただそのコードだとメタ文字があるときに困るから私は↓のようにしてる。
vnoremap * :<C-u>call <SID>search_the_selected_text_literaly('n')<Return>
vnoremap # :<C-u>call <SID>search_the_selected_text_literaly('N')<Return>
function! s:search_the_selected_text_literaly(search_command)
let reg_0 = [@0, getregtype('0')]
let reg_u = [@", getregtype('"')]
normal! gvy
let @/ = @0
call histadd('/', '\V' . escape(@0, '\'))
execute 'normal!' a:search_command
let v:searchforward = a:search_command ==# 'n'
call setreg('0', reg_0[0], reg_0[1])
call setreg('"', reg_u[0], reg_u[1])
endfunction
0219名無しさん@お腹いっぱい。
2009/05/02(土) 22:10:28戦車でコンビニに行く感じ感覚
0220名無しさん@お腹いっぱい。
2009/05/02(土) 23:32:220222名無しさん@お腹いっぱい。
2009/05/05(火) 23:38:36scanf()とかの入力ってどうやるんですかね?
0223名無しさん@お腹いっぱい。
2009/05/07(木) 06:11:10{N}Ctrl+w +などを使いますがどう考えても手が壊れそうな
キーの組み合わせだと思うのですが、皆さんはどのようにして押しているのでしょうか?
よろしくおねがいします。
0224名無しさん@お腹いっぱい。
2009/05/07(木) 10:22:36別に壊れないよ。
0225名無しさん@お腹いっぱい。
2009/05/07(木) 11:02:38上下カーソルを使いますが、ホームポジションで
使えるキーバインドもありますか?
0226225
2009/05/07(木) 11:11:03C-N, C-P
0227名無しさん@お腹いっぱい。
2009/05/07(木) 15:02:02キーの押し方なんか聞いてどうするんだ?w
押しにくかったら適当にキーマップの設定でもしなよ
ちなみに俺は A の左を Ctrl にしてるけどね
0228223
2009/05/07(木) 17:09:13Ctrl-Wは良いのですがCtrl+wを押しながら+を押すのがかなりきついです。
0229名無しさん@お腹いっぱい。
2009/05/07(木) 17:25:040230名無しさん@お腹いっぱい。
2009/05/07(木) 23:04:33C-w + という表記は C-w と + を同時に押すという意味ではなくて
続けて押せばおk、という意味
C-w C-w とかどうやって押すつもりだw
0232名無しさん@お腹いっぱい。
2009/05/07(木) 23:58:020233名無しさん@お腹いっぱい。
2009/05/08(金) 00:14:14vi や Emacs のようなキーバインドは、めずらしいよ。
こういうの、なんていうのか知らんけど。
0234名無しさん@お腹いっぱい。
2009/05/08(金) 01:36:36Sequence
0235名無しさん@お腹いっぱい。
2009/05/08(金) 02:17:53Windowsキー押してうんぬんとかあるじゃん。
0236名無しさん@お腹いっぱい。
2009/05/08(金) 02:31:32Windowsでは珍しいとか・・・どういう意味?
まぁエクスプローラーでさえ
Alt-F W F
みたいな入力が出来る訳だし、
ショートカットはいっぺんに押す。
とは言い切れないのでは?
0237名無しさん@お腹いっぱい。
2009/05/08(金) 02:36:27Macの事もわからん
DOSなら使った事あるが
0238名無しさん@お腹いっぱい。
2009/05/08(金) 06:42:49修飾キー以外を複数同時に押させるようなものはなかったと思うけど
そんなのあったっけ?
>>233
同時押しだと使える組み合わせって限られるしエディタには向いてないよ
sequence なら組み合わせはほぼ無限で、やろうと思えばエディタの操作すべてに
キーを割り当てられるしカスタマイズの余地もありまくり
0239名無しさん@お腹いっぱい。
2009/05/09(土) 17:00:48Ruby でいう
/hoge(\d+)/ =~ "hoge123"
print $1
みたいな感じです。(これができないとvimスクリプトが書きにくい)
0240名無しさん@お腹いっぱい。
2009/05/09(土) 17:13:33Vim7 なら matchlist()
0241名無しさん@お腹いっぱい。
2009/05/09(土) 17:47:49あ、ありがとう! まさしく求めていたモノはこれだった!
0242名無しさん@お腹いっぱい。
2009/05/09(土) 20:24:08例をだすと
if(??){
a=1
}
のときにセミコロン打つと↓の様になって欲しいです.
if(??){
a=1;
}
0243242
2009/05/09(土) 20:26:521 if(??){
2 a=1
3 }
↓
1 if(??){
2 a=1;
3 }
0244242
2009/05/09(土) 20:28:141 if(??){
2 a=1
3 }
↓
1 if(??){
2 a=1;
3 }
0245名無しさん@お腹いっぱい。
2009/05/09(土) 20:36:470246242
2009/05/09(土) 20:44:22↑の例の2行目でインサートモードに「i」で移ると
autoindentが効かないのです.(←が動けば問題ないのですが・・・.)
0247名無しさん@お腹いっぱい。
2009/05/09(土) 20:51:31smartindentやcindentを試してみたが、iでうつるとインデントはされなかったな...
ちょっと調べてみる
0248242
2009/05/09(土) 21:04:55ちょっとautoindentを実験.
1 if(){
2
3 }
この状態の1行目で「o」すれば,インデントされるが無駄な改行がはいる.
2行目だと「i」でも「o」でもインデントはされない.
>autoindentは確か、行頭を自動で前の行と同じインデントにする物だったはず.
なるほど・・・.と言った感じです.
でも,インサートモードで閉じ括弧は自動的に下げインデントされるので,
この当たりが怪しい気もします.
0249242
2009/05/09(土) 21:23:05:set cinkeys+=;
とすれば良いみたいです.
結構この辺,いじれそうなので遊んでみます.
0250名無しさん@お腹いっぱい。
2009/05/09(土) 21:29:13インデントの原因となる文字列ですか、
0251242
2009/05/09(土) 21:36:18:set autoindent
:set cindent
:set cinkeys+=;
0252名無しさん@お腹いっぱい。
2009/05/18(月) 10:15:40最悪、無ければ英文でも良いんですけれど。
全ての色定義ファイルが全項目を使っているわけではないので、
長そうなのを実際に読み込んで試行錯誤してるんですが、
やっぱり面倒なのです‥‥
0253名無しさん@お腹いっぱい。
2009/05/18(月) 11:25:16買う価値ありますか?
設定ファイルとかスクリプトについて詳しく知りたいんですけれど。
ネットで目次だけみると、半分は正規表現の本みたいなので‥‥。
0254名無しさん@お腹いっぱい。
2009/05/18(月) 11:32:50http://iccf-holland.org/click5.html#oualline
0255名無しさん@お腹いっぱい。
2009/05/18(月) 13:07:40最高の悦楽を貴方に!!
0256名無しさん@お腹いっぱい。
2009/05/18(月) 13:50:00基本的な使い方から各オプションの細かい説明まで載ってるけど
一番マイナスなのがVim5あたりの内容だということ、ちょっとだけ古い
結局新しい機能についてはヘルプを見たりネットで調べたりすることになる
(本体のヘルプ日本語訳してくれてる方、ありがとうございます)
この本、最新版で出してくんないかなぁ
0257名無しさん@お腹いっぱい。
2009/05/18(月) 14:39:06プログラマーでVim初心者には有益そうっすね。
品薄でもありそうなので、初見には良いかと思って、
注文してしまいました。
vmrcの内容については言及してますけれど、
カラースキーマまでは書いてないですね。
0258名無しさん@お腹いっぱい。
2009/05/18(月) 15:36:290259名無しさん@お腹いっぱい。
2009/05/18(月) 15:38:21.vimrcに set lines=40 とやってるんですが反映されないっす。
どう書けばいいですか?
0260名無しさん@お腹いっぱい。
2009/05/18(月) 19:28:23オライリーのVi本と完全バイブルの中間みたいな中途半端な厚さだった。
パラッと立ち読みした限りだと内容も中途半端だった。
0261名無しさん@お腹いっぱい。
2009/05/18(月) 21:01:13よくわからないけど、:help syntax.txtじゃだめなの?
>>259
.gvimrcに書いたらどうなる?
0262名無しさん@お腹いっぱい。
2009/05/19(火) 11:38:47出来ました!
.gvimrcに書いても全然反映されない。
試しに端末からgvimを起動したら反映された。
GNOMEのメニューみたら -geometry を自分で設定してすっかり忘れてました。
ずっと悩んでましたアホでした、どうもすいません orz
0263名無しさん@お腹いっぱい。
2009/05/19(火) 15:22:18何文字で折り返すか明示的に指定する方法は無いのでしょうか?
改行をいれずに、表示の折り返しの幅だけを指定したいのです。
0264名無しさん@お腹いっぱい。
2009/05/19(火) 15:42:160265名無しさん@お腹いっぱい。
2009/05/19(火) 16:26:13どうもありがとうございました。
でも、たいへん失礼しました、gvimで文字列の右端を空けた状態で、
改行を入れたいのです。
culumnsで指定すると、ウィンドウ枠自体がそのサイズになって、
画面にピッチリになりますよね。
それだと、読みにくいので、例えば80文字で折り返すなら、
左端から80文字で文字は終わりで、そのあとに空白が続く形で折り返したいのです。
0266名無しさん@お腹いっぱい。
2009/05/19(火) 17:02:49あと強制的に改行コードも挿入できれば。
0267名無しさん@お腹いっぱい。
2009/05/19(火) 17:09:05改行を入れたくない場合が難しいと思うのですが‥‥
0268名無しさん@お腹いっぱい。
2009/05/19(火) 17:14:31ってやってみたけど変化なす orz
ずらずら〜っと文字を打ち込んで72桁目で自動的に改行してくれたら楽なんだけど。
0269名無しさん@お腹いっぱい。
2009/05/20(水) 14:27:36つまり、gvimrcってvimrcの内容にも影響を受けるのでしょうか?
GUI版の設定ファイルは、コマンドライン版の設定ファイルに
追加する関係になっているのかなぁと‥‥
0270名無しさん@お腹いっぱい。
2009/05/20(水) 14:50:530271名無しさん@お腹いっぱい。
2009/05/20(水) 18:11:25cal | vim -n -c ':set number' -c ':so $VIMRUNTIME/syntax/2html.vim' - -c ':w !cat' -c ':qa!' | lynx -stdin
見たいにしたのですが
vim後続のコマンドがvimの画面表示も標準入力から受け取ってしまいます。
なにか解決策おねがいします。
0272名無しさん@お腹いっぱい。
2009/05/20(水) 19:50:10オプションの最後に-e -sを追加。
あと-c '{command}'は:要らないよ。
0273名無しさん@お腹いっぱい。
2009/05/20(水) 23:12:21:help startupとかだったと思うよ
0274KoRoN@Vim%Chalice ◆8XALICEsdk
2009/05/21(木) 00:25:27英文なら以下をするだけで随分と見やすくなります。
:set linebreak
でも、日本語だと方法がないかもです。
>>266
textwidthがauto-wrapに使われるかはformatoptionsにも依存します。
:set fo+=tc
:help fo-table
あと'textwidth'ではなく'wrapmargin'を設定する方法もあります。
0275名無しさん@お腹いっぱい。
2009/05/21(木) 01:03:440276名無しさん@お腹いっぱい。
2009/05/21(木) 02:10:080277名無しさん@お腹いっぱい。
2009/05/21(木) 06:25:09おひさ。げんきそうでなにより。
0278名無しさん@お腹いっぱい。
2009/05/21(木) 14:11:11utf-8なんですけれど。
PDF用の仮想プリンタでも日本語が化けてるんで、
gvim側で何か設定が必要なんでしょうか?
0279名無しさん@お腹いっぱい。
2009/05/21(木) 20:11:420280名無しさん@お腹いっぱい。
2009/05/21(木) 20:20:16:option
11 printing
で見てみ。
0281名無しさん@お腹いっぱい。
2009/05/21(木) 20:21:02× :option
0282278
2009/05/21(木) 23:00:14おっしゃる通りに、日本語の無いフォントになっていました。
どうもありがとうございました。
0283名無しさん@お腹いっぱい。
2009/05/25(月) 08:36:180284名無しさん@お腹いっぱい。
2009/05/25(月) 12:33:230285名無しさん@お腹いっぱい。
2009/05/25(月) 14:40:57expand('%:p:gs?/?\\?')
0286名無しさん@お腹いっぱい。
2009/05/25(月) 17:10:41:r !echo % --> (指定していた場合はディレクトリ名も含め)ファイル名が現在行の次に追加される
:r !pwd --> 現在のディレクトリ名が現在行の次に追加される
0287名無しさん@お腹いっぱい。
2009/05/25(月) 23:21:22C言語でポインタを定義する時、int* hogeと書くか、int *hogeで分かれるじゃん
int*派からすると、
int型のポインタなんだからint*なんだ、大体、int*を返す関数を定義する時どうする?
まさかint *hoge()とか書くのか? それともint * hoge()? どっちもキモい
int *派からすると、
おいおいちょっと待て、じゃあ何か、例えばポインタを複数定義したい時どうする?
int* hoge; int* hage;とか何度も書くのか?
ましてや、ポインタと通常型を同時に定義したい時どうする?
まさかint* hoge, hage;とか書くのか? 紛らわしい
それに、どうせおまえらだってconstが混じったらconst int *const hogeとか書くんだろ?
執拗にconst int* const hogeとか書くのか?
みたいな議論を>>286のレスを見た瞬間、鮮やかに思い出した
俺なら
:r! echo %
:r! pwd
だな
0288名無しさん@お腹いっぱい。
2009/05/26(火) 06:17:05Vim はそんなに単純な道具かい?断じて否だ。その気になれば犬の散歩だって!
いずれにしろ質問者の好みで選ぶだけだろうよ。
0289名無しさん@お腹いっぱい。
2009/05/26(火) 06:56:04パパパッと一瞬で流れてしまって読めないんですけど、
これバッファにはき出したりすることってできますか?
0290名無しさん@お腹いっぱい。
2009/05/26(火) 10:45:30本筋と関係ないが
> ましてや、ポインタと通常型を同時に定義したい時どうする?
> まさかint* hoge, hage;とか書くのか? 紛らわしい
int* 派は
int* hoge;
int hage;
と分けて定義する、と思う
0291名無しさん@お腹いっぱい。
2009/05/26(火) 11:53:260292名無しさん@お腹いっぱい。
2009/05/26(火) 12:19:09と思ったらこないだまでiPhoneプロジェクトやってた。
つか、その前はC#やってた...だめだ記憶力が...
iPhoneはvim使用は断念したが、C#はvimで十分だったよ!
まぁ、GUIなかったし、mono互換が要件だったし。
0293名無しさん@お腹いっぱい。
2009/05/26(火) 20:05:380294286
2009/05/26(火) 21:05:54ファイル読み込みのときには
:r ファイル
だよな?ファイルの代わりにコマンド実行の結果を読み込むんだから
:r !コマンド
が由緒正しい書きかたなんじゃないの?(まあどうでもいいんだけど)
0295名無しさん@Vim%Chalice
2009/05/26(火) 21:44:51これ,私もたまに困るんですが,なんか方法ないんですかねー?
正直人間の読める速さの限界を超えてる速度で流れて全然読めん.
0296名無しさん@お腹いっぱい。
2009/05/26(火) 23:40:41>>295
:mes
でいんでない?
0297名無しさん@Vim%Chalice
2009/05/27(水) 06:30:39おぉっ!
ありがとうございます。
3ヶ月前ほどにEmacsから乗り換えたのですが、Emacsだと新規バッファにエラーはいてくれるので
良かったのですがVimだとどうすれば良いか悩んでいたところでした.
ありがとうございました.
0298283
2009/05/27(水) 13:49:05勉強になりました
0299283
2009/05/27(水) 13:50:41×暑い
○熱い
でした、スイマセン
0300名無しさん@お腹いっぱい。
2009/05/27(水) 23:49:48vim7.2(.188)と、ruby1.9の組み合わせで、--enable-rubyinterp を付けてると、
makeでエラーになってしまいます。
具体的には、以下のエラーが発生します。
if_ruby.c:51:18: error: ruby.h: No such file or directory
確かに、 /usr/local/lib/ruby/1.9.1/i686-linux の中にruby.hがありません。
ruby1.8の時には、i686-linuxのディレクトリの中にありました。
これは現状では解決出来ない問題なのでしょうか?
0301名無しさん@お腹いっぱい。
2009/05/28(木) 01:48:50そもそも1.9用のif_rubyが存在しない。
もしかしたらvim_devを漁ればあるかも知れないけど、あっても枯れてないから止めといた方が無難。
0302名無しさん@お腹いっぱい。
2009/05/28(木) 07:22:11やはりそうですか・・・。
omni補完はほぼ使わないのですが、気になって仕方がありませんでした。
随分前からの悩みだったのですが、またしばらく待ってみます。
情報ありがとうございました。
0303名無しさん@お腹いっぱい。
2009/05/29(金) 19:04:30以前最後に開いたファイルの編集行を覚えさせるためには
どうすればよいでしょうか?
0304名無しさん@お腹いっぱい。
2009/05/30(土) 06:47:30:help 'viminfo'
0305名無しさん@お腹いっぱい。
2009/05/31(日) 19:16:00周りにインストールされているのがvim7になってきて困っていることが、
vim3だとtag jump(C-])で複数候補があるときに選択リストがでますが
vim7は問答無用で最初のエントリに飛ばされてしまいます。
vim7で選べるようにするにはどんな設定が必要?
0306名無しさん@お腹いっぱい。
2009/05/31(日) 19:54:59nnoremap <C-]> :<C-u>tjump <C-r><C-w><Return>
あるいはデフォルトのままでも飛んだ後に:tnext/:tpreviousで他の候補に飛べるよ。
0307名無しさん@お腹いっぱい。
2009/05/31(日) 21:00:28かたじけない
これでやっと移行できる
■ このスレッドは過去ログ倉庫に格納されています