آشنایی با تنظیمات ویرایشگر نانو (nano)
قبلا توی فدورا برای ویرایش فایلهای متنی از vi استفاده میکردم اما بعد از مهاجرتم به آرچ خودبهخود vi رو با nano جایگزین کردم. الان از این انتخاب راضیم و به نظرم nano در عین سادگی بسیار کامل و به دردبخوره و خیلی دوسش دارم.
توی این پست با تنظیمات nano برای هر چه قدرتمندتر کردنش آشنا میشیم.
۱. اسکرول نرم - Smooth Scrolling
nano دو نوع اسکرول رو پشتیبانی میکنه. یکی chunk-by-chunk که چند خط چند خط اسکرول میشه و یکی line-by-line که همون اسکرول خط به خطه.
nano به طور پیشفرض اسکرول رو به صورت چند خطی انجام میده. برای اینکه اسکرول خط به خط یا نرم داشته باشید (یعنی با زدن کلیدهای جهتی فقط یک خط بالا یا پایین برید) خط زیر رو به تنظیمات اضافه کنید.
set smooth
یا در زمان اجرای nano از این سوئیچ استفاده کنید.
-S or --smooth
۲. نمایش رنگی کدها - Syntax Highlighting
این یکی از مهمترین ابزارهای nano برای برنامهنویسهاست. nano میتونه سورسکدها یا فایلهای تنظیمات رو به صورت رنگی به شما نشون بده تا خوانایی اونها برای برنامهنویس یا کاربر بالا بره. برای این کار باید خطوط زیر رو به فایل تنظیمات اضافه کنید. فقط زبانهایی رو که نیازتون هست اضافه کنید.
## Nanorc files
include "/usr/share/nano/nanorc.nanorc"
## C/C++
include "/usr/share/nano/c.nanorc"
## HTML
include "/usr/share/nano/html.nanorc"
## TeX
include "/usr/share/nano/tex.nanorc"
## Quoted emails (under e.g. mutt)
include "/usr/share/nano/mutt.nanorc"
## Patch files
include "/usr/share/nano/patch.nanorc"
## Manpages
include "/usr/share/nano/man.nanorc"
## Groff
include "/usr/share/nano/groff.nanorc"
## Perl
include "/usr/share/nano/perl.nanorc"
## Python
include "/usr/share/nano/python.nanorc"
## Ruby
include "/usr/share/nano/ruby.nanorc"
## Java
include "/usr/share/nano/java.nanorc"
## Assembler
include "/usr/share/nano/asm.nanorc"
## Bourne shell scripts
include "/usr/share/nano/sh.nanorc"
## POV-Ray
include "/usr/share/nano/pov.nanorc"
در زمان اجرا هم میتونید از این سوئیچ استفاده کنید. فقط کافیه اسم زبان مورد نظرتون رو به سوئیچ بدید.
-Y str or --syntax str
اگه باز هم نیاز به تغییرات شد میتونید فایلهای بالا رو دستکاری کنید. مثلا برای آبی کردن رنگ خطوط کامنت میتونید یه چیزی مثل این داشته باشید.
syntax "comments" ".*"
color blue "^#.*"
توی اینترنت هم نمونههای زیادی برای دانلود وجود داره فقط کافیه یکم جستجو کنید.
فقط یادتون نره که فایلهای nanorc. دانلود شده رو به مسیر زیر کپی کنید.
/usr/share/nano/
و در نهایت به فایل تنظیمات اضافشون کنید.
## PHP
include "/usr/share/nano/php.nanorc"
## JavaScript
include "/usr/share/nano/js.nanorc"
۳- دندانهگذاری خودکار - Auto Indentation
این گزینه هم برای برنامهنویسها کاربرد زیادی داره. منطقش هم اینه که دندانهگذاری رو بر اساس فاصلههای خط قبل محاسبه میکنه. مسلما هوشمند نیست اما کار راه بندازه.
توی فایل تنظیمات این خط رو اضافه کنید.
set autoindent
یا از این سوئیچ در زمان اجرا استفاده کنید.
-i or --autoindent
۴- پشتیبانگیری - Backups
این قابلیت رو حتما فعال کنید. فوقالعاده به درد بخوره. تصور کنید یه فایل پیکرهبندی سیستم رو دستکاری کردید و حالا یه مشکلی برای سیستم به وجود اومده و یادتون نیست چیا رو تغییر دادید. با این گزینه هر فایلی رو که دستکاری کنید، nano یه کپی از نسخهی دستکاری نشده رو براتون نگه میداره. حتما توی کار با ویرایشگرهای دیگه مثل vi فایلهای ~ رو دیدید.
توی فایل تنظیمات این خط رو اضافه کنید.
set backup
یا از این سوئیچ در زمان اجرا استفاده کنید.
-B or --backup
توی حالت پیشفرض بکآپها کنار فایل اصلی ذخیره میشه اما یکی از خوبیهای nano اینه که میتونید ازش بخواید که همهی بکآپها رو توی یه مسیر خاص نگه داره.
توی فایل پیکرهبندی این خط رو اضافه کنید و آدرس دلخواهتون رو بنویسید.
set backupdir "/home/user/nano-backups"
۵ - جستجوی حساس به حروف - Case Sensitive Searches
nano در حالت پیشفرض بزرگی و کوچکی حروف توی جستجو براش مهم نیست. اگه خواستید جستجوی نانو رو حساس به حروف بزرگ و کوچک کنید، خط زیر رو به فایل پیکرهبندی اضافه کنید.
set casesensitive
۶- تاریخچه - Nano history
اگه نیاز دارید که به تاریخچهی جستجو/جایگزینیها (search/replace) در نانو دسترسی داشته باشید کافیه خط زیر رو به فایل پیکرهبندی اضافه کنید. تاریخچهی تمام جستجوها در فایل nano-history./~ ذخیره میشه.
set historylog
برای ذخیرهی تاریخچه از سوئیچ زیر هم میتونید استفاده کنید.
-H or --historylog
۷- فضای بیشتر - More Space
این گزینه خط خالی زیر نوار عنوان رو حذف میکنه تا فضای بیشتری برای متن فراهم بشه.
set morespace
آپشن زمان اجرا :
-O or --morespace
۸- مخفی کردن لیست میانبرها - nohelp
برای اینکه لیست شورتکاتهای پایین صفحه نمایش داده نشن از این گزینه استفاده کنید.
set nohelp
آپشن زمان اجرا :
-x or --nohelp
۹- شکستن خطوط - nowrap
set nowrap
-w or --nowrap
۱۰- tab size
set tabsize 10
-T 10 or --tabsize=10
۱۱- تبدیل tab به space
set tabstospaces
-E or --tabstospaces
۱۲- فعال کردن ماوس
set mouse
-m or --mouse
nano --help or man nano
منبع : +