1

Linuxでvimでctagsを使用しています。

タグでEnterキーを押すとすぐに、フォーカスがソースコードウィンドウに移動し、タグリストウィンドウにフォーカスを戻すには、:TlistToggle(変数'Tlist_GainFocus_On_ToggleOpen' set to1を使用して)2回行う必要があります。これにより、基本的にタグリストウィンドウが閉じられ、次のコマンドで再度開きます焦点を獲得した。

タグリスト ウィンドウを閉じずに、タグリスト ウィンドウとソース ウィンドウの間でフォーカスを切り替えることができるかどうか、ちょっと興味があります。

4

2 に答える 2

3
:help window

...Vim ウィンドウの章を示します。

:help window-move-cursor

...あなたが探しているサブチャプターであること:

4. Moving cursor to other windows           *window-move-cursor*

CTRL-W <Down>                   *CTRL-W_<Down>*
CTRL-W CTRL-J                   *CTRL-W_CTRL-J* *CTRL-W_j*
CTRL-W j    Move cursor to Nth window below current one.  Uses the cursor
        position to select between alternatives.

CTRL-W <Up>                 *CTRL-W_<Up>*
CTRL-W CTRL-K                   *CTRL-W_CTRL-K* *CTRL-W_k*
CTRL-W k    Move cursor to Nth window above current one.  Uses the cursor
        position to select between alternatives.

CTRL-W <Left>                   *CTRL-W_<Left>*
CTRL-W CTRL-H                   *CTRL-W_CTRL-H*
CTRL-W <BS>                 *CTRL-W_<BS>* *CTRL-W_h*
CTRL-W h    Move cursor to Nth window left of current one.  Uses the
        cursor position to select between alternatives.

CTRL-W <Right>                  *CTRL-W_<Right>*
CTRL-W CTRL-L                   *CTRL-W_CTRL-L* *CTRL-W_l*
CTRL-W l    Move cursor to Nth window right of current one.  Uses the
        cursor position to select between alternatives.

CTRL-W w                    *CTRL-W_w* *CTRL-W_CTRL-W*
CTRL-W CTRL-W   Without count: move cursor to window below/right of the
        current one.  If there is no window below or right, go to
        top-left window.
        With count: go to Nth window (windows are numbered from
        top-left to bottom-right).  To obtain the window number see
        |bufwinnr()| and |winnr()|.  When N is larger than the number
        of windows go to the last window.

                        *CTRL-W_W*
CTRL-W W    Without count: move cursor to window above/left of current
        one.  If there is no window above or left, go to bottom-right
        window.  With count: go to Nth window, like with CTRL-W w.

CTRL-W t                    *CTRL-W_t* *CTRL-W_CTRL-T*
CTRL-W CTRL-T   Move cursor to top-left window.

CTRL-W b                    *CTRL-W_b* *CTRL-W_CTRL-B*
CTRL-W CTRL-B   Move cursor to bottom-right window.

CTRL-W p                    *CTRL-W_p* *CTRL-W_CTRL-P*
CTRL-W CTRL-P   Go to previous (last accessed) window.

                        *CTRL-W_P* *E441*
CTRL-W P    Go to preview window.  When there is no preview window this is
        an error.
        {not available when compiled without the |+quickfix| feature}

If Visual mode is active and the new window is not for the same buffer, the
Visual mode is ended.  If the window is on the same buffer, the cursor
position is set to keep the same Visual area selected.

                        *:winc* *:wincmd*
These commands can also be executed with ":wincmd":

:[count]winc[md] {arg}
        Like executing CTRL-W [count] {arg}.  Example: >
            :wincmd j
<       Moves to the window below the current one.
        This command is useful when a Normal mode cannot be used (for
        the |CursorHold| autocommand event).  Or when a Normal mode
        command is inconvenient.
        The count can also be a window number.  Example: >
            :exe nr . "wincmd w"
<       This goes to window "nr".

そうは言っても、マウス サポート ( set mouse=a) を有効にすることで、カーソルを配置したい場所を左クリックするだけで済みます (そしてウィンドウの境界をドラッグして...)。

于 2016-01-19T11:39:30.230 に答える
1

の目的ではないTlistOpenでしょうか。

または、タグリスト ウィンドウに認識可能な名前がある場合は、 でウィンドウ番号を抽出し、 でそのウィンドウlet b = bufwinnr(the_buffer_name_or_id)にジャンプできますexe b.'wincmd w'。次のようなもので正しいバッファを検索する必要があるかもしれませんlet buf_id = filter(range(1,bufnr('$')), 'v:val =~ "THEPATTERN"'))

于 2016-01-19T12:25:38.147 に答える