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あたり。
0151名無しさん@お腹いっぱい。
2009/03/02(月) 01:27:120152名無しさん@お腹いっぱい。
2009/03/02(月) 03:02:23再帰開始ディレクトリの指定だよ・・・
0153名無しさん@お腹いっぱい。
2009/03/02(月) 03:26:41vimgrepだと他コマンドと組み合わせなくても
vimgrep "aho" **/hoge*/hoge.txt
(カレントディレクトリから再帰を開始して、"/hoge*/hoge.txt"のディレクトリ配置になってるファイルを検索)
みたいに細かいとこまで指定できる
gnuの方は--includeでファイル名指定できるけどディレクトリ配置までは指定するの無理
0154名無しさん@お腹いっぱい。
2009/03/02(月) 06:58:20これzsh使ってれば同じ事できるし再帰も関係無い
ワイルドカードの展開はコマンドじゃなくてシェルの役目
0155名無しさん@お腹いっぱい。
2009/03/02(月) 09:55:02判り易い説明ありがとうございました。
>>154
zshではそうだと思います。
でも、vimgrep はvimが持ってる機能ですからシェルは関係ないと思われます。
0156名無しさん@お腹いっぱい。
2009/03/02(月) 19:28:570157名無しさん@お腹いっぱい。
2009/03/03(火) 04:51:460158名無しさん@お腹いっぱい。
2009/03/07(土) 04:23:310159名無しさん@お腹いっぱい。
2009/03/07(土) 15:28:11↓このバグ、7.2でも直ってないなぁ…
240 名前: 名無しさん@お腹いっぱい。 [sage] 投稿日: 2008/05/08(木) 02:48:45
最近、Kaoriya Windows版vim6.4から7.1.278に変えたのだがバグっぽい気になる点が。
foldlevel=0の状態で
{{{
カーソルはこのfoldの中でも外でも良い
}}}
こんな感じでfoldを開いた状態にする。
# この例はfdm=marker
ここで :e してファイルを再読み込みすると、foldが勝手に閉じられてしまう。
vim6.4では閉じなかった。
undoバッファを消すために、しばしば :e を使うので気になる。
また、fdm=manualの場合、zcで手動で作ったfoldが :e で忘れられてしまうみたいだ。
:eの後に先程zcで閉じた所に移動して再度zcでfoldを閉じようとしても E490:折畳みがありません と怒られる。
この点もvim6.4なら問題なし。
これってバグじゃないかねぇ??
0160名無しさん@お腹いっぱい。
2009/03/07(土) 21:54:58俺はそんな高度な技使わないから
正直どうでもいいけど、
そもそもバグとして開発陣に報告してんの?
0161名無しさん@お腹いっぱい。
2009/03/08(日) 04:30:410162名無しさん@お腹いっぱい。
2009/03/08(日) 11:19:41http://blog.livedoor.jp/siro1978jp/archives/51271244.html
・拡張子で判断
・テンプレートはファイル種類に対して1種類
というやつしか見つけられない。望むのは
・編集中に展開できる(新規作成時に選択できてもうれしい)
・どのテンプレートを使うか選択できる
なのだけど、だれかおせーて!
0163162
2009/03/08(日) 12:25:45ファイル指定するのが面倒だけど、とりあえずこれでいいや
0164名無しさん@お腹いっぱい。
2009/03/09(月) 22:13:32お前らも気をつけろよ
0165名無しさん@お腹いっぱい。
2009/03/09(月) 23:07:320166名無しさん@お腹いっぱい。
2009/03/10(火) 00:53:530167名無しさん@お腹いっぱい。
2009/03/10(火) 01:18:56head/tail/grepだのlessがめんどい
その辺を統括した巨大ファイル用スクリプトとか出ないかなw
0168名無しさん@お腹いっぱい。
2009/03/10(火) 08:02:07lessなどから"v"でエディタに移る操作の方が簡単なんでない?
0169名無しさん@お腹いっぱい。
2009/03/10(火) 13:31:460170名無しさん@お腹いっぱい。
2009/03/16(月) 23:59:30$ vim .vimrc
autocmd BufNewFile *.c 0r [テンプレートファイルへのパス]
参考: h: BufNewFile
0171名無しさん@お腹いっぱい。
2009/03/17(火) 00:02:550172名無しさん@お腹いっぱい。
2009/03/17(火) 00:55:20http://www.vim.org/scripts/script.php?script_id=2291
0173名無しさん@お腹いっぱい。
2009/03/17(火) 09:27:31登録できないんですか?
同じ略語をファイルタイプに応じて別のものに展開したいんですけど
0174名無しさん@お腹いっぱい。
2009/03/17(火) 09:56:440175名無しさん@お腹いっぱい。
2009/03/17(火) 10:33:11それでうまくいくんですか?
同時に色んなタイプのファイルを編集してバッファを切り替えてるうちに
略語の定義が累積して効果がなくなるような気がするんですが
いちいち :abclear するってことですかね
ともかくヘルプを漁ってみます
0176名無しさん@お腹いっぱい。
2009/03/17(火) 20:14:17>vim の略語(:ab で登録するやつ)ってファイルタイプごとに
>登録できないんですか?
ファイルタイプ ruby の場合
(1) ruby.vim を作成する
( ユーザーは foo )
Windows Vista
C:\Users\foo\vimfiles\ftplugin\ruby.vim
Linux
/home/foo/.vim/ftplugin/ruby.vim
(2) ruby.vim に略語を登録する
iabbrev <buffer> elseif elsif
iabbrev <buffer> elif elsif
これで OK
0177名無しさん@お腹いっぱい。
2009/03/17(火) 22:03:21ありがとうございます。うまくいきました。
ファイルタイプ別の設定は略語に限らず ftplugin 以下のプラグインファイルに
書いておけばいいんですね。.vimrc がちょっとだけすっきりしました。
0178名無しさん@お腹いっぱい。
2009/03/27(金) 22:43:41これってすごいね。 びっくりした。
0179名無しさん@お腹いっぱい。
2009/03/28(土) 19:39:56ARG_MAX変更しないとすぐ涙目になるよ
0180名無しさん@お腹いっぱい。
2009/03/28(土) 22:48:10これWin32用のVimが見る設定ファイルの名前が変わってたりする?
手元の7.1の環境からgvimrcとか設定ファイル一式をひっぱってきても全然反応がなくてデフォルトのまま…
7.2起動後に
:source gvimrc
ってやると、読み込んでくれるんだけど。
7.2起動直後に「Vi互換モードで動作中」って表示されるようになったみたいだけど
これも関係してる?
0181名無しさん@お腹いっぱい。
2009/03/28(土) 22:55:05:echo $VIMRUNTIME
0182名無しさん@お腹いっぱい。
2009/04/02(木) 08:21:230183名無しさん@お腹いっぱい。
2009/04/02(木) 08:55:18これは何なんですか
0184名無しさん@Vim%Chalice
2009/04/02(木) 10:02:05http://vimwiki.net/?faq%2F4
http://vimwiki.net/?%27list%27
http://vimwiki.net/?%27listchars%27
0185名無しさん@お腹いっぱい。
2009/04/04(土) 01:39:55全角ハイライト
0186名無しさん@お腹いっぱい。
2009/04/04(土) 03:39:130187名無しさん@Vim%Chalice
2009/04/04(土) 10:25:48wikiにも書いて来たけど、CUI の vim でやる時は guibg を ctermbg に書き換えれば OK
0188名無しさん@お腹いっぱい。
2009/04/07(火) 19:20:430189名無しさん@お腹いっぱい。
2009/04/07(火) 19:27:190190名無しさん@お腹いっぱい。
2009/04/07(火) 19:52:15できました!ありがとうございます。
0191名無しさん@お腹いっぱい。
2009/04/13(月) 19:58:03http://pc11.2ch.net/test/read.cgi/linux/1235742742/583-
lenny で vim 入れたんですが、:E で表示されるディレクトリ名の前に
勝手に e の文字がくっついて移動できないのは私だけでしょうか?
通常のファイルは問題なく開けます。あと、スワップファイルの前にも
e の文字が付いていて謎です。
0192名無しさん@お腹いっぱい。
2009/04/17(金) 00:12:18http://pc12.2ch.net/test/read.cgi/unix/1239316057/l50
vimで:選択範囲!cmdで選択範囲を標準入力に流して、
結果で置換するというのを、結果で置換しないというのは
出来ますでしょうか。
例えばhello worldが選択範囲で、
:'<,'> ! sed -e 's/hello/bye/'
とやるとhello worldが置換されてbye worldになりますが、
これをhello worldを残したままコマンドを実行したいんです。
0193名無しさん@お腹いっぱい。
2009/04/17(金) 00:32:07vimのcvs/svnは基本的にcソースのみ管理しててランタイムファイルはリリースごとにしか更新されない
最新版はrsyncかftpで取る
http://www.vim.org/runtime.php
ftp://ftp.vim.org/pub/vim/runtime/
:Eの機能はnetrwというプラグインが提供していて最新版は作者のサイトにある
http://mysite.verizon.net/astronaut/index.html (VimStuffの中)
>>192
:help :w_c
0194名無しさん@お腹いっぱい。
2009/04/17(金) 00:52:30ありがとうございます!
上の例ですと以下でいけました。
:'<,'> w ! sed -e 's/hello/bye/'
0195名無しさん@お腹いっぱい。
2009/04/19(日) 16:59:360196名無しさん@お腹いっぱい。
2009/04/19(日) 17:07:310197195
2009/04/19(日) 18:26:57何がしたいかというと、Kでカーソル下のフレーズのmanが出るのを解除したいのですが、
unmap <S-K> などと色々試したものの、No such mapping とエラーが出てしまいました。
書き方が間違っているんでしょうか?
0198名無しさん@お腹いっぱい。
2009/04/19(日) 20:45:240199名無しさん@お腹いっぱい。
2009/04/19(日) 21:27:54それだったら
map K <nop>
でいいじゃん
大文字のkは単に K と書けばおk
0200195
2009/04/19(日) 22:34:57おかげさまでできました。ありがとうございました。
0201名無しさん@お腹いっぱい。
2009/04/20(月) 02:26:43この本どんな感じ?
0202名無しさん@お腹いっぱい。
2009/04/21(火) 09:01:20ヤンクしたのはx押しただけで更新されちゃうしregで見て選択するのも面倒だし
大量の文字削除したらそれバッファに残ってるし
0203名無しさん@お腹いっぱい。
2009/04/21(火) 09:46:120204名無しさん@お腹いっぱい。
2009/04/21(火) 20:03:520205名無しさん@お腹いっぱい。
2009/04/21(火) 21:21:550206名無しさん@お腹いっぱい。
2009/04/21(火) 21:46:32コレクターグッズ
0207名無しさん@お腹いっぱい。
2009/04/24(金) 21:42:49もう解決した?
set guioptions-=a
↓これ見れば解決するん
:help 'guioptions'
:help 'clipboard'
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インデントの原因となる文字列ですか、
■ このスレッドは過去ログ倉庫に格納されています