| VIS-MENU(1) | General Commands Manual | VIS-MENU(1) |
نام (NAME)
vis-menu —
انتخاب
تعاملی یک
مورد از یک
فهرست
خلاصه دستور (SYNOPSIS)
vis-menu [-i]
[-t | -b]
[-p prompt]
[-l lines]
[initial] vis-menu
[-v]
توضیحات (DESCRIPTION)
دستور
vis-menu به
کاربر
اجازه
میدهد تا
بهصورت
تعاملی یک
مورد را از
فهرستی از
گزینهها
انتخاب کند.
فهرستی از
موارد که با
خط جدید از
یکدیگر جدا
شدهاند از
ورودی
استاندارد
خوانده
میشود،
سپس فهرست
موارد
مستقیماً
روی
ترمینال
ترسیم
میشود تا
کاربر
بتواند یکی
را انتخاب
کند. در
نهایت،
مورد
انتخابشده
در خروجی
استاندارد
چاپ
میشود.
برای اطلاعات بیشتر درباره نحوه پیمایش در منو، بخش نحوه استفاده (USAGE) در ادامه را ببینید.
-i- استفاده از مقایسه غیرحساس به حروف کوچک و بزرگ هنگام فیلتر کردن موارد.
-t|-b- در حالت
عادی، منو
در خط فعلی
ترمینال
نمایش داده
میشود.
هنگامی که
-tداده شود، منو همیشه در بالاترین خط ترمینال ترسیم خواهد شد. هنگامی که-bداده شود، منو همیشه در پایینترین خط ترسیم خواهد شد. -pprompt- نمایش prompt پیش از فهرست موارد.
-llines- در حالت
عادی،
فهرست با
قرارگیری
تمام موارد
در کنار
یکدیگر در
یک خط منفرد
نمایش داده
میشود که
از نظر
اشغال فضا
بهینه است
اما موارد
زیادی را در
یک لحظه
نشان
نمیدهد،
بهویژه
اگر برخی از
آنها
طولانی
باشند.
هنگامی که
-lداده شود، فهرست به گونهای نمایش داده میشود که هر مورد در خط جداگانه خود قرار دارد و ارتفاع آن lines خط خواهد بود. اگر تعداد موارد موجود در فهرست بیشتر از lines باشد، کاربر میتواند با کلیدهای جهتنما در میان آنها پیمایش کند، درست مانند حالت افقی معمولی. - initial
- کاربر میتواند علاوه بر پیمایش در میان موارد، در یک فیلد متنی تایپ کند تا فهرست موارد را فیلتر کند. در صورت مشخص شدن، از initial بهعنوان محتوای اولیه فیلد متنی استفاده میشود.
-v- به جای
نمایش یک
منوی
تعاملی،
vis-menuشماره نسخه خود را در خروجی استاندارد چاپ کرده و خارج میشود.
نحوه استفاده (USAGE)
دستور
vis-menu اعلان
یا prompt (در صورت
وجود)، یک
فیلد متنی،
و فهرستی از
موارد را
نمایش
میدهد. به
طور معمول
این موارد
در کنار
یکدیگر در
یک خط منفرد
ارائه
میشوند،
اما اگر
پرچم -l
داده شود،
اعلان و
ناحیه تایپ
در خط اول، و
موارد
فهرست در
خطوط بعدی
قرار
خواهند
گرفت.
فرمانهای زیر در دسترس هستند:
- Enter
- موردِ هایلایتشده فعلی فهرست را انتخاب کرده و خارج میشود.
- Control-\ یا Control-]
- محتوای فعلی فیلد متنی را (حتی اگر در فهرست ظاهر نشده باشد) انتخاب کرده و خارج میشود.
- ESC ESC یا Control-C
- بدون انتخاب هیچ موردی خارج میشود.
- Down یا Control-N
- پیمایش رو به جلو در میان موارد موجود فهرست.
- Up یا Control-P
- پیمایش رو به عقب در میان موارد موجود فهرست.
- Right یا Control-F
- حرکت مکاننما به جلو در متن تایپشده، و پیمایش در میان موارد موجود فهرست.
- Left یا Control-B
- حرکت مکاننما به عقب در متن تایپشده، و پیمایش در میان موارد موجود فهرست.
- PageUp یا Control-V
- برای نمایش صفحه قبلی موارد فهرست پیمایش میکند.
- PageDown یا Meta-v
- برای نمایش صفحه بعدی موارد فهرست پیمایش میکند.
- Home یا Control-A
- حرکت مکاننما به ابتدای فیلد متنی یا پیمایش به اولین مورد در فهرست.
- End یا Control-E
- حرکت مکاننما به انتهای فیلد متنی یا پیمایش به آخرین مورد در فهرست.
- Meta-b
- مکاننما را به ابتدای کلمه فعلی در فیلد متنی منتقل میکند.
- Meta-f
- مکاننما را به بعد از انتهای کلمه فعلی در فیلد متنی منتقل میکند.
- Tab
- محتوای مورد انتخابشده فهرست را در فیلد متنی کپی میکند. این قابلیت تقریباً مشابه با تکمیل با کلید Tab (tab completion) است، اما دقیقاً آن نیست.
- Delete یا Control-D
- حذف نویسه زیر مکاننما در فیلد متنی.
- Backspace
- نویسه سمت چپ مکاننما در فیلد متنی را حذف میکند.
- Meta-d
- نویسههای موجود در فیلد متنی را از نویسه زیر مکاننما تا فاصله بعدی حذف میکند.
- Control-K
- نویسههای موجود در فیلد متنی را از نویسه زیر مکاننما تا انتها حذف میکند.
- Control-U
- نویسههای موجود در فیلد متنی را از ابتدا تا (بدون احتساب) نویسه زیر مکاننما حذف میکند.
- Control-W
- نویسههای موجود در فیلد متنی را از فاصله قبلی تا (بدون احتساب) نویسه زیر مکاننما حذف میکند.
همه نویسههای غیرکنترلی دیگر در موقعیت فعلی مکاننما در فیلد متنی درج خواهند شد.
هنگامی که متنی در فیلد متنی وجود دارد، تنها مواردی از فهرست نشان داده میشوند که شامل متن دادهشده باشند. اگر متن شامل یک یا چند فاصله باشد، هر رشته جداشده با فاصله یک فیلتر جداگانه در نظر گرفته میشود و تنها مواردی که با تمام فیلترها مطابقت داشته باشند نمایش داده خواهند شد.
اگر کاربر تمام موارد را از فهرست فیلتر کند، و سپس کلید Enter را برای انتخاب “موردِ هایلایتشده فعلی” بفشارد، متنی که تایپ کرده است به جای آن بازگردانده میشود.
مثالها (EXAMPLES)
در اینجا یک اسکریپت شل آورده شده است که به کاربر اجازه میدهد عددی از ۱ تا ۱۰ را انتخاب کند:
NUMBER=$(seq 1 10 | vis-menu -p "Choose a number") if [ $? -eq 0 ]; then echo "You chose: $NUMBER" else echo "You refused to choose a number, or an error occurred." fi
خطاها (DIAGNOSTICS)
ابزار
vis-menu در
صورتی که
کاربر با
موفقیت
موردی را از
فهرست
انتخاب کند
با وضعیت 0
خارج
میشود، و
در صورتی که
کاربر
عملیات را
لغو کند با
وضعیت 1
خاتمه
مییابد.
در صورت
وقوع یک
خطای
داخلی،
ابزار vis-menu
پیامی را در
خروجی خطای
استاندارد
چاپ کرده و
با وضعیت
خروجی
بزرگتر از 1
خاتمه
مییابد.
شرایط خطای
احتمالی
شامل عدم
توانایی در
تخصیص
حافظه، عدم
توانایی در
خواندن از
ورودی
استاندارد،
یا اجرا شدن
بدون یک
ترمینال
کنترلی
است.
همچنین ببینید (SEE ALSO)
تاریخچه (HISTORY)
الگوی
اولیه برای
یک منوی
تکخطی که
موارد را از
ورودی
استاندارد
میخواند
dmenu(1) بود
که این ایده
را برای
سامانه
پنجره X11
پیادهسازی
کرد. ابزار
dmenu از
طریق نشانی
زیر در
دسترس است:
http://tools.suckless.org/dmenu
سپس کد
منبع برای
خروجی
ترمینال ANSI
بازنویسی
شد و به شکل
slmenu(1)
درآمد که از
طریق نشانی
زیر در
دسترس است:
https://bitbucket.org/rafaelgg/slmenu
از آنجا که
به نظر
میرسید
slmenu دیگر
نگهداری
نمیشود،
یک انشعاب (fork)
از آن ایجاد
شد تا به
vis-menu تبدیل
شود و همراه
با vis(1)
توزیع
گردد.
| November 29, 2016 | Vis v0.9-498-gad0f1deb-dirty |