首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vim-go:如何打开GoFiles返回的文件

vim-go:如何打开GoFiles返回的文件
EN

Stack Overflow用户
提问于 2014-11-04 10:48:13
回答 1查看 215关注 0票数 2

Vim-go插件有一个:GoFile函数来显示依赖于当前包的源文件。输出如下所示:

代码语言:javascript
复制
['/home/tretkow/tut/main.go', '/home/tretkow/tut/test.go']

如何从列表中打开文件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-04 11:23:15

:GoFiles只回显go#tool#Files()的输出。

从代码片段的外观来看,应该可以使用以下内容提取文件名:

代码语言:javascript
复制
:e <C-r>=go#tool#Files()[0]<CR>

或者把这个列表放在一个scratch缓冲区中:

代码语言:javascript
复制
:vnew<CR>
:0put=join(go#tool#files(), '\r')<CR>

/home/tretkow/tut/main.go
/home/tretkow/tut/test.go

并使用gf跳转到光标下的文件。

这里有一个更复杂的解决方案::GoFile命令允许您从:GoFiles命令中选择要通过自定义选项卡完成进行编辑的文件。

代码语言:javascript
复制
" the command
command! -nargs=1 -complete=customlist,GoFilesComplete GoFile call GoFile(<f-args>)

" the completion function
function! GoFilesComplete(ArgLead, CmdLine, CursorPos)
    return filter(go#tool#Files(), 'v:val =~ a:ArgLead')
endfunction

" the :edit wrapper
function GoFile(file)
    execute "edit " . a:file
endfunction

用法:

代码语言:javascript
复制
:GoFile <Tab>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26733223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档