tmux - একটি নির্দিষ্ট অবস্থানে একটি উইন্ডো .োকান


14

tmux এর "মুভ-উইন্ডো" কমান্ড রয়েছে যার সাহায্যে আপনি উইন্ডোটিকে নির্দিষ্ট খালি সূচীতে এমনভাবে স্থানান্তর করতে পারেন :

move-window -t 3

তবে, সূচক 3 ইতিমধ্যে নেওয়া হয়ে গেলে আপনি আপনার বর্তমান উইন্ডোটিকে 3 অবস্থানে নিয়ে যেতে পারবেন না।

আমি এমন একটি বিকল্প খুঁজছি যা আমাকে আমার উইন্ডোটি 3 অবস্থানে সন্নিবেশ করতে (সন্নিবেশ করতে) অনুমতি দেবে এমনকি যদি এটি ইতিমধ্যে নেওয়া হয়ে থাকে এবং তারপরে অন্যান্য উইন্ডোগুলির জন্য উইন্ডো সংখ্যা বাড়িয়ে দেয় (উদাহরণস্বরূপ যেটি মূলত 3 এ ছিল এখন হবে 4 হবে, নিম্নলিখিত 5 হবে)

tmux 

উত্তর:


2

নীচের স্ক্রিপ্টটি আপনাকে যা করতে চাইবে তা করার অনুমতি দেবে। আপনি এটি শেল প্রম্পট থেকে চালাতে পারেন বা আপনি এটি করতে পারেন:

:run "ins-move 2 5"

এই উদাহরণটি উইন্ডো পাঁচটির আগে উইন্ডোটিকে দুটি অবস্থানে নিয়ে যায়।

#!/bin/bash
for ((i=$1; i<$2-1; i++))
do
    tmux swap-window -s :$i -t :$((i+1))
done

ধন্যবাদ! দুর্দান্ত কাজ করে - যদিও আমাকে এটি "5 2" এর মতো মামলার ক্ষেত্রেও কাজ করতে মানিয়ে নিতে হবে। কমপক্ষে এখন আমি জানি কিভাবে এটি সম্পন্ন হয়েছে।

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

আমি এখনই আপনার উত্তর upvated। আগে এটি করতে পারিনি কারণ আমি এখন যথেষ্ট খ্যাতি পয়েন্ট পেয়েছি।

25

চেষ্টা করুন: new-window -a

নতুন উইন্ডো তৈরি করার সময় -a বিকল্পটি ব্যবহার করে নতুন সূচিটি পরবর্তী সূচকগুলিতে সন্নিবেশ করতে পারে, অন্য সমস্ত পরবর্তী উইন্ডোগুলির সূচক স্বয়ংক্রিয়ভাবে বৃদ্ধি পাবে।


@ ডেনিস উইলিয়ামসনের চেয়ে আরও ভাল সমাধান বলে মনে হচ্ছে, দুঃখিত ডেনিস :-) আমি চালাচ্ছি tmux 1.9a, সম্ভবত এই বৈশিষ্ট্যটি পূর্ববর্তী সংস্করণগুলিতে পাওয়া যায় নি।
সোনিয়া হ্যামিল্টন

অসাধারণ. আমি কীভাবে এটি মিস করেছি তা নিশ্চিত নয়। আপনি আমাকে গত 4 বছর থেকে বাঁচিয়েছিলেন, সময়ের ভ্রমণকারী! ধন্যবাদ!
rld।

আপনি যদি সূচক 0 তে একটি নতুন উইন্ডো চান তবে কাজ করে না
এনসিসিসি

1

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

bind i command-prompt -p 'Insert window at:' 'run-shell "if tmux select-window -t %1; then tmux new-window -a; tmux swap-window -s %1 -t \$((%1+1)); else tmux new-window; tmux move-window -t %1; fi; tmux select-window -t #I; tmux select-window -t %1;"'

[PREFIX] -i টিপুন এবং সন্নিবেশ করানো অবস্থানটি সরবরাহ করুন। সর্বশেষ 2 নির্বাচন উইন্ডো কমান্ড নিশ্চিত করে যে 'পূর্ববর্তী' উইন্ডোটি প্রত্যাশা অনুযায়ী সেট করা আছে এবং আপনি sertedোকানো উইন্ডোতে যান।

সম্পাদনা: ঠিক আছে, আমি খুব শীঘ্রই কথা বলেছি। আমাকে পরিবর্তন #Iকরতে হয়েছিল #{window_id}কারণ সন্নিবেশের সময় কিছু উইন্ডোগুলির জন্য উইন্ডো সূচী পরিবর্তন হয়। নতুন ফাংশন (পাঠযোগ্যতার জন্য যুক্ত নতুন লাইনের সাথে):

bind i command-prompt -p 'Insert window at:' '      \
    run-shell "                                     \
        if tmux select-window -t %1; then           \
            tmux new-window -a;                     \
            tmux swap-window -s %1 -t \$((%1+1));   \
        else                                        \
            tmux new-window;                        \
            tmux move-window -t %1;                 \
        fi;                                         \
        tmux select-window -t #{window_id};         \
        tmux select-window -t %1;                   \
    "'                                               

.Tmux.conf এ নিম্নলিখিত 2 কমান্ডের মাধ্যমে আমি একটি সরলীকৃত সংস্করণ ব্যবহার শুরু করেছি:

 bind i command-prompt -p 'Insert window at:' 'new-window -a -t %1; swap-window -t -1'
 bind I command-prompt -p 'New window at:'    'new-window -t %1'

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.