0

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
4

1 回答 1

4

据我了解,默认情况下: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 aka 这样的文件浏览器之外,还有很多(我认为更好)在文件之间切换的方法:Explore。仅举几例:

  • 模糊查找器,例如CtrlP
  • 结构良好的项目的投影师
  • 使用:find'path'
  • 用于%表示当前文件。看:h :_%
  • <tab>完成(以及<c-d>)与:e(也接受全局)一起使用

对于 C 项目,您有一些不错的.c<->.h切换选项。

插件

切换插件,例如fswitch,它是一个 C/C++ .h/.c 切换器。请参阅:h fswitch-setup以获取更多信息。

还有一些其他插件可以做类似的事情:altra.vim等等。

香草味

如果插件不是你的东西,那么你可以使用%技巧。例如:sp %<.h

或者也许是一个快速而肮脏的映射:

nnoremap <f4> :e %:p:s,.h$,.X123X,:s,.c$,.h,:s,.X123X$,.c,<cr>

有关更多信息,请参见以下 vim wiki 页面:在源文件和头文件之间轻松切换

于 2015-09-30T19:18:59.643 回答