আমি কী কী এক স্ট্রোকে একাধিক tmux কমান্ড বাঁধতে পারি?


13

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

bind R source-file "$HOME/.tmux.conf" && display-message "Configuration reloaded."

এটি অবশ্য কাজ করে না। বা কমান্ডগুলি স্ট্রিংয়ের উপায় হিসাবে আমি চেষ্টা করেছি এমন অন্য কোনও কাজ নয়।


1
এটি \;বিভাজক হিসাবে আমার জন্য (দেবিয়ান স্কুতে tmux 1.3) কাজ করে।
গিলস 'তাই খারাপ হওয়া বন্ধ করুন'

1
ঠিক আছে, আমি খুঁজে পেয়েছি যে \; না কাজ, এবং যে উত্তর আমি নীচে বেছে নেওয়া হয়েছে সারাংশ। একরকম আমি পরীক্ষা করেছি \; খুব দ্রুত এবং নির্ধারিত এটি কার্যকর হয়নি। তবে আমি এই প্রশ্নটি এখানে রাখছি কারণ এটি এখনও এটি কীভাবে করা যায় তার প্রশ্নের উত্তর প্রদান করে।
আইকনোক্লাস্ট

উত্তর:


12

আপনি run-shellবিকল্পটি ব্যবহার করতে পারেন , তবে গুরুত্বপূর্ণ বিষয়টি হ'ল কমান্ডগুলি পৃথক করা\;

এই ক্ষেত্রে, এর মতো কিছু:

bind R source-file ~/.tmux.conf \; run-shell "echo 'Reload'"

রান-শেল শেল-কমান্ড
(ওরফে: রান)
উইন্ডো তৈরি না করে পটভূমিতে শেল-কমান্ড প্রয়োগ করুন। এটি শেষ হওয়ার পরে, স্ট্ডআউটে যে কোনও আউটপুট কপি মোডে প্রদর্শিত হবে। যদি কমান্ডটি সাফল্য না দেয় তবে প্রস্থান স্থিতিটিও প্রদর্শিত হবে।


আরে, উত্তরের জন্য ধন্যবাদ। আমি এটি বিশেষভাবে পরীক্ষা করে দেখিনি তবে আমার মনে হয় না এটি কার্যকর হবে, যেহেতু আমি আমার প্রশ্নের কোডটি with দিয়ে পরীক্ষা করেছি; এবং এটি দ্বিতীয় কমান্ডটি চালিয়েছিল তবে প্রথমটি নয়। এবং আমি জানি না কেন রান-শেলটি কাজ করবে তবে প্রদর্শন-বার্তাটি কার্যকর হবে না।
আইকনোক্লাস্ট

1
ঠিক আছে, আমি আপনার সমাধানটি পরীক্ষা করার চেষ্টা করেছি এবং এই কমান্ড থেকে আপাতদৃষ্টিতে (যদিও নিখুঁত নিশ্চিততার সাথে নয়) tmux লক করে রাখে। আমি চেষ্টা চালিয়ে যাব, তবে আমি নিশ্চিত যে এটি কার্যকর হবে না ...
আইকনোক্লাস্ট

এটি tmux 1.4 এ কাজ করে। "
লকআপ

ঠিক আছে, আমি tmux লক না করেই এটি কাজ করতে পেরেছি। এটি আমাকে কেন আমার আসল চেষ্টাটি ব্যবহার করার প্রশ্নটি ছাড়ল left; কাজ করেনি:
9:51

1
আপনার উত্তরের হৃদয়টি ব্যবহার করা to; - রান-শেল সম্পর্কে অংশটি সত্যই গুরুত্বপূর্ণ নয় এবং আমি মনে করি যে উদাহরণটি আমি প্রদর্শন-বার্তা দিয়েছি তা আরও অনেক ভাল। সুতরাং আমি আপনার উত্তরটি আমার চেয়ে বেছে নিচ্ছি তবে উত্তরটি সম্পাদনা করতে আপনি কি আপত্তি করবেন যাতে এটি অন্য লোককে বিভ্রান্ত বা বিভ্রান্ত না করে। ধন্যবাদ!
আইকনোক্লাস্ট

4

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

সমাধানটি এখানে রয়েছে, বিশেষত এটি আপনার কনফিগারেশনটি পুনরায় লোড করার সাথে সম্পর্কিত। আপনার .tmux.conf ফাইলে এমন কিছু রাখুন:

bind R source-file "$HOME/.tmux/reload.tmux"

~ / .Tmux / reload.tmux ফাইলটিতে নীচের মতো কিছু রেখেছেন:

source-file "$HOME/.tmux.conf" 
display-message "Configuration reloaded."

এটি পুরোপুরি কাজ করে।


1
এটি আসলে এটি কেবল কাজ করে। এখানে অন্য সব কিছুই ঠিক কাজ করছে না।
এলজাপ

সত্যিই? ... আমি যখন অন্য পদ্ধতির পরীক্ষা করেছি তখন কিছুক্ষণ হয়ে গেছে, তবে টিএমউक्स যদি এটি ভেঙে দেয় তবে আমি অবাক হয়ে যাব। আপনি যদি নিশ্চিত হন যে এটি কাজ করে না, তবে আমি আবার পরীক্ষা করব এবং পরিবর্তে সম্ভবত এই উত্তরটি গ্রহণ করব accept
আইকনোক্লাস্ট

হ্যাঁ আমি ক্ষমা চাইছি, উপরের উত্তরটি সত্যিই কাজ করে :-)
এলজিপ

1

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

bind R source-file ~/.tmux.conf \; display-message "Configuration reloaded"

0

Tmux এর ভিতরে একটি প্যাচ পুরোদস্তুর স্ক্রিপ্টিংকে মঞ্জুরি দেয়, এর অভ্যন্তরগুলিতে টিসিএল ভাষা সংযুক্ত করে।

http://ershov.github.io/tmux/

এছাড়াও, এটি 'মোড' কী-স্ট্রোকগুলির জন্য আপনি যতগুলি ক্রিয়া চান তা নির্দিষ্ট করতে দেয়।

এটি ব্যবহার করে আপনার কোডটি দেখতে এমন হবে:

bind R tcl { source-file "$HOME/.tmux.conf" ; display-message "Configuration reloaded." }

বা আরও পাঠযোগ্য:

bind R tcl {
  source-file "$HOME/.tmux.conf"
  display-message "Configuration reloaded."
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.