انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => راهنماها، نکات و ترفندها => نویسنده: 藤沼 در 16 خرداد 1395، 08:46 ب‌ظ

عنوان: پشتیبانی از رنگ درست (۱۶ میلیون رنگ) در ترمینال‌ها و برنامه‌ها [Vim/Neovim/tmux]
ارسال شده توسط: 藤沼 در 16 خرداد 1395، 08:46 ب‌ظ
اگر در گنو/لینکوس هستید حتماً نادرستی رنگ در ترمینال‌ها رو دیدید و مطمئناً خیلی از ویژگی‌های خوشایند رو به دلیل اون از دست دادید. من در رابطه با ترمینال، فونت و کلاً محیط کار بسیار وسواسی هستم و در صورت ناراضی بودن حواسم پرت می‌شه بنابراین چند وخت پیش تصمیم کمی تحقیق کنم اگر مشکل رنگ درست‌شده استفاده وگرنه خودم و یکی از دوستان اون رو پیاده کنیم. در اون بازه به این صفحه (https://gist.github.com/XVilka/8346728) برخوردم و فهمیدم مشکل رنگ تقریباً برطرف‌شده ولی ویرایشگر‌ِ متنی که استفاده می‌کنم از رنگِ درست پشتیبانی نمی‌کنه و دوباره غمگین شدم.
شاید سوال بشه که چرا از ویرایشگرهای GUI مثل؛ Atom, Sublime, Lime, LightTable, Gedit, Geany و غیره استفاده نمی‌کنم؟ یکی از دلیل‌های اصلی تمرکز در محیطِ کاره. وقتی کار می‌کنم شدیداً به ترمینال نیاز دارم بنابراین توانایی ازکارماندنِ (ctrl-z) ویرایشگر و بازگشتن به ترمینال و ازسرگیری (fg) یکی از معیارهاست (زمان طلاست) که هیچ یک از ویرایشگرهای GUI همچون ویژگی‌ای ندارن. به‌هرحال نزدیک یک ماه پیش فهمیدم که ویرایشگر Neovim از رنگ درست پشتیبانی می‌کنه و Vim هم همین‌طور. خلاصه می‌خوام روش تنظیم و پیکربندی جفت ویرایشگرها و چندبخش‌گر tmux برای نمایش رنگ درست رو بنویسم.
نیازمندی‌ها:
پشتیبانی در Vim: آخرین برچسب از مخزن (https://github.com/vim/vim) و انجام گام‌های ساخت و نصب برنامه.
پشتیبانی در Neovim: آخرین برچسب از مخزن (https://github.com/neovim/neovim) و قبلی.
پشتیبانی در tmux: آخرین برچسب از مخزن (http://github.com/tmux/tmux) و قبلی.
پشتیبانی در ترمینال:‌ نصب یکی از ترمینال‌های نوشته‌شده در این صفحه (https://gist.github.com/XVilka/8346728).
---------vim------------
" filename: ~/.vimrc
" use highlight-guifg and highlight-guibg attributes in the terminal
set termguicolors
" set t_8f and t_8b when $TERM is not xterm
execute "set t_8f=\e[38;2;%lu;%lu;%lum"
execute "set t_8b=\e[48;2;%lu;%lu;%lum"
---------neovim---------
" filename: ~/.config/nvim/init.vim
" use highlight-guifg and highlight-guibg attributes in the terminal
set termguicolors
---------tmux-----------
# filename: ~/.tmux.conf
set -ga terminal-overrides ",xterm-256color:Tc"

بعد از انجام گام‌های نوشته‌شده باید همهٔ رنگ‌ها در تم‌هایی که فقط در ویرایشگر gvim درست نمایش داده می‌شن در ترمینال هم یکسان عمل کنن.