使用NERDtree-Vim插件复制路径文件



有没有办法在Vim的NERDtree插件中复制文件的路径?

更好的是:是否有一些插件可以进行与Sublime Text的SideBarEnhancements插件相同的操作?

NERD_tree自带扩展系统;只需将以下片段放入~/.vim/nerdtree_plugin/yank_mapping.vim:

call NERDTreeAddKeyMap({
         'key': 'yy',
         'callback': 'NERDTreeYankCurrentNode',
         'quickhelpText': 'put full path of current node into the default register' })
function! NERDTreeYankCurrentNode()
    let n = g:NERDTreeFileNode.GetSelected()
    if n != {}
        call setreg('"', n.path.str())
    endif
endfunction

当然,您可以调整默认密钥(yy(并注册(";使用+作为剪贴板(。

我想你真正需要的是像那个出色的插件这样的上下文菜单?

这是NERDTree内置的。

只需点击你高亮显示的节点上的m,你就会看到一个新窗口弹出,询问你想做什么。基本功能有:添加、删除、移动、复制。

还有一个插件可以让你搜索(使用grep(,无论是单个文件还是整个突出显示的目录。

NERDTree还为您在该上下文窗口中轻松构建的任何自定义操作提供了API。

这是我用快速谷歌为NERDTree找到的:CopyPath

然而,听起来你正试图将vim制作成Sublime Text。Vim在文本编辑方面往往与大多数文本编辑有着截然不同的哲学。在我个人看来,与vim合作往往比反对它更好。这是Vimcasts的德鲁·尼尔的一篇很好的帖子,解释了分裂探险家的好处。

插入路径的更具活力的方法可能是使用文件完成。在插入模式下,您可以通过按下<c-x><c-f>来触发此完成,然后使用<c-p><c-n>(分别为上一个和下一个(浏览菜单。如果您想插入当前缓冲区路径,您可以通过%寄存器(例如"%p(粘贴它,或者在插入/命令行模式下按下<c-r>%

有关更多帮助,请参阅:

:h ins_completion
:h i_CTRL-R
:h quote%
:h registers

最新更新