35

カーソルを次のメソッドの先頭/末尾に移動できるネイティブ機能は Vim にありますか? [[]][]、およびについては既に知ってい][ますが、これらは、列 0 にある中かっこでのみ機能するため、仕事をカットしません。したがって、C++ コードをナビゲートする場合などにはほとんど役に立ちません。既に Vim に組み込まれているコマンドはありますか? そうでない場合、それを実装するプラグインをお勧めしますか?

ご協力いただきありがとうございます!

編集:右またはその後に到達するには、ブロック内にいる必要があるため(そのブロック内のより深い範囲内にいる必要はないため)、常に機能するとは限りませ[{ん。}]{}{}

[m編集 2: これは、友人が機能しないコードのリストです。

namespace foo {

#define define_foo         \
    template <class T>     \
    struct foo_traits<X>   \
    {                      \
        using foo = X;     \
    };

template <class T>
struct foo_traits;

define_bar(T*, T*, T*);

template <class T>
struct baz;

template <class T>
struct baz<T&>
{
    static T* apply(T& t) { return &t; }
};

template <class T>
inline T a(T t) { return t; }

}
4

4 に答える 4

72

Vimには「Java[mまたは]m同様の構造化言語用」が組み込まれています。

Vim 関数VBScriptバッチ ファイルなどを処理するカスタム バージョンを作成しました。これらはすべて、正規表現に基づいてカスタム ジャンプ関数を作成するために使用できる、私のCountJump プラグインによって強化されています。

于 2012-08-26T09:01:48.333 に答える
4

次の複製のように見えます: Vim [m motion with c#

たとえば、次の汚いトリックを試すことができます9]}。現在の場所から9番目にジャンプするだけ}です(ネストしすぎていない場合は機能するはずです...)

于 2012-08-26T09:13:01.860 に答える
0

taglist を使用する場合、まさにそれを行う機能を追加しました。言語が taglist でサポートされていれば、Ctrl-up と Ctrl-down を使用して、あるタグから別のタグにジャンプできます。

ここ: https://github.com/man9ourah/taglist

これをあなたの.vimrc.

nmap <silent> <c-up> <plug>(TlistJumpTagUp)     " Map ctrl-up to move one tag up
nmap <silent> <c-down> <plug>(TlistJumpTagDown) " Map ctrl-down to move one tag down
于 2020-06-20T00:04:20.680 に答える