আপনি যদি আপনার সিস্টেম-স্তরের ক্লিপবোর্ডে বর্তমান বাফার ফাইলের নামটি রাখতে চান তবে নিবন্ধটিকে @ + এ পরিবর্তন করার চেষ্টা করুন:
" relative path
:let @+ = expand("%")
" full path
:let @+ = expand("%:p")
" just filename
:let @+ = expand("%:t")
20140421 সম্পাদনা করুন: আমি সাধারণত এগুলি ব্যবহার করি, তাই আমি কিছু শর্টকাট তৈরি করেছি। লিনাক্স ভিমস দৃশ্যত ম্যাক ভিমসের চেয়ে কিছুটা ভিন্নভাবে কাজ করে , তাই এর জন্য একটি বিশেষ কেসও রয়েছে। আপনি যদি নিম্নলিখিতটি রাখেন আপনার ~/.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
তারপরে উদাহরণস্বরূপ <leader>cf
বর্তমান বাফারের আপেক্ষিক পাথ অনুলিপি করবেন (ডিফল্ট লিডার ব্যাকস্ল্যাশ হয় (\
))। আমি প্রায়শই এগুলি কোনও ফাইলের কমান্ড চালানোর জন্য বা কমান্ড লাইনে অন্য কিছু করার জন্য ব্যবহার করি। আমি প্রায়শই শেষ ফাইল নাম / ডিরেক্টরি নাম ব্যবহার করি না।
আপনি আরও স্বজ্ঞাত ম্যাপিংগুলি সম্পর্কিত হিসাবে সম্পর্কিত হিসাবে বিবেচনা করতে পারেন <leader>cfr
, <leader>cfa
নিখুঁত <leader>cff
জন্য, কেবল ফাইলের নাম <leader>cfd
জন্য, ডিরেক্টরিতে for