একটি টিএমউक्स ফলক 80 (বা তাই) কলামগুলি প্রশস্ত করুন


12

আমার কোডটি লেখার সময় আমি 80 টি কলামের নিয়ম অনুসরণ করার চেষ্টা করছি, আমার বর্তমান tmux সেটআপটি 50/50 অনুভূমিকভাবে বিভক্ত। আমি বাম-হাতের ফলকে vim রাখতে পছন্দ করি এবং ডান হাতের প্যানেতে আমার 75/25 বিভক্ত হয় যেখানে আমি অন্যান্য জিনিস চালাই।

আমার পাশের মনিটরে 50% প্রশস্ত 76 কলাম রয়েছে তবে আমার ল্যাপটপের প্রদর্শনীতে এটি 123 কলাম প্রশস্ত।

আমি অন্যান্য কমান্ডগুলির জন্য রিয়েল-এস্টেটকে সর্বাধিক করে তুলতে চাই, যখন আমি আমার ওয়ার্কস্পেস চালু করব তখন কি ঠিক 80 টি কলামে (বা তাই) সেট করার কোনও উপায় আছে?

আমি বর্তমানে আমার ওয়ার্কস্পেসটি এর সাথে সেট আপ করছি:

bind C-w source-file ~/dotfiles/scripts/tmux_work_layout

এই ফাইলটিতে রয়েছে:

selectp -t 0              # Select pane 0
splitw -h -p 50           # Split pane 0 vertically by 50%
selectp -t 1              # Select pane 1
splitw -v -p 25           # Split pane 1 horizontally by 25%
selectp -t 0              # Select pane 0

আপনি এমন কোনও সম্পাদক ব্যবহার করার কথা বিবেচনা করতে পারেন যা আপনার ক্ষেত্রে 80 টি নির্দিষ্ট করা কলাম পর্যন্ত অনুচ্ছেদটি পূরণ করে। ইম্যাক চেক করুন ।
লুইস

1
vim 7.3+ এর একটি colorcolumnসেটিংস রয়েছে যা Nth অক্ষরে বিকল্প পটভূমির কলাম যুক্ত করে। PS> আমি কখনই অন্ধকার দিকে
ফিরব না

উত্তর:


5

এটি কি আপনি চান এমন কিছু?

ফাইল যুক্ত করুন এবং দ্বারা সম্পাদনযোগ্য chmod +x filename। যেমন কল দ্বারা

./sizetmux       # Default hardcoded size
./sizetmux 85    # Specify width

এটি সোর্স ফাইল থেকে চালানোর জন্য:

if-shell /path/to/script/sizetmux 80

কোড:

#!/bin/bash

# Wanted pane width 0 - default 80, or pass argument 1 as wanted width
pw0=80
[[ "$1" =~ ^[0-9]+$ ]] && pw0="$1"

# This could be done nicer, but, anyhow: getting current width of pane 0
pw0_cur_w=$(tmux list-panes | awk -F"[ x:\\\[\\\]]+" '/^0:/{print $2}')

# Resize according to current width
if [[ "$pw0_cur_w" -eq "$pw0" ]]; then
    echo "OK $pw0"
elif [[ "$pw0_cur_w" -gt "$pw0" ]]; then
    ((w = pw0_cur_w - pw0))
    echo "$w less"
    tmux resize-pane -L -t 0 "$w"
elif [[ "$pw0_cur_w" -lt "$pw0" ]]; then
    ((w = pw0 - pw0_cur_w))
    echo "$w more"
    tmux resize-pane -R -t 0 "$w"
fi

এক হিসাবে বিবেচনা করতে হবে যেমন ভিএম মধ্যে লাইন সংখ্যা সম্ভবত 85?


সম্ভবত কিছুটা সুন্দর (এতটা বিশৃঙ্খলা নয়) সম্পাদনা করুন (এর পরে) pw0_cur_w=$(tm ...

((w = pw0_cur_w - pw0))

if [[ "$w" -ge 0 ]]; then
    dir="L"
    echo "$w less"
else
    dir="R"
    ((w *= -1))
    echo "$w more"
fi

[[ "$w" -gt "0" ]] && tmux resize-pane -"$dir" -t 0 "$w"


এটি পুরোপুরি কাজ করে বলে মনে হচ্ছে, আমি যখন আমার ওয়ার্কস্পেস লোড করি তখন এটি স্বয়ংক্রিয়ভাবে চালানোর কোনও উপায় আছে? (এছাড়াও আমি আমার প্রশ্নটি আরও
কয়েকটি

@ জে কেরিচার্টস: সোর্স কমান্ড সহ আপডেট হয়েছে। (উপযুক্ত সরঞ্জামগুলি বিটিডব্লিউ।;) ব্যবহার করে দেখে ভাল লাগছে;) screenসম্প্রতি ব্যবহার করা হয়েছে এবং কেবলমাত্র আমাকে নিজের উপর চাপিয়ে দেওয়ার চেষ্টা শুরু করেছে tmux
রুনিয়াম

হ্যাঁ, আমি ভিম বিভাজনগুলি বের করার চেষ্টা করছিলাম, এবং আমি কর্মপ্রবাহে খুব খুশি ছিলাম না, খুঁজে screenপাওয়ার আগে একদিন যাচাই tmuxকরেছিলাম, আমি এটি পছন্দ করি। এটি ভিম-মত হতে সেট আপ করুন এবং এখন এটি একটি বাতাস।
জে কেরিচার্টজ

শুধু একটি বাগ লক্ষ্য করেছেন, আপনি কোথাও $ ফলকটি সংজ্ঞায়িত করছেন না, 0 এর পরিবর্তে পুরোপুরি কাজ করেছেন, ধন্যবাদ!
জে কেরিচার্টজ

@ জে কেরিচার্টজ: আহ, ধন্যবাদ আমি এটি এমন কোনও কোড থেকে অনুলিপি করেছি যেখানে $panealচ্ছিক যুক্তি 2 ছিল এবং যেখানে আমি কোথায় পেন (বাম / কেন্দ্র / ডান) ছিল তা নির্ধারণ করার চেষ্টা করেছি এবং সেই অনুযায়ী "আর" বা "এল" ব্যবহার করেছি, তবে এটি সনাক্ত করা শক্ত বলে প্রমাণিত হয়েছিল। সংশোধন।
রুনিয়াম

8

আমি স্বীকৃত উত্তরের জন্য কোডটি দরকারী বলে খুঁজে পেয়েছি তবে, আমি tmux 1.8 ব্যবহার করছি এবং এটি একটি বৈশিষ্ট্য অন্তর্নির্মিত বলে মনে হচ্ছে split tmux ম্যান পৃষ্ঠা থেকে বিভক্ত-উইন্ডোটির নীচে: The -l and -p options specify the size of the new pane in lines (for vertical split) or in cells (for horizontal split), or as a percentage, respectively.সুতরাং, -p -l-in-ind ব্যবহারের ফলে কেবল প্রভাবটি হওয়া উচিত আপনি খুঁজছেন. উদা:

split-window -h -l 80

এর জন্য একটি অনুরূপ সমাধান এখানেresize-pane বর্ণিত হয়েছে


0

এটি করার একটি সহজ উপায় হ'ল সিবি এম -4 বা সিবি: সিলেক্ট মূল-উল্লম্ব সহ প্রধান-উল্লম্ব বিন্যাসটি ব্যবহার করা। এটি ইমাসের জন্য তৈরি করা হয়েছে যাতে বাম ফলকটি 81 টি কলাম হয়, এটি 80 করার জন্য আপনাকে মূল-পেন-প্রস্থের বিকল্পটি পরিবর্তন করতে হবে।

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