আমি যে ফাইলটি সম্পাদনা করছি তার নামকরণ কীভাবে করব?


38

আমি যে ফাইলটি সম্পাদনা করছি তাতে ভিমের মধ্যে থেকে নাম পরিবর্তন করা সম্ভব? বর্তমানে আমি যা করছি তা ভিম থেকে প্রস্থান করা, ফাইলটির নতুন নামকরণ এবং পুনরায় ভিম থেকে খোলার।



আমি নিওভিমে এটি করতে আগ্রহী
মিগুয়েল ডি ভ্যাল-বোরো

উত্তর:


34

ব্যবহার করে আপনি কোনো ভিন্ন নামে ফাইল সংরক্ষণ করতে পারিনি :w। তবে এই অপারেশনটি পুরানো ফাইল সরিয়ে ফেলবে না এবং 'পুরাতন' ফাইলটি আপনার বাফারে থাকবে, সুতরাং আপনার 'পুরানো' ফাইলটিতে কোনও পরিবর্তন প্রয়োগ করা হবে।

:saveasআপনার নতুন ফাইলটি সংরক্ষণ করে এবং এটি একটি নতুন বাফারে খোলে। তবে এটি পুরানো ফাইল মুছবে না।

আমি ব্যবহার tpope / তেজ-eneuch করার :Moveফাইল।

: সরান: একসাথে ডিস্কে একটি বাফার এবং ফাইলটির নাম পরিবর্তন করুন।


এর একটি খারাপ দিক :wবা :saveasএটি হ'ল আপনি কোনও স্ক্রিপ্ট সম্পাদনা করলে এটি কার্যকর করার অনুমতিটি হারাবে। netrwপুনর্নবীকরণ অনুমতিগুলি রাখা হবে।
উইসবুকি

10

আপনি নেত্রউতে নেমে সেখানে ফাইলটির নাম পরিবর্তন করতে পারেন।

আপনি যে ফাইলটি সম্পাদনা করছেন তা যদি বর্তমান ডিরেক্টরিতে থাকে তবে তা করুন:

:edit .

ফাইলটিতে নেভিগেট করুন, টিপুন Rএবং নামটি পরিবর্তন করুন। Enterফাইলটি সম্পাদনা করতে টিপুন ।

যদিও একটি সতর্কতা রয়েছে: আসল বাফার বাফারদের তালিকায় রয়ে গেছে। আপনি যদি এটিতে স্যুইচ করেন তবে এটি খালি।

আপনি যে ফাইলটি সম্পাদনা করছেন সেটি যদি অন্য কোনও ডিরেক্টরিতে থাকে তবে আপনি ফাইলের ডিরেক্টরিতে এটি দিয়ে পরিবর্তন করতে পারেন:

:cd %:p:h

আপনি যদি পুরো ভিম সেশনের জন্য ডিরেক্টরিটি কেবলমাত্র বর্তমান বাফারের জন্য পরিবর্তন করতে না চান তবে আপনি পরিবর্তে এটি করতে পারেন:

:lcd %:p:h

2
সরাসরি টাইপ :edit %:p:hকরাও কাজ বলে মনে হচ্ছে।
ম্লাদেন জাবলানোভিć

:Eএছাড়াও নেট উন্মুক্ত হবে
উইসবাকি

6

আমি বছরের পর বছর ধরে এর জন্য পুনর্নাম 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>

3

সবচেয়ে ভাল উপায় হ'ল ব্যবহার করা :Move, যেমনটি অরংটক্স বলেছে। সম্পূর্ণতার জন্য, আপনি !কমান্ড মোডে একটি bang ( ) ব্যবহার করে vi সম্পাদকদের টার্মিনাল কমান্ডও সম্পাদন করতে পারেন ।

:!mv {current_file} {new_name}
:e {new_name}

তবে এই পদ্ধতিটি আপনার বাফার তালিকা থেকে পুরানো বাফারটি সরিয়ে দেয় না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.