ভিম: নির্দিষ্ট ট্যাবের জন্য লেবেল পরিবর্তন করুন


19

বলুন আমার কাছে ভিমে একটি গুচ্ছ ট্যাব রয়েছে, একটি ট্যাবলাইনটি দেখতে এরকম কিছু দেখাচ্ছে:

1 v/file1.py 2 t/file.py 1 t/file.py 1 o/otherfile.py

দুটি ট্যাব কীভাবে উভয় "t / file.py" বলে? এগুলি বিভিন্ন ফাইল, তারা কেবল একই ট্যাব লেবেলে পরিণত হয়।

আমার ওয়ার্কফ্লোতে ট্যাব শিরোনামগুলি প্রায়শই অস্পষ্ট থাকে (শেফের জন্য সব কিছু "default.rb" নামকরণ করা হয় ) বা অসহায় ("আমি জানি 8 টি ট্যাবগুলির মধ্যে একটিতে 4 টি বাফারযুক্ত ফাইল রয়েছে যা আমি সন্ধান করছি ...")।

আমি ট্যাবগুলিকে যুক্তিযুক্তভাবে কী উপস্থাপন করে তা চিহ্নিত করার জন্য নামগুলি পরিবর্তন করতে চাই:

1 homepage_view 2 tests 1 homepage_template 1 o/otherfile.py

ট্যাবগুলি ফাইল-নাম-ভিত্তিক লেবেলে ডিফল্ট করে আমি ঠিক আছি, যতক্ষণ না আমি ট্যাবটি তৈরি হওয়ার পরে এটি পরিবর্তন করতে পারি।

আমি কীভাবে এটি ভিমে করতে পারি?


1
আমার এখনই পরীক্ষার সময় নেই, তবে দেখুন :help setting-tabline(টার্মিনালে :help setting-guitablabelভিমের জন্য ) বা (জিভিএমের জন্য)। আপনি এমন একটি ফাংশন লিখতে পারেন যা কোনও ট্যাব-স্থানীয় ভেরিয়েবলের জন্য পরীক্ষা করে এবং তা বা কোনও ডিফল্টরূপে ফেরত দেয়। তারপরে, একটি ট্যাব খোলার পরে :let t:mytablabel = 'homepage_template',।
বেনজিফিশার

উত্তর:


15

ট্যাবু নামে একটি দুর্দান্ত ছোট্ট প্লাগইন রয়েছে যা এটি সহজ করে তোলে। কেবল এটি ইনস্টল করুন এবং তারপরে আপনি এর সাথে ট্যাব শিরোনামটি পরিবর্তন করতে পারবেন:

:TabooRename My Tab Title

আপনি যদি নিজের সমাধান লিখতে আগ্রহী হন তবে আপনি সেই প্লাগইনটির উত্স কোডটি দেখতে পারেন।


Tabooচমৎকার. TabooResetএবং TabooRenameআক্ষরিকভাবে ট্যাবু -লাইন ==> ট্যাবু দ্বারা চিহ্নিত একটি নামক ট্যাব এবং ভিমের দ্বারা একটি স্ব-নামযুক্ত ট্যাব দুটি "মোড" টগল করে। এটি টিমাক্স থেকে " উইন্ডোজ নামের উইন্ডোজ " কে পুরোপুরি প্রতিলিপি করে । আরও ভাল, ট্যাবুর অধীনে নামের ট্যাবগুলি স্টারটিফাই (বা অন্য কোনও সেশন-সঞ্চয় সরঞ্জামের আওতায়) ব্যবহার করে পুনরুদ্ধার করা যেতে পারে ।
llinfeng

8

Gvim জন্য, দেখুন

:help 'guitablabel'
:help setting-guitablabel

বিকল্পটি কোনও অভিব্যক্তিতে সেট করুন যা t:mytablabelযদি এটি উপস্থিত থাকে (কোনও ট্যাব-স্থানীয় ভেরিয়েবল) এর মূল্যায়ন করে , বা অন্যথায় খালি স্ট্রিংয়ে (ডিফল্ট ব্যবহার করার অর্থ):

:set guitablabel=%{exists('t:mytablabel')?t:mytablabel\ :''}

হতে পারে এটি ইতিমধ্যে খুব জটিল, বা আপনি ফ্যানসিয়ার পেতে চান। সেক্ষেত্রে একটি ফাংশন সংজ্ঞায়িত করুন:

function! GuiTabLabel()
  return exists('t:mytablabel') ? t:mytablabel : ''
endfunction
:set guitablabel=%{GuiTabLabel()}
:set go+=e

তারপরে, যে কোনও ট্যাবটিতে আপনি ডিফল্টকে ওভাররাইড করতে চান সেখানে এমন কিছু করুন

:let t:mytablabel = 'homepage_template'

আপনি যদি gvim নয়, টার্মিনালে Vim ব্যবহার করে থাকেন তবে আপনাকে 'tabline'পরিবর্তে বিকল্পটি সেট করতে হবে 'guitablable'। এটি কিছুটা জটিল, যেহেতু আপনার একটি একক অভিব্যক্তি দরকার যা সমস্ত খোলা ট্যাবগুলির জন্য লেবেল অন্তর্ভুক্ত করে। এর অধীনে একটি সম্পূর্ণ উদাহরণ রয়েছে

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