Скопируйте файл пути с помощью плагина NERDTree Vim

есть ли способ скопировать путь к файлу в плагине NERDTree Vim?

лучше: есть ли какой-нибудь плагин, чтобы сделать те же операции SideBarEnhancements плагин Sublime Text делает?

3 ответов


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 с быстрым google:CopyPath

однако похоже, что вы пытаетесь сделать vim в возвышенный текст. Vim имеет тенденцию иметь совершенно другую философию редактирования текста, чем большинство текстовых редакторов. По моему личному мнению, часто лучше работать с vim, чем против него. Вот хороший пост Дрю Нила из Vimcasts объяснением польза для исследователей split.

наверное, больше vim способ вставки пути-использовать завершение файла. Когда в режиме вставки вы можете запустить это завершение, нажав <c-x><c-f> затем перейдите в меню с <c-p> и <c-n> (предыдущий и следующий соответственно). Если вы хотите вставить текущий путь буферов, вы можете вставить его через % Регистрация например"%p или в режиме вставки / командной строки нажмите клавишу <c-r>%.

для получения дополнительной помощи см.:

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

Я думаю, что вам действительно нужно контекстное меню, как этот плагин sublime?

это встроенный с NERDTree.

нажмите m на узле, который вы выделили, и вы увидите новое окно pop под вопросом, что вы хотите сделать. Основные функции: Добавить, удалить, переместить, скопировать.

существует также плагин, который позволяет вам искать (используя grep), либо для одного файла, либо для всего каталога.

NERDTree также предоставляет API для вашего легко создавать любые пользовательские действия в этом контекстном окне.