ভিম: বিভক্ত উইন্ডোটি না হারিয়ে বাফার মুছুন


149

যখন কোনও বাফার মুছে ফেলা হয় ("বিডি [এলিটি]" কমান্ড), এটি কেবল বাফারটিকে মুছে দেয় না তবে সেই বিভক্ত উইন্ডোটিও সরিয়ে দেয় যা বাফার ছিল।

কোনও বাফার মুছে ফেলার / আনলোড করার এবং উইন্ডোটি বিভক্ত করার কোনও উপায় আছে কি?



এটি আমার পক্ষে ভাল কাজ করেছে।
রাম্পল স্টিলটস্কিন

[এটি একটি DeleteCurBufferNotCloseWindow()ভাল কাজ করে এবং বেশ পঠনযোগ্য] ( স্ট্যাকওভারফ্লো . com / a / 44950143 / 3625404 )।
কুইত্তজি

উত্তর:



326

bp|bd # এটা করবো.


বিশদ: bp("বাফার পূর্ববর্তী") আমাদের বর্তমান উইন্ডোতে একটি আলাদা বাফারে নিয়ে যায় ( bnকাজ করবে), তারপরে bd #("বাফার মুছুন" "বিকল্প ফাইল") বাফারটিকে মুছে ফেলে যা আমরা সবে থেকে সরে এসেছি। দেখুন: help bp, help bd, help alternate-file


71
আপনি কতক্ষণ জানি না যে আমি এতক্ষণ এমন কিছু সন্ধান করছি যা এটি এত সহজ, এটি চালানোর জন্য পুরো স্ক্রিপ্টের প্রয়োজন হয় না। আমার VIMRC, আমি এখন এই জন্য CTRL + সি জন্য ম্যাপ করা আছেnnoremap <C-c> :bp\|bd #<CR>
ক্লাউড

11
আমি ব্যবহার করে পুনরায় তৈরির চেষ্টা করছি nmap <silent> <leader>d :bp|bd #<CR>, তবে পাচ্ছি E94: No matching buffer for #<CR>
Fábio পেরেজ

22
|(উদাঃ :bp\|bd) এর সামনে একটি ব্যাকস্ল্যাশ রাখুন
মুড

4
আমি জানতাম এর জন্য আমার কোনও প্লাগইন ইনস্টল করা উচিত নয়। ধন্যবাদ!
আকাশ অগ্রওয়াল

2
b#|bd #পরবর্তী / আগেরটির পরিবর্তে সর্বশেষ ব্যবহৃত বাফারে স্যুইচ করবে। তবে আপনার যদি এটি লুকানো বাফারে যায় তবে set hiddenএটি এড়াতে আমি আরও বুদ্ধিমান বিডি ফাংশন করেছি।
c24w

15

উইন্ডোটি বিচ্ছিন্ন না হয়ে কাজ .vimrcকরার জন্য আপনি নিম্নলিখিতটি নিজের Bdকাজ করতে যোগ করতে পারেন bd:

command Bd bp\|bd \#

আমি এটিকে মুডের জবাব দেওয়ার জন্য একটি কার্যকর পরিপূরক হিসাবে পেয়েছি


আমার .vimrc এ ঠিক তাই। :)
মাটি

এবং আপনি বাফার আনলোড, মুছতে এবং মুছতে 3 টি কমান্ড যুক্ত করতে পারেন: কমান্ড! BUN বিপি \ | বান \ # কমান্ড! বিডি বিপি \ | বিডি \ # কমান্ড! বিডাব্লু বিপি \ | বিডব্লিউ \ # যা বুফকিল যা সরবরাহ করে তার সমান তবে 700০০+ লাইনের প্লাগইনের পরিবর্তে ভিএমআরসিতে তিনটি লাইন রয়েছে!
fievel

3
আমার জন্য এটি .vimrc এ কেবল এটি দিয়ে কাজ করেছিল command! Bd bp|bd #। Above with সহ উপরের কমান্ডটি বাফার তালিকায় বাফারকে রেখেছিল।
mljrg


3

আমি @ মুডের মতো কিছু করি, তবে #বাফার তালিকার আগের বাফারের পরিবর্তে পূর্বের ভিউ বাফারে স্যুইচ করি । এখানে আমার একটি বাধ্যতামূলক কী রয়েছে .vimrc:

nnoremap <silent> <leader>q :lclose<bar>b#<bar>bd #<CR>

অবস্থান উইন্ডোগুলি বন্ধ করুন, উপস্থিত থাকলে পূর্ববর্তী ভিউ বাফারে স্যুইচ করুন এবং তারপরে শেষ স্যুইচড বাফারটি বন্ধ করুন।


1

আমার পছন্দ

:sb # | bd #
:sb 1 | bd #
: <1. Recall Buffer> | <2. Delete Buffer>

এরকম ভাবুন! /// <1। পুনরায় কল করুন বাফার> | <2। বাফার> মুছুন

:vert sb 2 | bd #
:vert sb <tab key~completed file(buffer)name> | bd #

কেন ?! 3 (+ 1) কীওয়ার্ডটি মনে রাখা সহজ!

  1. sb split_buffer
  2. বিডি মুছুন বাফার ▶ সাধারণ 2 কীওয়ার্ড
  3. # বা বাফারের সংখ্যা
  4. উল্লম্বের উল্লম্ব ▶ শর্ট_ফর্ম (স্প্লিট_বফার বা অন্য কোনও)

এটি অন্যান্য অনেকগুলি ক্ষেত্রে সহজ এবং খুব দরকারী!

আপনার দিনটি শুভ হোক! :)


0

আমি ব্যবহার করতাম:

:bp<bar>sp<bar>bn<bar>bd<CR>

তবে আমি এমন কিছু অনুষ্ঠান পেয়েছি যেখানে এটি আমার উইন্ডোটি বন্ধ করে দিয়েছে। তারপরে পরবর্তী বা পূর্বের বাফারটি আপনি বিভাজনে প্রদর্শিত হতে চান তা নাও হতে পারে।

এখন আমি এটি করি:

  • আমি যে বাফারে কাজ করতে চাই তাতে স্যুইচ করুন
  • বিকল্প বাফার মুছুন

nnoremap <leader>d :bd#<CR>

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