আমি কীভাবে কোনও ফাইলটিতে টিএমউক্স সেশনে সমস্ত স্ক্রোলব্যাক লিখতে পারি?
capture-panel
বর্তমান স্ক্রিনটি দখল করতে পারে তবে পুরো স্ক্রোলব্যাকটি নয়।
আমি কীভাবে কোনও ফাইলটিতে টিএমউক্স সেশনে সমস্ত স্ক্রোলব্যাক লিখতে পারি?
capture-panel
বর্তমান স্ক্রিনটি দখল করতে পারে তবে পুরো স্ক্রোলব্যাকটি নয়।
উত্তর:
এটি history-limit
আপনার যে মান নির্ধারণ করেছে তার উপর নির্ভর করে .tmux.conf
- ডিফল্ট 2000; আপনি যদি আরও ক্যাপচার করতে চান তবে আপনার স্পষ্টভাবে লাইনের সংখ্যা নির্ধারণ করতে হবে।
পুরো স্ক্রোলব্যাক ক্যাপচার করতে, অনুলিপি মোড লিখুন, পুরো স্ক্রোলব্যাকটি নির্বাচন করুন এবং এটি বাফারে ইঙ্ক করুন, তারপরে এটি আপনার ফাইলে আটকে দিন।
আপনি এটি কীভাবে সম্পাদন করবেন তা mode-keys
আপনার পছন্দ, vi বা ইম্যাক্সের উপর নির্ভর করবে । man tmux
সম্পর্কিত কী বর্ণনা করার জন্য একটি সহায়ক সারণী রয়েছে।
.tmux.conf
এটিকে সরল করার জন্য আমার নিম্নলিখিতগুলিতে রয়েছে :
unbind [
bind Escape copy-mode
unbind p
bind p paste-buffer
bind-key -t vi-copy 'v' begin-selection
bind-key -t vi-copy 'y' copy-selection
সম্পূর্ণ স্ক্রোলব্যাক ক্যাপচার করার প্রক্রিয়াটি হ'ল:
PrefixEsc : অনুলিপি মোড প্রবেশ করতে
v : ভিজ্যুয়াল নির্বাচন শুরু করার জন্য (ধরে নিচ্ছেন আপনি ইতিমধ্যে পর্দার নীচে রয়েছেন)
gg : স্ক্রোলব্যাকের সমস্ত কিছু ক্যাপচার করতে
y : এটি বাফারে ইঙ্ক করে
Prefixc : অন্য একটি টিএমউक्स উইন্ডো খুলুন
vim scrollback.txt
i : ভিমে inোকান মোড প্রবেশ করুন
Prefixp : ফাইল এ পেস্ট করুন
এখানে একটি উত্তরও রয়েছে যা কীভাবে কার্যকর হতে পারে তা ব্যবহার করে অস্থায়ী ফাইলে বাফারটি অনুলিপিxsel
করতে হবে।
:set paste
ভিমে ব্যবহার করেন, ভিম স্বয়ংক্রিয় ইনডেন্টেশন বা কোনও সন্নিবেশ-ভিত্তিক কীবাইন্ডিংগুলি যুক্ত করা উপেক্ষা করবে।
.tmux.conf
একটি সহজ উত্তর খুঁজছেন যারা, শুধু ব্যবহার করার জন্য prefix+ + :, তারপর টাইপ capture-pane -S -3000
+ + return(প্রতিস্থাপন 3000
এই কপি একটি বাফার মধ্যে যারা লাইন যদিও বহু লাইন তোমাকে রক্ষা করতে চাই সঙ্গে।)।
তারপরে, কোনও ফাইলটিতে বাফারটি সংরক্ষণ করতে, কেবলমাত্র prefix+ :আবার ব্যবহার করুন এবং আপনার যা যা চান তার পরিবর্তে save-buffer filename.txt
+ টাইপ করুন ।returnfilename
(ডিফল্টরূপে prefixহয় ctrl + b।)
save-buffer filename.txt
ফাইলটি (বর্তমান ডিরেক্টরি) /
নয়, এতে সংরক্ষণ করার মতো মনে হচ্ছে pwd
। পরিবর্তে, আমি একটি নিখুঁত ফাইলের পথ সরবরাহ করেছি এবং এটি একটি
সঙ্গে tmux 1.5, capture-pane
কমান্ড গ্রহণ -S
এবং -E
ক্যাপচার শুরু এবং শেষ লাইন উল্লেখ করতে; নেতিবাচক মানগুলি ইতিহাস থেকে লাইন নির্দিষ্ট করতে ব্যবহার করা যেতে পারে। আপনার কাছে একবার বাফারে ডেটা হয়ে গেলে আপনি এটি দিয়ে সংরক্ষণ করতে পারেন save-buffer
।
এখানে বাইন্ডিংয়ের (উপযুক্ত হিসাবে উপযুক্ত .tmux.conf
) উদাহরণ রয়েছে যা ফাইলের নামের জন্য একটি প্রম্পট দিয়ে এটি সমস্তকে আবৃত করে:
bind-key P command-prompt -p 'save history to filename:' -I '~/tmux.history' 'capture-pane -S -32768 ; save-buffer %1 ; delete-buffer'
এটি ইতিহাসের 32768 লাইন এবং বর্তমানে প্রদর্শিত লাইনগুলিকে ক্যাপচার করে (অবধি)। থেকে শুরু করে tmux 1.6, আপনি INT_MIN নিচে সংখ্যার ব্যবহার করতে পারেন যদি আপনার পেন একটি ইতিহাস যে 32Ki লাইন (সাধারণত 2Gi লাইন পর্যন্ত) চেয়ে গভীর আছে। Tmux 2.0 থেকে শুরু করে , আপনি capture-pane -S -
"ইতিহাসের শুরুতে শুরু" (অর্থাত্ কোনও বৃহত্তর, হার্ড-কোডেড নেতিবাচক সংখ্যা) এর অর্থ ব্যবহার করতে পারেন ।
দ্রষ্টব্য: সংরক্ষিত ফাইলে লাইনের সংখ্যা সর্বদা ফলকের ইতিহাসের সীমা এবং এর উচ্চতার সমান হবে না।
যখন কোনও ফলকের ইতিহাসের বাফারটি পূর্ণ থাকে, tmux কেবলমাত্র একটি লাইন ছাড়ার পরিবর্তে প্রাচীনতম 10% রেখাগুলি বাদ দেয়। এর অর্থ একটি ফলকের কার্যকর ইতিহাস গভীরতা কখনও কখনও এটির কনফিগার করা সীমাতে 90% এর চেয়ে কম হয়।
tmux server-info | head -1
আপনার সংস্করণটি দেখতে ব্যবহার করতে পারেন। tmux -V
tmux * 1.4 এবং তার পরে কাজ করে।
[PrefixKey] :
তবে tmux কমান্ড লাইনে পৌঁছানোর জন্য কিছু করুন, এবং তারপরে পুরো লাইনটি পেস্ট করুন, তবে আপনি কেবল [Prefix] P
এটি করুন মূলধন পি এবং আপনি যেতে ভাল।
আমার কাছে স্ট্যান্ডার্ড কী বাইন্ডিং ছিল যা @ জেসনওয়ারিয়ানর উত্তরের চেয়ে কিছুটা আলাদা বলে মনে হয়েছিল এবং কনফিগারেশনে কোনও পরিবর্তন হয়নি।
নীচে আমার জন্য কাজ করা রেসিপি দেওয়া আছে। আপনি যদি টিএমএক্স কনফিগারেশনে কোনও পরিবর্তন করতে না চান এবং দ্রুত কিছু স্ক্রোলব্যাক অনুলিপি করতে চান তবে আপনি এটি দরকারী বলে মনে করতে পারেন।
Prefix== Ctrl+bআমার tmux এ (tmux 1.6, ডেবিয়ান 7)।
আপনি যদি কমান্ড লাইন থেকে চালাতে পারেন এমন কিছু চান (আপনার tmux উপসর্গ কীগুলি ব্যবহার না করে), চালানোর চেষ্টা করুন:
tmux capture-pane -pS -1000000
যদি আপনি এটি চালান এবং মনে হয় এটি কিছু না করে, কারণ এটি ঠিক আপনার পর্দায় যা ছিল ঠিক তাই আউটপুট করছে, সুতরাং এটি একই দেখাচ্ছে।
অবশ্যই, আপনি এটি একটি ফাইলের মধ্যে পাইপ করতে পারেন:
tmux capture-pane -pS -1000000 > file.out
দেখুন tmux
মানুষ পৃষ্ঠা এবং অনুসন্ধান capture-pane
টি জিনিস আপনি কি করতে পারেন জন্য (ক্যাপচার মত পালাবার ক্রম যদি আপনি রঙ সংরক্ষণ, বা আপনার চাই কিনা একাধিক চাক্ষুষ লাইন যোগদান করা যখন তারা নতুন লাইন থাকে না উল্লেখ করতে চান)
এখানে একটি টিএমউক্স প্লাগইন রয়েছে যা এটি সক্ষম করে:
https://github.com/tmux-plugins/tmux-logging
আপনি এটি ইনস্টল করার পরে পুরো স্ক্রোলব্যাকটি দিয়ে সংরক্ষণ করুন prefix + alt-shift-p
।
আমি কীভাবে কোনও ফাইলটিতে টিএমউক্স সেশনে সমস্ত স্ক্রোলব্যাক লিখতে পারি?
আমি এটি আমার ~ / .tmux.conf এ ব্যবহার করি এবং এখন যখন আমি আমার চলমান শেলটি প্রস্থান করি তখন পেন আউটপুটটি অনন্য লগ ফাইলে সংরক্ষণ করা হয়:
set -g remain-on-exit
set-hook pane-died 'capture-pane -S - -E - ; save-buffer "$HOME/logs/tmux/tmux-saved.#{host_short}-#{session_id}:#{window_id}:#{pane_id}-#{pane_pid}-#{client_activity}.log"; delete-buffer; kill-pane'