在VIM中打开下一个文件

时间:2014-09-03 06:19:52

标签: vim buffer

目录中有以下文件:

" ============================================================================
" Netrw Directory Listing                                        (netrw v149) 
"   /home/.../content
"   Sorted by      name
"   Sort sequence: [\/]$,\<core\%(\.\d\+\)\=\>,\.h$,\.c$,\.cpp$,\~\=\*$,*,\.o$...
"   Quick Help: <F1>:help  -:go up dir  D:delete  R:rename  s:sort-by  x:exec
" ============================================================================
../
./
.swo
1
10-1
10-2
10-3
10-4
10-5
10-6
2
3
4
5
6
7
8-1
8-2
8-3
9-1
9-2
9-3
9-4
9-5

打开10-2缓冲区后,如何打开以编辑下一个文件(10-3)?

回去怎么办?

现在我做:Ex然后转到下一个文件。

4 个答案:

答案 0 :(得分:4)

答案 1 :(得分:2)

您可以加载所有文件:

:args *

然后使用:bn:bp切换。

编辑:好的,宏观时间......使用这些映射:

nmap <leader>[ :Ex<CR>k<CR>
nmap <leader>] :Ex<CR>j<CR>

请注意,这种情况取决于netrw的<CR>映射,因此您无法使用nnoremap

答案 2 :(得分:2)

您可以尝试此映射:

nnoremap <key> :setlocal bufhidden=wipe<CR>:edit<Space>

动作镜头(映射不太精确,但它做同样的事情):

enter image description here

答案 3 :(得分:0)

我认为直接的解决方法是在项目中处理缓冲区时需要的所有文件,然后根据需要移动到下一个或上一个缓冲区。 例如:如果您的项目中此时需要三个文件:

file1.txt
file2.txt
file3.txt

使用以下命令将所有三个文件放入vim缓冲区:

vim file1.txt file2.txt file3.txt

然后根据需要打开每个缓冲区:bn获取下一个缓冲区和:bp获取前一个缓冲区

:bn
:bp

(可选)您还可以在vim中编辑文件时在缓冲区中打开新文件。命令是:

:e <name of the new file>

然后你可以使用:bn或:bp来到下一个或上一个缓冲区