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


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.