如何使 netrw 列表 .h 和 .c 文件成对在一起?
how to make netrw list .h and .c files together as pairs?
netrw :E 可以成对显示 .h 和 .c 文件吗?
例如:
file1.h
file1.c
file2.h
file2.c
file3.h
file3.c
目前我的 netrw :E 按以下顺序列出文件:
file1.h
file2.h
file3.h
file1.c
file2.c
file3.c
根据我从 :h netrw-sort-sequence
了解到的情况,g:netrw_sort_sequence
设置默认将 .h
个文件优先于 .c
个文件。
您可以将以下内容添加到 vimrc
文件以更改默认行为:
let g:netrew_sort_sequence = '[\/]$,\<core\%(\.\d\+\)\=,\.[a-np-z]$,\.cpp$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$'
注意:缺少 .h
和 .c
扩展名。
关于切换文件
除了使用像 netrw 又名 :Explore
这样的文件浏览器之外,还有很多(我认为更好的)文件切换方式。仅举几例:
- 模糊查找器,例如CtrlP
- Projectionist 对于结构良好的项目
- 使用
:find
和 'path'
- 使用
%
表示当前文件。参见 :h :_%
- 使用
<tab>
完成(以及 <c-d>
)和 :e
(也接受 glob)
对于 C 项目,您有一些不错的 .c
<-> .h
切换选项。
插件
切换插件,如 fswitch,这是一个 C/C++ .h/.c 切换器。请参阅 :h fswitch-setup
了解更多信息。
还有一些其他插件可以做类似的事情:altr and a.vim 仅举几例。
原版 Vim
如果您不喜欢插件,那么您可以使用 %
技巧。例如:sp %<.h
或者可能是一个快速而肮脏的映射:
nnoremap <f4> :e %:p:s,.h$,.X123X,:s,.c$,.h,:s,.X123X$,.c,<cr>
有关详细信息,请参阅以下 vim 维基页面:Easily switch between source and header file
netrw :E 可以成对显示 .h 和 .c 文件吗?
例如:
file1.h
file1.c
file2.h
file2.c
file3.h
file3.c
目前我的 netrw :E 按以下顺序列出文件:
file1.h
file2.h
file3.h
file1.c
file2.c
file3.c
根据我从 :h netrw-sort-sequence
了解到的情况,g:netrw_sort_sequence
设置默认将 .h
个文件优先于 .c
个文件。
您可以将以下内容添加到 vimrc
文件以更改默认行为:
let g:netrew_sort_sequence = '[\/]$,\<core\%(\.\d\+\)\=,\.[a-np-z]$,\.cpp$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$'
注意:缺少 .h
和 .c
扩展名。
关于切换文件
除了使用像 netrw 又名 :Explore
这样的文件浏览器之外,还有很多(我认为更好的)文件切换方式。仅举几例:
- 模糊查找器,例如CtrlP
- Projectionist 对于结构良好的项目
- 使用
:find
和'path'
- 使用
%
表示当前文件。参见:h :_%
- 使用
<tab>
完成(以及<c-d>
)和:e
(也接受 glob)
对于 C 项目,您有一些不错的 .c
<-> .h
切换选项。
插件
切换插件,如 fswitch,这是一个 C/C++ .h/.c 切换器。请参阅 :h fswitch-setup
了解更多信息。
还有一些其他插件可以做类似的事情:altr and a.vim 仅举几例。
原版 Vim
如果您不喜欢插件,那么您可以使用 %
技巧。例如:sp %<.h
或者可能是一个快速而肮脏的映射:
nnoremap <f4> :e %:p:s,.h$,.X123X,:s,.c$,.h,:s,.X123X$,.c,<cr>
有关详细信息,请参阅以下 vim 维基页面:Easily switch between source and header file