0

私はしばらくの間 Vim を使用してきましたが、ようやく何とか「流暢」になりつつあると感じていますが、私が見た機能リスト、ビデオ、およびその他のもの (特に、Tim Visher の Vimgolf in Emacs シリーズ) は本当にEmacsを試してみるように説得しました。

そのため、この 1 週間、私はほぼ Emacs だけを使用してきました。Vim で慣れ親しんだいくつかの概念 (主にアクションと移動のスタイルci"など) が恋しいですが、Emacs で本当に気に入ったことの 1 つは、Isearch を使用してファイルを移動する方法です。

たとえば、関数fnが呼び出されている行に移動したい場合、移動先のポイントと位置の間に 'fn' のインスタンスが他に 2 つある場合は、C-s fn C-s C-s. Vim で同じことをしたい場合は、 のようなことをしなければ/fn <CR> n n :noh <CR>なりません#G wwwww...

だから私の質問は: Vim で検索を使用して Emacs の動きの効率をエミュレートする方法はありますか? 検索を使用する必要はありません。上で説明した面倒な行に移動していくつかの単語を転送する以外の何かを探しているだけです。

編集:効果的な Emacsの項目 4 は、私が達成しようとしていることをうまく説明しています。

4

3 に答える 3

2

あなたのリンクで説明されていることは、まさにVimでの私の主要な移動手段です。/foo<CR>nnインクリメンタルフォワード検索と?bar<CR>nnインクリメンタルバックワード検索です。

<C-s>foo<C-s><C-s>andで何がより効率的かはわかりません<C-r>foo<C-r><C-r>。それはさらに多くのキーストロークです!

:set hlsearchとにかく、それはあなたの問題だと思います。すべての一致がビューポートに含まれている場合は問題ありませんが、一部の一致が非表示になるとすぐに役に立たなくなります。私は持っていないset hlsearchので/foo<CR>、私にとって非効率とは正反対です。

さて、別の問題は、同じファイルに同じ名前の関数が (少なくとも) 3 つあることです…</p>

Vim には素晴らしい text-ojects があります:}または]m、コードを初めて見るときに非常に便利です。

于 2012-06-03T23:20:23.660 に答える
1

次のキーマップを使用してEmacsをエミュレートできますcnoremap <C-s> <Cr>/<C-p>

Vimには検索よりも移動するためのより良い方法がありますが。ctagsを試しましたか?

また、テキストの表示領域をすばやく移動するには、 EasyMotionプラグインをお勧めします。

于 2012-06-05T10:29:37.510 に答える
0

探していると思います

set incsearch

あなたはそれを結合することができます

set hlsearch

より良い結果を得るために。

「*」もチェックしてください。かなり素晴らしいです。

于 2012-06-03T20:29:39.430 に答える