tmux - একটি প্যানে শিফট + পৃষ্ঠা উপরে / নীচে উপরে / নীচে স্ক্রোল করুন


14

আমি এক্সটার্মের মতো একই কী-বাইন্ডিং সহ SHIFT + পৃষ্ঠা আপ / ডাউন সহ একটি প্রদত্ত ফলকে উপরে / নীচে স্ক্রোল করতে সক্ষম হতে চাই।

উদাহরণস্বরূপ, tmux উইন্ডোটি যদি 2 টি উল্লম্ব প্যানে বিভক্ত হয় তবে আমি দু'জনের একটিতে কীবোর্ড দিয়ে স্ক্রোল করতে পারি যখন অন্যটি স্ক্রোল না করে।

এটা কি সম্ভব ?

আমার tmux.conf এখানে:

set -g status off
set -g prefix C-o
unbind C-b
bind C-o send-prefix

# settings -------------------------------------------------------------

setw -g utf8 on
setw -g xterm-keys on
set -g default-terminal "screen-256color"

set-option -g set-titles on
set-option -g set-titles-string '[#S:#I #H] #W'

# auto-set window title
setw -g automatic-rename
setw -g aggressive-resize on

# vim keybinds
set-option -g status-keys vi
set-window-option -g mode-keys vi

# scroll inside the current pane
#bind-key k page-up
#bind-key l page-down

# mouse
set -g mode-mouse on
setw -g mouse-select-window on
setw -g mouse-select-pane on

# scrollback buffer n lines
set -g history-limit 100000

# fixes shift-pageup/shift-pagedown
set -g terminal-overrides 'xterm*:smcup@:rmcup@'
set -g visual-activity on

# faster key repetition
set -s escape-time 0

# activity alert
setw -g monitor-activity on
set -g visual-activity on

# alt+directions navigates through panes
bind-key -n M-left select-pane -L
bind-key -n M-right select-pane -R
bind-key -n M-up select-pane -U
bind-key -n M-down select-pane -D

উত্তর:


8

স্ক্রোল আপ করতে আপনি এটি করতে পারেন:

bind -n S-Pageup copy-mode -u

উপরের কোনও ম্যাকের সাথে কাজ করে না বলে মনে হয়, তাই আমি এটি দিয়ে পরীক্ষা করেছি:

bind -n S-Up copy-mode -u

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

সম্পাদনা করুন:

আমি কেবল এর সাথে পরীক্ষা করেছি:

bind -n Pageup copy-mode -u

এবং এটি আপনাকে কেবল পৃষ্ঠা-আপ এবং পৃষ্ঠা-ডাউন ব্যবহার করার অনুমতি দেয়।


যদিও bind -n Pageup copy-mode -uআমাকে PgUp টিপুন কপি-মোড লিখুন এবং উপরে স্ক্রল করার অনুমতি দেয় না, আমি তখন PgUp ব্যবহার করতে পারবেন না আপ স্ক্রলিং রাখা।
apocryphalauthor

6

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

কপি মোডে থাকাকালীন AFAIK কেবল একটি ফলক স্ক্রোল। কপি মোড ঢোকা আপনি ব্যবহার করতে পারেন prefix-[এবং তারপর ব্যবহার স্ক্রল C-upএবং C-downঅথবা আপনি আপনার নিজের কী-বাইন্ডিং সেট করতে পারেন (কনফিগ ফাইলে) যা ভালো Emacs-মোড সৌন্দর্য মধ্যে:

bind-key -t emacs-copy -n S-PPage halfpage-up
bind-key -t emacs-copy -n S-NPage halfpage-down

এটি অনুলিপি মোডে যখন নীচে অর্ধেক পৃষ্ঠা উপরে স্ক্রোল করতে Shift+ PageUpএবং Shift+ কী সংমিশ্রণ সেট করে । আপনি যখন ভিআই-মোড ব্যবহার করছেন তখন আপনার এটিকে এমন কিছুতে পরিবর্তন করতে হবে:PageDown

bind-key -t vi-copy -n S-PPage halfpage-up
bind-key -t vi-copy -n S-NPage halfpage-down

এখন আপনি যদি কপি মোডটি "স্বয়ংক্রিয়ভাবে" প্রবেশ করতে চান এবং ব্যবহার prefix-[করতে না চান তবে আপনার কনফিগার ফাইলে নিম্নলিখিত লাইনটি যুক্ত করতে পারেন:

bind-key -t root -n S-PPage copy-mode -u

এটি অনুলিপি মোড খুলবে এবং সম্পাদনা-মোডে (ডিফল্ট-মোড) Shift+ টিপে যখন একটি (পূর্ণ) পৃষ্ঠাটি স্ক্রোল করবে PageUp। ইতিমধ্যে কোনও পৃষ্ঠা স্ক্রল না করে কেবল অনুলিপি মোড খুলতে, কেবলমাত্র বাদ দিন -u। এবং যদি আপনি একটি পূর্ণ পৃষ্ঠা উপরে / নীচে অথবা কেবল একটি লাইন স্ক্রোল করতে চান তবে আপনি কীওয়ার্ডগুলি ব্যবহার করতে পারেন page-up, scroll-upবা একটি আদেশ ব্যবহার করতে পারেন

tmux list-keys -t vi-copy
tmux list-keys -t emacs-copy

ডিফল্ট কীবাইন্ডিংগুলি ব্যবহার করতে বিকল্পগুলির একটি সম্পূর্ণ তালিকা দেখতে।


1
আমি নিশ্চিত যে এটির tmuxআমি যে সংস্করণটি চালাচ্ছি বা না এটির সংস্করণ কিনা , তবে -tপ্যারামিটারটি স্বীকৃত নয় (তবে, -টি কাজ করে) সম্ভাব্য টাইপো?
এমডিপ

সম্ভবত একটি টাইপও কিন্তু এটির সাথে এটির কোনও অর্থ হয় না -n, কারণ এটি একটি শর্টকাট-T root
স্মিডো

4

এখানে এমন একটি সমাধান রয়েছে যা কেবলমাত্র আপনার পেশী মেমরির সাথে কাজ করা উচিত, আপনাকে সাধারণ টার্মিনালে যেমন Shift+ PageUpএবং Shift+ ব্যবহার করতে দেয় PageDown

bind -n Pageup copy-mode -u
bind -n S-Pageup copy-mode -u
bind -n S-Pagedown send-keys Pagedown

আপনি যদি ভিম ব্যবহার করছেন তবে আপনি শর্তসাপেক্ষে এই বাঁধাইটি সক্ষম করতে চাইবেন বা এটি যখন আপনি ব্যবহার করবেন তখন জিনিসগুলি PageUpজগাখিচু করে ফেলবে, ইত্যাদি টিএমউমের অভ্যন্তরে ভিমে।

is_vim="ps -o state= -o comm= -t '#{pane_tty}' \
    | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'"
bind -n Pageup if-shell "$is_vim" "send-keys Pageup" "copy-mode -u"
bind -n S-Pageup if-shell "$is_vim" "send-keys Pageup" "copy-mode -u"
bind -n S-Pagedown send-keys Pagedown

(@ এমজেভিট্টার সমাধানকে ধন্যবাদ, যা এটি পরিমার্জন করে)


+1 তবে bind -n Pageup if-shell "$is_vim" "send-keys Pageup" "copy-mode -u; send-keys Pageup"একাধিক প্রেসগুলিতে স্ক্রোলিং অবিরত রাখতে পেজআপটি পাওয়া দরকার ছিল।
79E09796
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.