با سلامن و درود، قبلا Tmux رو اینجا معرفی کرده بودم و یه سری از دستوراتش رو نیز توضیح داده بودم.
تو این مطلب قصدم یه مقدار تغییرات و به قولی کانفیگ کردن تیماکس – Tmux هست.
برای شروع باید فایل tmux.conf را ویرایش کنید. این فایل کجا هست؟ برای لینوکس دبیان این فایل داخل مسیر زیر می باشد:
/etc/tmux.conf
اگر این فایل را تغییر دهید (یا در این مسیر بسازید و تغییرش دهید – احتمال Hidden بودن نیز بالاست) روی کل سیستم عمل می کند. اما فایل پیشفرض تنظیمات تیماکس در مسیر زیر می باشد:
~/.tmux.conf
حال اگر دبیانی نیستید، با استفاده از دستور man tmux می تونید مسیر پیشفرض و مسیر کلی فایل tmux.conf رو پیدا کنید:
FILES ~/.tmux.conf Default tmux configuration file. /etc/tmux.conf System-wide configuration file.
حال کافیست فایل tmux.conf را باز کنید و شروع به ویرایش آن کنیم:
sudo nano /etc/tmux.conf
به عنوان نکته اول توجه داشته باشید که پس از هر تغییری که در tmux.conf می دهید، باید tmux ریست شود یا هیچ session فعالی نداشته باشد و بعد تست کنید و ببینید که تغییرات اعمال شده یا خیر؟ با دستور زیر می توانید متوجه شوید که در حال حاضر Session باز هست یا خیر !؟
tmux ls
برای killکردن tmuxنیز از دستور زیر استفاده کنید:
tmux kill-server
خب دیگه با موارد پایه آشنا شدید و دیگه بیم دنبال کاستوم کردن Tmux
اولین تغییر مد نظر، عوض کردن دستورات اسپلیت کردن افقی و عمودی صفحه در تیماکس، می خواهیم به جای «”» و «%» از «-» و «|» استفاده کنیم:
# split panes using | and - bind | split-window -h bind - split-window -v unbind '"' unbind %
خب تغییر دوم مربوط میشه به سوییچ کردن بین pane ها در تیماکس، می نتمی خواهیم هر دفعه از prefix یا همون «ctl+b» استفاده کنیم و بعدش pane رو سوییچ کنیم. می خواهیم از M-<direction>
استفاده کنیم که m همون meta هست که معمولا Alt هست. پس با تغییرات زیر به راحتی با زدن alt و کلید های جهت نما، pane عوض می شود:
# switch panes using Alt-arrow without prefix bind -n M-Left select-pane -L bind -n M-Right select-pane -R bind -n M-Up select-pane -U bind -n M-Down select-pane -D
فعال کردن استفاده از موس در تیماکس: می دونیم که بهترین حالت برای استفاده از ترمینال، تایپ کردن و استفاده از کیبورد تنها می باشد، ولی خب همون طور که در بالا دیدید، ممکن هست ما تیماکس خودمان را کاستوم کرده باشیم و کسی بخواد با سیستم ما کار بکنه، بهتره که موس هم فعال باشه تا با کلیک روی هر pane بتونه به اون pane بره. در تیماکس ۲.۱ به بالا این قابلیت اضافه شده و فقط باید آن را فعال کرد. جهت فعال سازی خط زیر را با فایل tmux.conf اضافه کنید:
# Enable mouse mode (tmux 2.1 and above) set -g mouse on
تغییر ظاهر Tmux
خب تغییر تیماکس یه مقدار پیچیدگی اش از چیزی که بالا انجام دادیم بیشتر هست و من خودم از نمونه ظاهر هایی که دیگران درست کرده اند استفاده می کنم، برای مثال به خطوط زیر دقت نمایید :
###################### ### DESIGN CHANGES ### ###################### # loud or quiet? set -g visual-activity off set -g visual-bell off set -g visual-silence off setw -g monitor-activity off set -g bell-action none # modes setw -g clock-mode-colour colour5 setw -g mode-style 'fg=colour1 bg=colour18 bold' # panes set -g pane-border-style 'fg=colour19 bg=colour0' set -g pane-active-border-style 'bg=colour0 fg=colour9' # statusbar set -g status-position bottom set -g status-justify left set -g status-style 'bg=colour18 fg=colour137 dim' set -g status-left '' set -g status-right '#[fg=colour233,bg=colour19] %d/%m #[fg=colour233,bg=colour8] %H:%M:%S ' set -g status-right-length 50 set -g status-left-length 20 setw -g window-status-current-style 'fg=colour1 bg=colour19 bold' setw -g window-status-current-format ' #I#[fg=colour249]:#[fg=colour255]#W#[fg=colour249]#F ' setw -g window-status-style 'fg=colour9 bg=colour18' setw -g window-status-format ' #I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F ' setw -g window-status-bell-style 'fg=colour255 bg=colour1 bold' # messages set -g message-style 'fg=colour232 bg=colour16 bold'
تنظیم Tmux به عنوان Shell پیشفرض:
به عنوان نکته آموزش آخر، اگر می خواهید تیماکس-tmux ، به عنوان shell پیشفرض سیستم شما باشه، کافیست فایل .bashrc رو یه مقدار تغییرات بدید.
فایل .bashrc داخل فولدر Home قرار دارد، مطمین بشید show hidden files فعال باشه، برای تنظیم tmux به عنوان shell پیشفرض کافیست سه خط زیر را قبل از Aliase ها، داخل فایل .bashrc قرار دهید: (مرجع)
if command -v tmux &> /dev/null && [ -n "$PS1" ] && [[ ! "$TERM" =~ screen ]] && [[ ! "$TERM" =~ tmux ]] && [ -z "$TMUX" ]; then exec tmux fi
ارسال پاسخ