ভিম - একটি কমান্ডে বাফারটি সংরক্ষণ এবং বন্ধ করুন


25

আমার কাছে একটি ডিরেক্টরিতে একগুচ্ছ পাঠ্য ফাইল রয়েছে এবং আমি জানি যে আমাকে প্রতিটি বিভক্তিকে সম্পাদনা করতে হবে।

আমি দিয়ে প্রশংসার লাইনে শুরু করি

vim *.txt

যা ভিমে পৃথক বাফার হিসাবে ফাইলগুলি খোলায় এবং আমাকে প্রথমটির সাথে সন্ধান করে। আমি এটি সম্পাদনা করি - তারপরে আমি এটি সংরক্ষণ করতে ': ডাব্লু' ব্যবহার করি এবং ': বিডি' বাফারটি বন্ধ করতে এবং পরবর্তীটিতে যেতে চাই।

এটি ': ডাব্লু: বিডি' বাফারটি সংরক্ষণ এবং বন্ধ করতে আমার কাছে দীর্ঘ অনুভূত হয় এবং আমি সন্দেহ করি যে এটি করার আরও একটি ভিম নিনজা উপায় আছে - আপনি যে কাজটিতে কাজ করছেন তাতে বাফার সংরক্ষণ এবং বন্ধ করার পরামর্শের উপায় কী?


আমার পুনরুদ্ধারযোগ্য উপায়টি :nextহ'ল কেবল বাফারে চলে যাওয়া এবং আপনার কাজটি শেষ হয়ে গেলে সমস্ত কিছু লিখে / বন্ধ করা :wqa। এই ধারণা থাকা ব্যক্তিগণ :set hiddenআপনার ~/.vimrc
রোমেনেল

উত্তর:


22

কমান্ড-লাইনে ভিমে ফাইলগুলি প্রেরণ করার সময় সেগুলি কেবল বাফারগুলিতেই খোলা থাকে না, তবে যুক্তি তালিকাটিও তৈরি করে । অতএব, তোমার মত কমান্ড ব্যবহার করতে পারেন :nextএবং :firstতাদের মাধ্যমে নেভিগেট করতে (এবং :argdoব্যাচ প্রসেসিং জন্য, যা একটি ছিমছাম কৌতুক হতে পারে)। আপনার প্রশ্নের জন্য আমি যে আদেশটি প্রস্তাব করছি তা হ'ল :wnext(সংক্ষিপ্ত ফর্ম :wn), যা :writeবর্তমান বাফার এবং তারপরে :nextএকটিতে যায় ।

আপনার স্পষ্টরূপে :bdeleteকোনও বাফার দরকার নেই, বিশেষত যখন আপনি কোনও ফাইলের সেট দিয়ে কমান্ড-লাইন থেকে ভিম চালু করেন এবং তারপরে এটি শেষ হয়ে যায় তখন না। (আমি কেবলমাত্র ব্যতিক্রমগুলির কথা ভাবতে পারি যা সিস্টেমের স্মৃতি সঞ্চয় করতে একটি বিশাল ফাইল আনলোড করা হয়, বা অনেকগুলি বিভিন্ন সম্পাদনার জন্য একটি একক জিভিআইএম উদাহরণ পুনরায় ব্যবহার করা হয়))

তবে, যদি আপনি সত্যিই এটি চান তবে কেবল একটি কাস্টম কমান্ড সংজ্ঞা দিন, যেমন eg

:command Wd write|bdelete

5
আপনি কি ওপি অনুরোধ অর্জন দুটি পদ্ধতি উল্লেখ করেছি, কিন্তু দ্বিতীয় সুস্পষ্ট নয়: :w|bd
জোনো

-> এটি ওপি ব্যবহার করে এমন পদ্ধতির ফিট করার সুবিধা রয়েছে, যদিও আমি রাজি হয়েছি :nextকিছু ক্ষেত্রে আরও বুদ্ধিমান।
জোনো

4

যদিও আমি সম্মত হন যে আপনি না আছে খোলা বাফার আপনি বর্তমানে ব্যবহার করছেন না মুছে ফেলতে, আমি কারণ আমি আছে তাদের মুছে ফেলতে চান তেজ-এয়ারলাইন এর ট্যাব লাইন সক্রিয় উপরের যা শো সব খোলা বাফার সব সময় জানলা. আমার মধ্যে নিম্নলিখিত রয়েছে .vimrc:

nnoremap qq :w\|bd<cr>

qq বর্তমান বাফার সংরক্ষণ করে এবং বন্ধ করে, তবে ভিমের "রেকর্ড ম্যাক্রো" কার্যকারিতাটিও মিস করে (যা দিয়ে আমি ঠিক আছি)।


2
অন্তর্নির্মিত ZZমনে আসে, কিন্তু এটি কেবল বাফার মুছে ফেলার পরিবর্তে ভিমকে পুরোপুরি সংরক্ষণ এবং ছাড়ার সমাপ্তি ঘটে। লোয়ারকেস zzএকটি আকর্ষণীয় বিকল্প ম্যাপিং হতে পারে, যে কেউ ম্যাক্রোকে বর্তমান কার্সার লাইনের দৃষ্টিভঙ্গিটির চেয়ে বেশি মূল্যবান বলে মনে করে।
বিট্রি

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