Is there some way to copy the path of a file in the Vim's NERDtree plugin?
Better: is there some plugin to make the same operations the SideBarEnhancements plugin of Sublime Text does?
Is there some way to copy the path of a file in the Vim's NERDtree plugin?
Better: is there some plugin to make the same operations the SideBarEnhancements plugin of Sublime Text does?
NERD_tree comes with its own extension system; just put the following fragment into ~/.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
Of course, you can adapt the default key (yy
), and register ("
; use +
for the clipboard).
/home
? –
Bollworm fnamemodify()
function (inside the above setreg()
call). –
Adalbertoadalheid call setreg('"', (fnamemodify(n.path.str(), ':.')))
and the magic happened! Thank you again! –
Bollworm fnamemodify()
is not necessary. –
Lafferty This is what I found for NERDTree with a quick google: CopyPath
However it sounds like you are trying to make vim into Sublime Text. Vim tends to have a very different philosophy on text editing than most text editors. In my personal opinion it is often better to work with vim than against it. Here is a nice post by Drew Neil of Vimcasts explaining the benefit to split explorers.
Probably the more vim way of inserting a path is to use file completion. When in insert mode you can trigger this completion by pressing <c-x><c-f>
then go through the menu with <c-p>
and <c-n>
(previous and next respectively). If you want to insert the current buffers path you can paste it via the %
register e.g."%p
or in insert/command-line mode press with <c-r>%
.
For more help see:
:h ins_completion
:h i_CTRL-R
:h quote%
:h registers
I guess what you really need is a context menu like that sublime plugin?
That's built-in with NERDTree.
Just hit m
on the node you highlighted and you'll see a new window pop under asking you what you want to do. The basic functions are: Add, Delete, Move, Copy.
There is also a plugin to let you search(using grep), either for single file or whole directory highlighted.
NERDTree also provides API for your easily built any custom actions in that context window.
m l
depends on the terminal (sometimes hold shift and double click, sometimes drag over the filepath and ctrl+c, etc). –
Lioness © 2022 - 2024 — McMap. All rights reserved.