Si vous voulez mettre le nom du tampon courant dans votre presse-papiers au niveau du système, essayez de modifier le registre @ +:
" relative path
:let @+ = expand("%")
" full path
:let @+ = expand("%:p")
" just filename
:let @+ = expand("%:t")
Modifier 20140421: J'utilise souvent ces , donc j'ai créé quelques raccourcis. Linux Vims apparently operate slightly differently than Mac Vims, donc il y a un cas particulier pour cela aussi. Si vous mettez ce qui suit dans votre ~/.vimrc
:
" copy current file name (relative/absolute) to system clipboard
if has("mac") || has("gui_macvim") || has("gui_mac")
" relative path (src/foo.txt)
nnoremap <leader>cf :let @*=expand("%")<CR>
" absolute path (/something/src/foo.txt)
nnoremap <leader>cF :let @*=expand("%:p")<CR>
" filename (foo.txt)
nnoremap <leader>ct :let @*=expand("%:t")<CR>
" directory name (/something/src)
nnoremap <leader>ch :let @*=expand("%:p:h")<CR>
endif
" copy current file name (relative/absolute) to system clipboard (Linux version)
if has("gui_gtk") || has("gui_gtk2") || has("gui_gnome") || has("unix")
" relative path (src/foo.txt)
nnoremap <leader>cf :let @+=expand("%")<CR>
" absolute path (/something/src/foo.txt)
nnoremap <leader>cF :let @+=expand("%:p")<CR>
" filename (foo.txt)
nnoremap <leader>ct :let @+=expand("%:t")<CR>
" directory name (/something/src)
nnoremap <leader>ch :let @+=expand("%:p:h")<CR>
endif
Ensuite, par exemple <leader>cf
copiera le chemin relatif du tampon courant (le leader par défaut est backslash (\
)). Je les utilise souvent pour exécuter des commandes sur un fichier ou faire d'autres choses sur la ligne de commande. Je n'utilise pas vraiment le nom du dernier nom de fichier/répertoire.
Vous pourriez envisager de correspondances plus intuitives comme <leader>cfr
pour le parent, <leader>cfa
d'absolu, <leader>cff
pour nom de fichier juste, <leader>cfd
pour le répertoire.
similaires à http://stackoverflow.com/q/741024/80161 et http://stackoverflow.com/q/2233905/80161 –
Pour le presse-papiers: http: //vi.stackexchange.com/questions/3686/copy-the-full-path-of-current-buffer-to-clipboard –