ভিএম এডিট করা ফাইলের নাম সহ টিএমউक्स ট্যাবগুলি কীভাবে লেবেল করবেন?


14

আমি যখনই টার্মিনালে একটি টিএমউक्स সেশনটি খুলি, ভিম সেশনগুলির সমস্ত ট্যাব লেবেলযুক্ত vim

আমার প্রশ্নটি হ'ল: সম্পাদিত ফাইলের নাম সহ প্রশ্নযুক্ত ট্যাবগুলির vim | test.cppশিরোনাম হিসাবে ব্যবহারযোগ্য tmux ট্যাবগুলিতে এটি কীভাবে কনফিগার করতে হবে ।


1
এই সাহায্য করতে পারেন: stackoverflow.com/a/15124717/2558252 ?
nobe4

এর জন্য ধন্যবাদ তবে আপনি কি কিছুটা বিস্তারিতভাবে প্রক্রিয়াটি বিস্তারিতভাবে বর্ণনা করতে পারেন? তাছাড়া উত্তর সম্পূর্ণ নয় not লোকটি কেবল একটি ইঙ্গিত দিয়েছে
ময়ুখ সরকার

যেহেতু প্রশ্নের উত্তর দেওয়া হয়েছিল (এবং আইএমএইচও সঠিকভাবে) আপনি কি তা গ্রহণ করতে পারবেন?
nobe4

উত্তর:


19

এই নাও :

autocmd BufReadPost,FileReadPost,BufNewFile,BufEnter * call system("tmux rename-window 'vim | " . expand("%:t") . "'")

ডিকম্পোজিং:

autocmd BufReadPost,FileReadPost,BufNewFile,BufEnter * call

বাফার রিডে, ফাইল রিড বা বাফার নতুন ফাইল ইভেন্ট (দেখুন :help autocmd-events) পরবর্তী কমান্ডটি কার্যকর করুন:

call system()

একটি সিস্টেম ফাংশন কল করুন এবং এটি পাঠ্য:

"tmux rename-window 'vim | "  

স্ট্রিং দিয়ে শুরু করে বর্তমান উইন্ডোটির নাম পরিবর্তন করুন vim |

. expand("%:t") 

স্ট্রিং-এ ফাইলের নাম যুক্ত করুন ( বিন্যাসের জন্য এই নিবন্ধটি এবং প্রসারিত সন্নিবেশের জন্য এই পোস্টটি দেখুন )

. "'"

'কমান্ডটি বন্ধ করতে ফাইনাল যুক্ত করুন ।

প্রসারণের পরে এটি দেখতে (যেমন .vimrc ফাইল সম্পাদনা করার সময়) দেখতে পাবেন:

system("tmux rename-window 'vim | .vimrc'")

যেহেতু @ আর্থালিয়ান মন্তব্যে বলেছে, ভিমটি দিয়ে রেখে যাওয়ার সময় আপনি পরিষ্কার করতে পারেন:

autocmd VimLeave * call system("tmux rename-window 'tmux'")

1
আমি মনে করি BufEnterইভেন্টটিকে এই তালিকায় অন্তর্ভুক্ত করা ভাল হবে (আমরা বিদ্যমান বাফারগুলির মধ্যে স্যুইচ করলেও লেবেল পরিবর্তন করা) এবং autocmd VimLeave * call system("tmux rename-window 'tmux'")পরিষ্কারের জন্য এই জাতীয় কিছু ।
এরথ্যালিয়ন

3

ভিএম ছাড়ার সময় ডিফল্ট tmux নামকরণ স্কিমটি পুনরুদ্ধার করতে আপনি এটিও করতে পারেন:

autocmd VimLeave * call system("tmux setw automatic-rename")

এটি অন্য উত্তরের সাথে একযোগে ব্যবহৃত হয় সর্বোত্তম সমাধান সরবরাহ করে। আমি tmux পুনঃনামকরণ-উইন্ডো স্নিপেটটি সর্বত্র দেখেছি, তবে এটি প্রথমবারের মতো কেউ স্বয়ংক্রিয়-নামকরণ tmux উইন্ডো বিকল্পটি নির্দেশ করেছে। ধন্যবাদ.
f3xy

1

এটিই আমি আমার ভাইপ্রাককে উত্তর দিয়েছি, যা @raphael দ্বারা দেওয়া হয়েছে

আমি tmux-plugins / vim-tmux-ফোকাস-ইভেন্টগুলি ইনস্টল করেছি ফোকাসগেইন এবং ফোকাসলস্ট ইভেন্টগুলির জন্য tmux- প্লাগইন ইনস্টল করেছি।

augroup tmux                                                                                                                                                                                                                                                                                                                 
  autocmd!                                                                                                                                                                                                                                                                                                                 
  if exists('$TMUX')                                                                                                                                                                                                                                                                                                       
    autocmd BufReadPost,FileReadPost,BufNewFile,FocusGained * call system("tmux rename-window " . expand("%:t"))                                                                                                                                                                                                         
    autocmd VimLeave,FocusLost * call system("tmux set-window-option automatic-rename")                                                                                                                                                                                                                                  
  endif                                                                                                                                                                                                                                                                                                            
augroup END
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.