我在linux上使用带有vim的ctag。
一旦我在任何标签上按enter键,焦点就会转到源代码窗口,为了重新关注taglist窗口,我必须执行两次:TlistToggle操作(变量'Tlist_GainFocus_On_ToggleOpen' set to 1) --这基本上关闭了taglist窗口,并以获得的焦点再次打开它。
我只是好奇我们是否可以在taglist窗口和源代码窗口之间切换焦点而不关闭taglist窗口?
发布于 2016-01-19 11:39:30
:help window...gives有关Vim windows的章节,与
:help window-move-cursor...being是你要找的分章:
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-19 12:25:38
这不是TlistOpen的目的吗?
否则,如果taglist窗口有一个可以识别的名称,您可以使用let b = bufwinnr(the_buffer_name_or_id)提取窗口号,然后使用exe b.'wincmd w'跳转到它。您可能需要使用类似于let buf_id = filter(range(1,bufnr('$')), 'v:val =~ "THEPATTERN"'))的内容搜索正确的缓冲区。
https://stackoverflow.com/questions/34875727
复制相似问题