【发布时间】:2012-01-13 18:50:40
【问题描述】:
通常我通过按两次 Ctrl+H 将光标移到屏幕的左边缘来切换到 Nerdtree 文件缓冲区。但是,这意味着当我打开文件时,它们总是在 NERDTree 窗口附近的拆分中。如何在不与 NERDTree 窗口相邻的拆分中打开文件?
【问题讨论】:
通常我通过按两次 Ctrl+H 将光标移到屏幕的左边缘来切换到 Nerdtree 文件缓冲区。但是,这意味着当我打开文件时,它们总是在 NERDTree 窗口附近的拆分中。如何在不与 NERDTree 窗口相邻的拆分中打开文件?
【问题讨论】:
如果您按 o 或回车,NERDtree 将在前一个窗口中打开一个文件。您可以通过按 i 在上一个窗口的拆分中打开它,或者按 s 在垂直拆分中打开它。
听起来您已将 Ctrl-H 映射到 Ctrl-W h。不让 NERDtree 将文件打开到与 NERDTree 窗口相邻的窗口中的技巧是不要让相邻窗口成为前一个窗口。
要实现这一点,请关闭 NERDTree 窗口。 (:NERDTreeToggle,或任何你的映射键是切换NERDTree)。然后移动到要在其中打开文件的相应窗口。然后再次打开 NERDTree。现在您可以在之前使用 o 或 enter... 的窗口中打开文件,或者使用 i 或 s 在拆分中打开文件。
为了避免切换 NERDTree 窗口的打开/关闭,您可能需要设置选项 NERDTreeQuitOnOpen。然后,您只需在要打开文件的窗口中打开 NERDTree。
【讨论】:
i 总是在与 NERDtree 相邻的水平拆分中打开,不管最后一个活动窗口是什么
我通常使用:NERDTreeFind 以便从右侧拆分窗口移动到最左侧的NERDtree。
此命令在 NERDtree 窗口中显示当前打开的文件。基于此,上一个窗口是右侧的窗口。当然,只有当您要打开的文件在目录树中与已打开的文件接近时,这才很方便。
为了快速访问:NERDTreeFind,我将其映射到我的~/.vimrc 中的Ctrl + m:
nnoremap <C-m> :NERDTreeFind<CR>
【讨论】: