Czy istnieje sposób na skopiowanie ścieżki pliku w wtyczce NERDtree Vima?Skopiuj plik ścieżki za pomocą wtyczki NERDtree Vim
Lepiej: czy jest jakaś wtyczka do wykonania tych samych operacji, co plugin Sublime Text w wersji SideBarEnhancements?
Czy istnieje sposób na skopiowanie ścieżki pliku w wtyczce NERDtree Vima?Skopiuj plik ścieżki za pomocą wtyczki NERDtree Vim
Lepiej: czy jest jakaś wtyczka do wykonania tych samych operacji, co plugin Sublime Text w wersji SideBarEnhancements?
NERD_tree ma swój własny system rozszerzeń; wystarczy umieścić następujący fragment do ~/.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
Oczywiście, można dostosować klucz domyślny (yy
) i zarejestrować ("
; używać +
do schowka).
Świetna wskazówka, ** Ingo **! Działa, ale jest jakiś sposób na skopiowanie ścieżki z katalogu głównego projektu zamiast '/ home'? –
@ TárcioZemel: Masz na myśli ścieżkę do katalogu głównego projektu? Można go przekształcić za pomocą wbudowanej funkcji 'fnamemodify()' (w powyższym wywołaniu 'setreg()'). –
Świetnie, to wszystko! Właśnie zmieniłem tę linię na 'call setreg ('"', (fnamemodify (n.path.str(), ':.')))) I magia się wydarzyła! Jeszcze raz dziękuję! –
To co znalazłem na NERDTree szybkim google: CopyPath
Jednak to brzmi jak próbujesz uczynić vim w Sublime Text. Vim ma zazwyczaj inną filozofię edycji tekstu niż większość edytorów tekstu. Moim osobistym zdaniem często lepiej jest pracować z vimem niż z nim. Oto miły post autorstwa Drew Neila z Vimcasts wyjaśniający benefit to split explorers.
Prawdopodobnie bardziej vim sposobem wstawiania ścieżki jest użycie uzupełniania pliku. W trybie wstawiania możesz wywołać to zakończenie, naciskając <c-x><c-f>
, a następnie przejść przez menu z <c-p>
i <c-n>
(odpowiednio poprzednia i następna). Jeśli chcesz wstawić bieżącą ścieżkę bufora, możesz wkleić ją przez rejestr %
, np. "%p
lub w trybie wstawiania/trybu wiersza poleceń przy użyciu <c-r>%
.
Więcej Pomocy Zobacz:
:h ins_completion
:h i_CTRL-R
:h quote%
:h registers
Chyba to, czego naprawdę potrzebujesz, to menu kontekstowe jak ten plugin wysublimowanej?
To wbudowane w NERDTree.
Po prostu naciśnij m
na podświetlonym węźle, a zobaczysz nowe okienko z pytaniem, co chcesz zrobić. Podstawowe funkcje to: Dodaj, Usuń, Przenieś, Kopiuj.
Istnieje również wtyczka umożliwiająca wyszukiwanie (przy użyciu polecenia grep), dla podświetlonego pojedynczego pliku lub całego katalogu.
NERDTree udostępnia również interfejs API dla łatwo wbudowanych dowolnych działań niestandardowych w tym oknie kontekstowym.
Istnieje również opcja (l) List, która jest prawdopodobnie tym, o co została poproszona o – valk
Edytuj pytanie, aby wyjaśnić a) co robi wtyczka ST i b) dlaczego równoważne funkcje w Vim nie pasują do rachunku. Co chcesz zrobić z tą nazwą pliku po skopiowaniu? Wstawić go do bieżącego bufora? Wkleić go w innym programie? Uważaj na problem XY. – romainl