আমি যে ফাইলটি সম্পাদনা করছি তাতে ভিমের মধ্যে থেকে নাম পরিবর্তন করা সম্ভব? বর্তমানে আমি যা করছি তা ভিম থেকে প্রস্থান করা, ফাইলটির নতুন নামকরণ এবং পুনরায় ভিম থেকে খোলার।
আমি যে ফাইলটি সম্পাদনা করছি তাতে ভিমের মধ্যে থেকে নাম পরিবর্তন করা সম্ভব? বর্তমানে আমি যা করছি তা ভিম থেকে প্রস্থান করা, ফাইলটির নতুন নামকরণ এবং পুনরায় ভিম থেকে খোলার।
উত্তর:
ব্যবহার করে আপনি কোনো ভিন্ন নামে ফাইল সংরক্ষণ করতে পারিনি :w
। তবে এই অপারেশনটি পুরানো ফাইল সরিয়ে ফেলবে না এবং 'পুরাতন' ফাইলটি আপনার বাফারে থাকবে, সুতরাং আপনার 'পুরানো' ফাইলটিতে কোনও পরিবর্তন প্রয়োগ করা হবে।
:saveas
আপনার নতুন ফাইলটি সংরক্ষণ করে এবং এটি একটি নতুন বাফারে খোলে। তবে এটি পুরানো ফাইল মুছবে না।
আমি ব্যবহার tpope / তেজ-eneuch করার :Move
ফাইল।
: সরান: একসাথে ডিস্কে একটি বাফার এবং ফাইলটির নাম পরিবর্তন করুন।
:w
বা :saveas
এটি হ'ল আপনি কোনও স্ক্রিপ্ট সম্পাদনা করলে এটি কার্যকর করার অনুমতিটি হারাবে। netrw
পুনর্নবীকরণ অনুমতিগুলি রাখা হবে।
আপনি নেত্রউতে নেমে সেখানে ফাইলটির নাম পরিবর্তন করতে পারেন।
আপনি যে ফাইলটি সম্পাদনা করছেন তা যদি বর্তমান ডিরেক্টরিতে থাকে তবে তা করুন:
:edit .
ফাইলটিতে নেভিগেট করুন, টিপুন Rএবং নামটি পরিবর্তন করুন। Enterফাইলটি সম্পাদনা করতে টিপুন ।
যদিও একটি সতর্কতা রয়েছে: আসল বাফার বাফারদের তালিকায় রয়ে গেছে। আপনি যদি এটিতে স্যুইচ করেন তবে এটি খালি।
আপনি যে ফাইলটি সম্পাদনা করছেন সেটি যদি অন্য কোনও ডিরেক্টরিতে থাকে তবে আপনি ফাইলের ডিরেক্টরিতে এটি দিয়ে পরিবর্তন করতে পারেন:
:cd %:p:h
আপনি যদি পুরো ভিম সেশনের জন্য ডিরেক্টরিটি কেবলমাত্র বর্তমান বাফারের জন্য পরিবর্তন করতে না চান তবে আপনি পরিবর্তে এটি করতে পারেন:
:lcd %:p:h
:edit %:p:h
করাও কাজ বলে মনে হচ্ছে।
:E
এছাড়াও নেট উন্মুক্ত হবে
আমি বছরের পর বছর ধরে এর জন্য পুনর্নাম 2 প্লাগইনটি ব্যবহার করছি। এটি বর্তমান বাফার এবং ডিস্কে থাকা ফাইল উভয়েরই নাম পরিবর্তন করে:
:Rename {newname}
সম্পাদনা: আমি এটি গিথুবে একটি .vimrc
ফাইল পেয়েছি :
function! RenameFile()
let old_name = expand('%')
let new_name = input('New file name: ', expand('%'), 'file')
if new_name != '' && new_name != old_name
exec ':saveas ' . new_name
exec ':silent !rm ' . old_name
redraw!
endif
endfunction
map <leader>n :call RenameFile()<cr>
সবচেয়ে ভাল উপায় হ'ল ব্যবহার করা :Move
, যেমনটি অরংটক্স বলেছে। সম্পূর্ণতার জন্য, আপনি !
কমান্ড মোডে একটি bang ( ) ব্যবহার করে vi সম্পাদকদের টার্মিনাল কমান্ডও সম্পাদন করতে পারেন ।
:!mv {current_file} {new_name}
:e {new_name}
তবে এই পদ্ধতিটি আপনার বাফার তালিকা থেকে পুরানো বাফারটি সরিয়ে দেয় না।