Vim Part14 at UNIX
[2ch|▼Menu]
779:名無しさん@お腹いっぱい。
07/11/22 00:30:38
ノートパソコンに入れて使ってみたらESCの押し間違いでF1押して
ヘルプが開いてしまいます。。F1でヘルプを開くのをとめたいのですが
どうすればよいでしょうか・・・。:hはよく使います。おねがいます。

780:名無しさん@お腹いっぱい。
07/11/22 00:41:17
>>779
:help <Nop>

781:名無しさん@お腹いっぱい。
07/11/22 12:09:00
キーワードを2つ以上使い分けてnやNを利用できないでしょうか?

例えば検索キーがword1、word2の二つあったとすると、
・nを押したらカーソル位置以降のword1を検索
・何かのキーを押したらカーソル位置以降のword2を検索

という風にしたいのです。
よろしくお願いします。

782:名無しさん@お腹いっぱい。
07/11/22 12:34:36
/のあとカーソルキーで検索履歴をたどるのではダメ?

783:名無しさん@お腹いっぱい。
07/11/22 13:15:09
別のウィンドウでもうひとつvim動かした方がよくない?

784:名無しさん@お腹いっぱい。
07/11/22 14:25:13
履歴のほうならhistget("search",-2)で一つ前の検索語を取得できるな
helpで
> |: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プラグインなら検索語を色分けできる

785:名無しさん@お腹いっぱい。
07/11/22 14:26:36
:history
:history search
histget()
あたりのhelpよめばほかに何かいいものが浮かぶかもしれない

786:名無しさん@お腹いっぱい。
07/11/22 22:26:08
>>780
ありがとうございます!できました!

787:名無しさん@お腹いっぱい。
07/11/23 20:33:28
/search1/;/search2/
がよくわからん。だれか教えてけれ
:help //; でドキュメントは見れるんだけどな

788:名無しさん@お腹いっぱい。
07/11/23 23:19:41
>>787
何が分からないのかがよくわかんないんだけど ";"のこと?
範囲指定の","と";"の違いですか?もしそうなら cmdline-rangesを参考に。
そうじゃなければスマソ。


789:名無しさん@お腹いっぱい。
07/11/24 14:25:41
テンプレートを入力するプラグインを書きました。以下宣伝です。
URLリンク(ripjohn.net)
URLリンク(ripjohn.net)
内容:
>>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>で最後のプレースホルダ「<++>」が削除され、入力開始。

簡素ですが、コード書きやマークアップ文書の編集には大体間に合うんじゃないかと思います。
ご意見いただければ幸いです。

790:名無しさん@お腹いっぱい。
07/11/24 14:34:56
>>760
折り畳みで間に合うんじゃないですか? cf. :help folding
例:
 vim: set foldmethod=marker :
1章 供犠 {{{
1.1 供犠の機能 {{{
  ほげほげ
 }}}
1.2 供犠の危機 {{{
  うんたらかんたら
 }}}
}}}
2章 オイディプスと贖罪のいけにえ {{{
  ふーばー
}}}

って感じで。
foldmethod=exprで、foldexprに判別式を設定すれば
もうちょっとスマートに書けます。

791:781
07/11/24 15:17:18
レスありがとうございます。

>>781
シーケンシャルでなくランダムアクセスでやりたいです。
Googleツールバーのように、複数のキーワードのボタンが勝手に出来て、
好きなのを押せばそのキーワードでページ内検索できるのがすごく便利だなと思ったので。
mで登録、`で移動と同様のやり方で検索キーを使い分けられればベストです。

>>784
ありがとうございます!これでほぼ解決できました。
:S2などでキーを切り替えてn、Nで次々に飛べるのでやみつきです。



792:名無しさん@お腹いっぱい。
07/11/25 22:59:02
>>784
これどうよ
検索履歴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>



793:名無しさん@お腹いっぱい。
07/11/27 21:37:00
すいません、素朴な疑問があるのですが

カーソル移動をホームポジションに割り当てたところで、あるいはwやbを用意したところで
エスケープキーを押す必要があると、かえって使いにくいと思わないですか?

Ctrl+M や Ctrl+H みたいなことができるなら、ギリギリまでホームポジションに手を置いたまま作業ができそうですが
いちいちEscまで手を伸ばすのは結構しんどいと思うのですが・・・

つまらない事かもしれませんが、Vimをバリバリ使っている人がどう思ってるのか聞きたいです。

794:名無しさん@お腹いっぱい。
07/11/27 22:09:26
Ctrl+[ を使うからホームポジション崩れませんがな

795:名無しさん@お腹いっぱい。
07/11/27 22:17:58
Ctlr+C使ってる

796:名無しさん@お腹いっぱい。
07/11/27 22:27:13
Ctrl+C 潰しちゃあかんやろ

797:名無しさん@お腹いっぱい。
07/11/27 22:27:30
エスケープキーはファンクションキーと同じでvimに限らずほとんど触ることがないな
一応ついてるキーボードだけど

798:名無しさん@お腹いっぱい。
07/11/27 22:40:20
" alt + i 連打で () で囲まれた範囲を拡大選択
nnoremap <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"); が選択される感じ

799:793
07/11/27 23:14:41
あうあうー
こんな便利なキーがあったとは・・・orz


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4772日前に更新/186 KB
担当:undef