Vim Part14
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2007/03/19(月) 20:09:27http://www.vim.org/
前スレ
http://pc10.2ch.net/test/read.cgi/unix/1151423973/
0781名無しさん@お腹いっぱい。
2007/11/22(木) 12:09:00例えば検索キーがword1、word2の二つあったとすると、
・nを押したらカーソル位置以降のword1を検索
・何かのキーを押したらカーソル位置以降のword2を検索
という風にしたいのです。
よろしくお願いします。
0782名無しさん@お腹いっぱい。
2007/11/22(木) 12:34:360783名無しさん@お腹いっぱい。
2007/11/22(木) 13:15:090784名無しさん@お腹いっぱい。
2007/11/22(木) 14:25:13helpで
> |:history|によって出力される{num}番目のエントリを、再
> 度実行するための":H {num}"というコマンドを定義する。
> command -nargs=1 H execute histget("cmd",0+<args>)
というのが紹介されているので、これをいじって
command -nargs=1 S execute "/" . histget("search",0-<args>)
とすれば:S のあとに入力された数だけ直前の検索語を検索できる
ちなみに:S 1は現在の語なので :S 2 で一つ前ね
:S のとき : S 2 と動作するように改良すればトグル動作にできる
プラグインだとmultiplesearchプラグインなら検索語を色分けできる
0785名無しさん@お腹いっぱい。
2007/11/22(木) 14:26:36:history search
histget()
あたりのhelpよめばほかに何かいいものが浮かぶかもしれない
0786名無しさん@お腹いっぱい。
2007/11/22(木) 22:26:08ありがとうございます!できました!
0787名無しさん@お腹いっぱい。
2007/11/23(金) 20:33:28がよくわからん。だれか教えてけれ
:help //; でドキュメントは見れるんだけどな
0788名無しさん@お腹いっぱい。
2007/11/23(金) 23:19:41何が分からないのかがよくわかんないんだけど ";"のこと?
範囲指定の","と";"の違いですか?もしそうなら cmdline-rangesを参考に。
そうじゃなければスマソ。
0789名無しさん@お腹いっぱい。
2007/11/24(土) 14:25:41http://ripjohn.net/program/vim/template.zip
http://ripjohn.net/program/vim/index.html#template
内容:
・>>354みたいに、テンプレートの展開には短縮入力機能を使います。
・ただ:iabbrevコマンドは特殊文字の入力がしんどいので(<CR>とか<lt>みたいに)、
文字列値の式を引数にとって、変換して:iabbrevに渡すコマンドを用意しました。
・あとは、プレースホルダに飛ぶコマンド(<S-CR>, <C-CR>)と置き換えるコマンド(<CR>)だけです。
・プレースホルダには、デフォルトで入力される文字列を指定できます。
例:
「:StringAbbrLocal fopen] 'fopen(<+fname+>, <+mode:"r"+>)<++>'」で登録。
挿入モードで「fopen]」と打って<Esc>すると上記の通り展開される。
<S-CR>でひとつめのプレースホルダに移動、<CR>で入力開始。
再度<S-CR>でふたつ目のプレースホルダに。<CR>で「"r"」が挿入されて入力開始。
再々度<S-CR>で最後のプレースホルダ「<++>」が削除され、入力開始。
簡素ですが、コード書きやマークアップ文書の編集には大体間に合うんじゃないかと思います。
ご意見いただければ幸いです。
0790名無しさん@お腹いっぱい。
2007/11/24(土) 14:34:56折り畳みで間に合うんじゃないですか? cf. :help folding
例:
vim: set foldmethod=marker :
1章 供犠 {{{
1.1 供犠の機能 {{{
ほげほげ
}}}
1.2 供犠の危機 {{{
うんたらかんたら
}}}
}}}
2章 オイディプスと贖罪のいけにえ {{{
ふーばー
}}}
って感じで。
foldmethod=exprで、foldexprに判別式を設定すれば
もうちょっとスマートに書けます。
0791781
2007/11/24(土) 15:17:18>>781
シーケンシャルでなくランダムアクセスでやりたいです。
Googleツールバーのように、複数のキーワードのボタンが勝手に出来て、
好きなのを押せばそのキーワードでページ内検索できるのがすごく便利だなと思ったので。
mで登録、`で移動と同様のやり方で検索キーを使い分けられればベストです。
>>784
ありがとうございます!これでほぼ解決できました。
:S2などでキーを切り替えてn、Nで次々に飛べるのでやみつきです。
0792名無しさん@お腹いっぱい。
2007/11/25(日) 22:59:02これどうよ
検索履歴10個を候補にステータスラインに出す
/コマンドって履歴をステータスラインに出すほうがいいよね
let s:size = 10
function! s:S_completionList(A,L,P)
return join(map(range(1,s:size),'histget("search",0-v:val)'),"\n")
endfunction
command! -complete=custom,s:S_completionList -nargs=1 S exec "/".<q-args>
0793名無しさん@お腹いっぱい。
2007/11/27(火) 21:37:00カーソル移動をホームポジションに割り当てたところで、あるいはwやbを用意したところで
エスケープキーを押す必要があると、かえって使いにくいと思わないですか?
Ctrl+M や Ctrl+H みたいなことができるなら、ギリギリまでホームポジションに手を置いたまま作業ができそうですが
いちいちEscまで手を伸ばすのは結構しんどいと思うのですが・・・
つまらない事かもしれませんが、Vimをバリバリ使っている人がどう思ってるのか聞きたいです。
0794名無しさん@お腹いっぱい。
2007/11/27(火) 22:09:260795名無しさん@お腹いっぱい。
2007/11/27(火) 22:17:580796名無しさん@お腹いっぱい。
2007/11/27(火) 22:27:130797名無しさん@お腹いっぱい。
2007/11/27(火) 22:27:30一応ついてるキーボードだけど
0798名無しさん@お腹いっぱい。
2007/11/27(火) 22:40:20nnoremap <M-i> vib
vnoremap <M-i> ib
" alt + shift + i 連打で {} で囲まれた範囲を拡大選択
nnoremap <M-I> viB
vnoremap <M-I> iB
いまこういう設定をしているんだけどこれを <M-i> 連打するだけで
内側からテキストオブジェクトの範囲を拡大して選択するいいアイディアって無いものだろうか
function test()
{
alert("test");
}
文字列 test の中にカーソルがある時に <M-i> を一回押すと test が選択されて
もう一回 <M-i> を押すと今度は "test" が選択されてもう一度押すと alert("test"); が選択される感じ
0799793
2007/11/27(火) 23:14:41こんな便利なキーがあったとは・・・orz
0800名無しさん@お腹いっぱい。
2007/11/29(木) 07:09:24ホームポジションが崩れるという意識が無い。
0801名無しさん@お腹いっぱい。
2007/11/29(木) 12:47:400802名無しさん@お腹いっぱい。
2007/11/29(木) 21:03:06左は結局shift押したりctrl押したり!"#$%&押したりで
変則的なので慣れた。何気に句読点を打つようにESCを
押している気がする。
0803名無しさん@お腹いっぱい。
2007/11/29(木) 21:34:14入力していてキャンセルしてしまったことが何度となくあるorz
0804名無しさん@お腹いっぱい。
2007/11/29(木) 22:26:590805名無しさん@お腹いっぱい。
2007/11/30(金) 10:00:40入力モード入りで い! あ!とか言うようになるだろうか
0806名無しさん@お腹いっぱい。
2007/11/30(金) 14:36:00ししせ!
けいる!
0807名無しさん@お腹いっぱい。
2007/11/30(金) 18:32:180808名無しさん@お腹いっぱい。
2007/12/01(土) 12:13:33絶滅してほしくないよな。
0809名無しさん@お腹いっぱい。
2007/12/01(土) 13:58:18と不粋レス
0810名無しさん@お腹いっぱい。
2007/12/01(土) 21:49:250811名無しさん@お腹いっぱい。
2007/12/01(土) 22:16:140812名無しさん@お腹いっぱい。
2007/12/05(水) 00:04:08-----------
aaa
bbb
ccc
-----------
これを、文字列置き換えを使って、下記のようにしたいと考えています。
-----------
aaa bbb ccc
-----------
こうするために、
:% s/\n/ /g
としてみたのですが、駄目でした。
このような置き換えってどのようにすればよいのでしょうか?
0813名無しさん@お腹いっぱい。
2007/12/05(水) 00:25:01うちでは問題なく%s/\n/ /gで動くよ
(gvim@win)
0814名無しさん@お腹いっぱい。
2007/12/05(水) 00:41:24:%s/$\n/ /g
かな
0815名無しさん@お腹いっぱい。
2007/12/05(水) 00:44:460816名無しさん@お腹いっぱい。
2007/12/05(水) 00:49:220817名無しさん@お腹いっぱい。
2007/12/05(水) 01:14:59できました!
ありがとうー
0818名無しさん@お腹いっぱい。
2007/12/05(水) 23:17:010819名無しさん@お腹いっぱい。
2007/12/05(水) 23:26:15単に%とsの間のスペースなのか?
812自身は>>816の解決法で満足したようだけど、
なんか改行コードによって失敗したりするのかも?
0820名無しさん@お腹いっぱい。
2007/12/05(水) 23:53:11なんでだろうなぁ
0821名無しさん@お腹いっぱい。
2007/12/06(木) 09:00:55クリップボードの内容が"+か"*レジスタに入ります。
unnnamedしても
0822名無しさん@お腹いっぱい。
2007/12/06(木) 09:04:49set cb=unnamedしても
""には入らなくて、firefoxのフォームの文章をgvimで編集して戻すとき
<FF>C-A,C-C
↓
gvim "+P <編集> gg"+yG
↓
<FF>C-V
いちいち"+つけるのが面倒すぎです、、
winのgvimみたいにunnamedを動作させれませんか?
0823名無しさん@お腹いっぱい。
2007/12/06(木) 13:37:08nnoremap <silent> n :call search('')<CR>
nnoremap <silent> N :call search('', 'b')<CR>
とかしておくと折りたたみを多用する場合はいいかも。
なんか副作用があるかもしれないけど。
0824名無しさん@お腹いっぱい。
2007/12/06(木) 14:36:25:vimgrep した結果は、quickfixlistなので、getqflist()で取得できる。
これを逆ソートしてsetqflist()で再びquickfixlistにいれてやると
逆順になったものが:clistなんかで取得できるね
sort() getqflist() setqflist() あたりを調べれば簡単にかけると思う
0825名無しさん@お腹いっぱい。
2007/12/07(金) 00:08:21こんな感じか
0826名無しさん@お腹いっぱい。
2007/12/07(金) 19:23:28出来ました!ありがとう
0827名無しさん@お腹いっぱい。
2007/12/07(金) 21:40:50うめーな
reverse()は知らなかった
0828名無しさん@お腹いっぱい。
2007/12/09(日) 13:37:000829名無しさん@お腹いっぱい。
2007/12/09(日) 13:51:210830名無しさん@お腹いっぱい。
2007/12/09(日) 14:39:47頭にバグがある。
0831名無しさん@お腹いっぱい。
2007/12/09(日) 14:44:15でも、そういや秀丸とかプロポーショナル使えるんだっけ?
あれ、矩形処理とかどうやってんの?
0832名無しさん@お腹いっぱい。
2007/12/09(日) 15:22:47頭
0833名無しさん@お腹いっぱい。
2007/12/09(日) 16:59:11>あれ、矩形処理とかどうやってんの?
秀丸でプロポーショナルは使えるけど、
その代わり矩形処理(BOX選択と呼んでいる)はできなくなると
ヘルプに注意書きがある。
0834名無しさん@お腹いっぱい。
2007/12/09(日) 17:04:12言いだしっぺの法則... というか自分で作らん限りは出てこないだろうな
0835名無しさん@お腹いっぱい。
2007/12/09(日) 17:51:07なるほど、納得
犠牲はつきもの、ってことか
綺麗は綺麗なんだろうけど、必要性を感じないな、プロポーショナルフォント
必要だという人は、見栄えにこだわってんの?
それともAAとか作りたいのかね
0836名無しさん@お腹いっぱい。
2007/12/09(日) 18:06:16AA職人にとっては多分便利なんだろうな
0837名無しさん@Vim%Chalice
2007/12/09(日) 19:24:300838名無しさん@お腹いっぱい。
2007/12/09(日) 19:30:060839名無しさん@お腹いっぱい。
2007/12/09(日) 21:47:300840名無しさん@お腹いっぱい。
2007/12/10(月) 15:08:28なんといっても密度が高い。
0841名無しさん@お腹いっぱい。
2007/12/10(月) 18:06:070842名無しさん@お腹いっぱい。
2007/12/11(火) 00:47:57:map! hoge #333333
実際に、jvimでhogeと入力すると、
K33333
と入力されます。
なぜ、#333333と入力されずに、K33333と入力されるのでしょうか?
0843名無しさん@お腹いっぱい。
2007/12/12(水) 02:40:580844名無しさん@お腹いっぱい。
2007/12/12(水) 03:05:37jvimは、設定ファイル.jvimrcを使うんだ?
ところで試してみたら、hogeと入れたら、#333333と展開されたぞ。
環境に問題があるんじゃないかね?
0845名無しさん@お腹いっぱい。
2007/12/13(木) 23:40:06なんて文があって、カーソルを右括弧に持っていくと
対応する左括弧が反転するなんてことできるでしょうか?
0846名無しさん@お腹いっぱい。
2007/12/14(金) 01:07:190847名無しさん@お腹いっぱい。
2007/12/14(金) 01:20:100848名無しさん@お腹いっぱい。
2007/12/14(金) 09:15:26'sessionoptions'に"winpos"と"winsize"が含まれていれば、セッションファイルに
ウィンドウ位置とサイズが保存されるらしい。
これはデフォルトで含まれているので、これ:
http://vimwiki.net/?tips%2F53
をやっとけば多分望みの動作になるかと。
>>845
Vim7ではデフォルトでなると思うけど。
http://www.ac.cyberhome.ne.jp/~yakahaira/vimdoc/pi_paren.html
0849名無しさん@お腹いっぱい。
2007/12/14(金) 23:04:27というんだけど、うちではできないみたい。Vim 7.1.patch 1-145。matchit最新
ちゃんとできる人いる?
Foo()
{
// {
}
http://article.gmane.org/gmane.editors.vim.devel/17079
0850名無しさん@お腹いっぱい。
2007/12/14(金) 23:27:14した?
0851名無しさん@お腹いっぱい。
2007/12/14(金) 23:36:44:h matchit-activateに
>Now, |b:match_words| is defined in many of the default |filetype-plugin|s instead.)
とあるけど c.vim は設定してくれないのね。
0852名無しさん@お腹いっぱい。
2007/12/15(土) 00:08:35ランタイムファイルはちょこちょこ更新されてんだけど
いちいちリリースしてくれないしCVSアクセスもないのよね…
0853名無しさん@お腹いっぱい。
2007/12/15(土) 00:40:56なんかaapでさっくり更新でけた
いままでの不満がいっきに解消された気分
0854名無しさん@お腹いっぱい。
2007/12/15(土) 02:46:000855名無しさん@お腹いっぱい。
2007/12/15(土) 08:38:07まぁaapっつっても更新ファイルはファイル名とmd5の羅列だからどうとでもなるか
0856名無しさん@お腹いっぱい。
2007/12/15(土) 08:55:160857名無しさん@お腹いっぱい。
2007/12/15(土) 12:40:25:python os.chdir(hoge) すると Vim のカレントディレクトリまで変わってしまい
支障をきたすという話。
:ruby でも同じだった。だめだこりゃ。
0858パンチョ伊藤 ◆spu.cGrsso
2007/12/15(土) 16:24:38Emacsなら変わんねぇよ。 Emacs使えよおまえ。
0859名無しさん@お腹いっぱい。
2007/12/15(土) 19:31:580860名無しさん@お腹いっぱい。
2007/12/15(土) 20:00:200861Zeno ◆5nZQbNmQPs
2007/12/15(土) 21:15:39>>859
君の「優れた」の定義によるが、Emacs 上ではできるが Vim 上ではできない事
の方がその逆よりも多いのは確かだ。
import os
prevpwd = os.getcwd()
を始めに自動的に実行してから、KeyboardInterrupt などのExceptionを
キャッチして、それと同時に os.chdir(prevpwd) すれば良いのではないのかね?
0862名無しさん@お腹いっぱい。
2007/12/15(土) 21:17:100863パンチョ伊藤 ◆spu.cGrsso
2007/12/15(土) 21:27:42お前、「目糞鼻糞」って表現好きだよな? 馬鹿の一つ覚えってやつか?
この板の別のスレでも言ってたろ?
0864名無しさん@お腹いっぱい。
2007/12/16(日) 02:34:38>:map <F4> :exe "pyfile " . expand("%")<CR>
結局こういう使い方は駄目ということだな。
他にインタープリタとvimで共有されるのは何だ?環境変数、ファイルディスクリプタ?
逆にこれだけ密につながっているということは、なんかすごいことができないかな。
0865名無しさん@お腹いっぱい。
2007/12/17(月) 08:36:43こっちでやっとくれ。
Vim vs Emacs (Editor War)
http://pc11.2ch.net/test/read.cgi/unix/983911547/
0866名無しさん@お腹いっぱい。
2007/12/19(水) 12:45:39どうすればできますか?
今はメニューから「コピー」ボタンを選択しているのですが、
キーボードで完結したいなと。
0867名無しさん@お腹いっぱい。
2007/12/19(水) 13:15:370868名無しさん@お腹いっぱい。
2007/12/19(水) 23:08:22:help gui-clipboardを見てみよう
0869名無しさん@お腹いっぱい。
2007/12/20(木) 14:05:04どうもありがとうございます。
無事できました。
0870名無しさん@お腹いっぱい。
2007/12/21(金) 00:05:160871名無しさん@お腹いっぱい。
2007/12/21(金) 00:58:25端末がrawモードになってるからかな。
カレントディレクトリの問題はvim側で復元すればいいと思うけど。
:let prevpwd=getcwd()
:pyfile %
:exe "cd ".prevpwd
0872名無しさん@お腹いっぱい。
2007/12/21(金) 10:09:37引数オプションなしで対応は可能でしょうか。例えばvimrcファイルを何かすることによって・・・
0873名無しさん@お腹いっぱい。
2007/12/21(金) 19:51:47どうやったら復帰できるのしょうか?
0874名無しさん@お腹いっぱい。
2007/12/21(金) 22:35:480875名無しさん@お腹いっぱい。
2007/12/22(土) 09:40:530876名無しさん@お腹いっぱい。
2007/12/23(日) 11:57:00vimを起動できるらしいが、全然成功しない。
0877名無しさん@お腹いっぱい。
2007/12/23(日) 14:28:53http://up2.viploader.net/upphp/src/vlphp109471.jpg
0878名無しさん@お腹いっぱい。
2007/12/23(日) 21:28:230879名無しさん@お腹いっぱい。
2007/12/23(日) 23:38:450880名無しさん@お腹いっぱい。
2007/12/24(月) 00:27:40■ このスレッドは過去ログ倉庫に格納されています