.ig The MIT License (MIT) Copyright (c) 2013-2026 Junegunn Choi Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. .. .TH fzf 1 "Aug 2026" "fzf 0.74.3" "fzf - a command-line fuzzy finder" .SH "نام (NAME)" fzf \- ابزار جستجوگر فازی خط فرمان .SH "خلاصه دستور (SYNOPSIS)" .B fzf [\fIگزینه‌ها\fR] .SH "توضیحات (DESCRIPTION)" ابزار fzf یک برنامه فیلتر تعاملی برای هر نوع فهرستی است. .PP این ابزار یک الگوریتم تطبیق «فازی» را پیاده‌سازی می‌کند، بنابراین می‌توانید به سرعت الگوها را با حروفی حذف‌شده تایپ کرده و همچنان نتایج مورد نظر خود را دریافت کنید. .SH "گزینهها (OPTIONS)" .SS "یادداشت (NOTE)" .TP بیشتر گزینه‌های طولانی دارای نسخه‌ای متضاد با پیشوند \fB\-\-no\-\fR هستند. .SS "جستجو (SEARCH)" .TP .B "\-x, \-\-extended" حالت جستجوی گسترش‌یافته (Extended-search). به صورت پیش‌فرض فعال است. می‌توانید آن را با \fB+x\fR یا \fB\-\-no\-extended\fR غیرفعال کنید. .TP .B "\-e, \-\-exact" فعال کردن تطبیق دقیق (Exact-match). .TP .B "\-i, \-\-ignore\-case" تطبیق غیرحساس به بزرگی و کوچکی حروف (پیش‌فرض: تطبیق هوشمند smart-case). .TP .B "+i, \-\-no\-ignore\-case" تطبیق حساس به بزرگی و کوچکی حروف. .TP .B "\-\-smart\-case" تطبیق هوشمند حروف (پیش‌فرض). در این حالت، جستجو به صورت پیش‌فرض به حروف کوچک و بزرگ حساس نیست، اما اگر عبارت جستجو دارای هرگونه حرف بزرگ باشد، جستجو به حروف بزرگ و کوچک حساس خواهد شد. .TP .B "\-\-literal" عدم نرمال‌سازی حروف لاتین برای تطبیق (مقایسه عینی کاراکترها). .TP .BI "\-\-scheme=" SCHEME انتخاب طرح امتیازدهی (Scoring scheme) متناسب با انواع مختلف ورودی. .RS .B default .RS طرح امتیازدهی عمومی که برای عملکرد مناسب با هر نوع ورودی طراحی شده است. .RE .RE .RS .B path .RS امتیاز تشویقی اضافی فقط به کاراکترهای پس از جداکننده مسیر تعلق می‌گیرد. اگر فایل‌های زیادی با فاصله در مسیرشان دارید، ممکن است بخواهید این طرح را به جای \fBdefault\fR انتخاب کنید. این گزینه همچنین \fB\-\-tiebreak=pathname,length\fR را تنظیم می‌کند تا به تطابق‌های رخ‌داده در آخرین بخش از مسیر فایل اولویت داده شود. .RE .RE .RS .B history .RS طرح امتیازدهی بسیار مناسب برای تاریخچه دستورات یا هر ورودی دیگری که ترتیب زمانی در آن مهم است. هیچ امتیاز تشویقی اضافی داده نمی‌شود تا وزن بیشتری به ترتیب زمانی اختصاص یابد. این گزینه همچنین \fB\-\-tiebreak=index\fR را تنظیم می‌کند. .RE .RE .RS ابزار fzf طرح \fBpath\fR را زمانی انتخاب می‌کند که ورودی یک دستگاه TTY باشد، جایی که fzf پیمایشگر داخلی خود را راه‌اندازی می‌کند یا \fB$FZF_DEFAULT_COMMAND\fR را اجرا می‌نماید، و هیچ عملیات \fBreload\fR یا \fBtransform\fR به رویداد \fBstart\fR متصل نشده باشد. در غیر این صورت، طرح \fBdefault\fR را انتخاب می‌کند. .RE .TP .BI "\-\-algo=" TYPE الگوریتم تطبیق فازی (پیش‌فرض: v2) .br .BR v2 " الگوریتم امتیازدهی بهینه (کیفیت)" .br .BR v1 " سریع‌تر اما یافتن نتیجه بهینه تضمین نمی‌شود (کارایی)" .br .TP .BI "\-n, \-\-nth=" "N[,..]" فهرست جداشده با کاما از عبارات اندیس فیلد برای محدود کردن دامنه جستجو. برای جزئیات به بخش \fBFIELD INDEX EXPRESSION\fR مراجعه کنید. هنگامی که از این گزینه به همراه \fB\-\-with\-nth\fR استفاده می‌کنید، عبارات اندیس فیلد روی خطوط دگرگون‌شده محاسبه می‌شوند (برخلاف \fB\-\-preview\fR که فیلدها از خطوط اصلی استخراج می‌شوند)، زیرا fzf اجازه جستجو در فیلدهای پنهان را نمی‌دهد. .TP .BI "\-\-with\-nth=" "N[,..] or TEMPLATE" دگرگون کردن نحوه نمایش هر خط با استفاده از عبارات اندیس فیلد. برای دگرگون‌سازی پیشرفته، می‌توانید الگویی شامل عبارات اندیس فیلد در داخل آکولاد مشخص کنید. هنگامی که از یک الگو استفاده می‌کنید، جداکننده انتهایی از هر عبارت حذف می‌شود که کنترل بیشتری روی خروجی به شما می‌دهد. مقدار \fB{n}\fR در الگو به اندیس ترتیبی خط بر پایه صفر ارزیابی می‌شود. .RS مثال: # عبارت تکی: حذف فیلد اول echo foo bar baz | fzf --with-nth 2.. # استفاده از الگو برای بازآرایی فیلدها echo foo,bar,baz | fzf --delimiter , --with-nth '{n},{1},{3},{2},{1..2}' .RE .RS عملیات \fBchange\-with\-nth\fR تنها زمانی در دسترس است که \fB\-\-with\-nth\fR تنظیم شده باشد. زمانی که \fB\-\-with\-nth\fR استفاده می‌شود، fzf خطوط ورودی اصلی را در حافظه نگه می‌دارد تا بتوان آن‌ها را در حین کار مجدداً دگرگون کرد (مانند \fB\-\-with\-nth ..\fR برای حفظ نحوه نمایش اصلی). این کار مصرف حافظه را افزایش می‌دهد، بنابراین تنها در صورتی از \fB\-\-with\-nth\fR استفاده کنید که واقعاً به دگرگون‌سازی فیلد نیاز داشته باشید. .RE .TP .BI "\-\-accept\-nth=" "N[,..] or TEMPLATE" تعیین فیلدهایی که هنگام پذیرش (Accept) باید چاپ شوند. آخرین جداکننده از خروجی حذف می‌شود. برای دگرگون‌سازی پیشرفته، می‌توانید الگویی شامل عبارات اندیس فیلد در داخل آکولاد مشخص کنید. زمانی که از الگو استفاده می‌کنید، جداکننده انتهایی از هر عبارت حذف می‌شود که کنترل بیشتری بر خروجی فراهم می‌سازد. مقدار \fB{n}\fR در الگو به اندیس ترتیبی خط بر پایه صفر ارزیابی می‌شود. .RS مثال: # عبارت تکی echo foo bar baz | fzf --accept-nth 2 # الگو echo foo bar baz | fzf --accept-nth 'Index: {n}, 1st: {1}, 2nd: {2}, 3rd: {3}' .RE .TP .B "+s, \-\-no\-sort" عدم مرتب‌سازی نتایج .TP .BI "\-d, \-\-delimiter=" "STR" عبارت منظم (Regex) جداکننده فیلد برای \fB\-\-nth\fR ، \fB\-\-with\-nth\fR و عبارات اندیس فیلد (پیش‌فرض: سبک AWK). .TP .B "\-\-tail=NUM" حداکثر تعداد آیتم‌هایی که در حافظه نگهداری می‌شوند. این گزینه زمانی مفید است که می‌خواهید جریانی بی‌پایان از داده‌ها (مانند جریان گزارش‌های لاگ) را با fzf مرور کنید و در عین حال مصرف حافظه را محدود نگه‌دارید. .RS مثال: \fB# فیلتر کردن تعاملی جریان گزارش‌های لاگ tail \-f *.log | fzf \-\-tail 100000 \-\-tac \-\-no\-sort \-\-exact\fR .RE .TP .BI "\-\-disabled" عدم انجام جستجو. با این گزینه، fzf به جای یک «جستجوگر فازی» به یک واسط انتخابگر ساده تبدیل می‌شود. بعداً می‌توانید با استفاده از عملیات \fBenable\-search\fR یا \fBtoggle\-search\fR جستجو را فعال کنید. .TP .BI "\-\-tiebreak=" "CRI[,..]" فهرست جداشده با کاما از معیارهای مرتب‌سازی که در هنگام برابر شدن امتیازها اعمال می‌شوند. .br .br .BR length " اولویت به خط با طول کوتاه‌تر" .br .BR chunk " اولویت به خط با بخش تطبیق‌یافته کوتاه‌تر (جداشده با فاصله‌ها)" .br .BR pathname " اولویت به خط با زیررشته تطبیق‌یافته در نام فایلِ مسیر" .br .BR begin " اولویت به خط با زیررشته تطبیق‌یافته نزدیک‌تر به ابتدا" .br .BR end " اولویت به خط با زیررشته تطبیق‌یافته نزدیک‌تر به انتها" .br .BR index " اولویت به خطی که زودتر در جریان ورودی ظاهر شده است" .br .br \- هر معیار فقط باید یک بار در فهرست ظاهر شود .br \- مقدار \fBindex\fR تنها در انتهای فهرست مجاز است .br \- در صورت مشخص نشدن، \fBindex\fR به صورت ضمنی به انتهای فهرست افزوده می‌شود .br \- پیش‌فرض \fBlength\fR است (یا به طور معادل \fBlength\fR,index) .br \- اگر \fBend\fR در فهرست باشد، fzf هر خط را از انتها به ابتدا جستجو می‌کند .SS "ورودی/خروجی (INPUT/OUTPUT)" .TP .B "\-\-read0" خواندن ورودی جداشده با کاراکترهای اسکی NUL به جای کاراکترهای خط جدید .TP .B "\-\-print0" چاپ خروجی جداشده با کاراکترهای اسکی NUL به جای کاراکترهای خط جدید .TP .B "\-\-ansi" فعال‌سازی پردازش کدهای رنگی ANSI .TP .B "\-\-sync" جستجوی همگام (Synchronous) برای فیلترسازی چندمرحله‌ای. در صورت تعیین این گزینه، fzf جستجوگر را تنها پس از تکمیل جریان ورودی، فیلتر اولیه و اتمام تمام عملیات‌های مرتبط (متصل به هر یک از \fBstart\fR ، \fBload\fR ، \fBresult\fR ، \fBresult\-final\fR یا \fBfocus\fR ) راه‌اندازی می‌کند. .RS مثال: \fB# جلوگیری از رندر هم‌زمان هر دو نمونه fzf fzf \-\-multi | fzf \-\-sync # ابزار fzf وضعیت‌های میانی را رندر نمی‌کند (sleep 1; seq 1000000; sleep 1) | fzf \-\-sync \-\-query 5 \-\-listen \-\-bind start:up,load:up,result:up,focus:change\-header:Ready\fR .RE .TP .B "\-\-no\-tty\-default" جستجوی دستگاه TTY فعلی از طریق خطای استاندارد (stderr) به جای پیش‌فرض قرار دادن \fB/dev/tty\fR . این گزینه از بروز مشکل هنگام اجرای emacsclient از درون fzf جلوگیری می‌کند. همچنین می‌توانید دستگاه TTY پیش‌فرض را با تنظیم \fB\-\-tty\-default=DEVICE_NAME\fR تغییر دهید. .SS "سبک سراسری (GLOBAL STYLE)" .TP .BI "\-\-style=" "PRESET" اعمال یک پیش‌تنظیم سبک [default|minimal|full[:BORDER_STYLE]] .TP .BI "\-\-color=" "[BASE_SCHEME][,COLOR_NAME[:ANSI_COLOR][:ANSI_ATTRIBUTES]]..." پیکربندی رنگ‌ها. نام طرح رنگی پایه با نگاشت‌های رنگی سفارشی دنبال می‌شود. هر ورودی با کاما و/یا فاصله‌ها از هم جدا می‌شود. .RS .B "طرح پایه (BASE SCHEME):" (پیش‌فرض: \fBdark\fR در ترمینال با ۲۵۶ رنگ، در غیر این صورت \fBbase16\fR؛ اگر \fBNO_COLOR\fR تنظیم شده باشد، \fBbw\fR) \fBdark \fRطرح رنگی برای ترمینال تیره \fBlight \fRطرح رنگی برای ترمینال روشن \fBbase16 \fRطرح رنگی با استفاده از ۱۶ رنگ پایه (نام مستعار: \fB16\fR) \fBbw \fRبدون رنگ (معادل \fB\-\-no\-color\fR) .B "نام رنگ‌ها (COLOR NAMES):" \fBfg \fRمتن \fBlist\-fg \fRمتن در بخش فهرست \fBselected\-fg \fRمتن خط انتخاب‌شده \fBpreview\-fg \fRمتن پنجره پیش‌نمایش \fBbg \fRپس‌زمینه \fBlist\-bg \fRپس‌زمینه بخش فهرست \fBselected\-bg \fRپس‌زمینه خط انتخاب‌شده \fBpreview\-bg \fRپس‌زمینه پنجره پیش‌نمایش \fBinput\-bg \fRپس‌زمینه پنجره ورودی \fBheader\-bg \fRپس‌زمینه پنجره سربرگ \fBfooter\-bg \fRپس‌زمینه پنجره پابرگ \fBhl \fRزیررشته‌های برجسته‌شده \fBselected\-hl \fRزیررشته‌های برجسته‌شده در خط انتخاب‌شده \fBcurrent\-fg (fg+) \fRمتن (خط فعلی) \fBcurrent\-bg (bg+) \fRپس‌زمینه (خط فعلی) \fBgutter \fRحاشیه در سمت چپ (Gutter) \fBcurrent\-hl (hl+) \fRزیررشته‌های برجسته‌شده (خط فعلی) \fBalt\-bg \fRرنگ پس‌زمینه متناوب برای ایجاد خطوط راه‌راه \fBalt\-gutter \fRرنگ حاشیه متناوب برای ایجاد الگوی راه‌راه \fBquery (input\-fg) \fRرشته عبارت جستجو (Query) \fBghost \fRمتن کم‌رنگ پیش‌نمایش (\fB\-\-ghost\fR، به صورت پیش‌فرض \fBdim\fR اعمال می‌شود) \fBdisabled \fRرشته جستجو هنگام غیرفعال بودن قابلیت جستجو (\fB\-\-disabled\fR) \fBinfo \fRخط اطلاعات (شمارنده‌های تطابق) \fBborder \fRکادر دور پنجره (\fB\-\-border\fR و \fB\-\-preview\fR) \fBlist\-border \fRکادر دور بخش فهرست (\fB\-\-list\-border\fR) \fBscrollbar \fRنوار اسکرول \fBseparator \fRجداکننده افقی در خط اطلاعات \fBgap\-line \fRخط افقی روی هر فاصله (Gap) \fBpreview\-border \fRکادر دور پنجره پیش‌نمایش (\fB\-\-preview\fR) \fBpreview\-scrollbar \fRنوار اسکرول پیش‌نمایش \fBinput\-border \fRکادر دور پنجره ورودی (\fB\-\-input\-border\fR) \fBheader\-border \fRکادر دور پنجره سربرگ (\fB\-\-header\-border\fR) \fBfooter\-border \fRکادر دور پنجره پابرگ (\fB\-\-footer\-border\fR) \fBlabel \fRبرچسب کادر (\fB\-\-border\-label\fR، \fB\-\-list\-label\fR، \fB\-\-input\-label\fR و \fB\-\-preview\-label\fR) \fBlist\-label \fRبرچسب کادر بخش فهرست (\fB\-\-list\-label\fR) \fBpreview\-label \fRبرچسب کادر پنجره پیش‌نمایش (\fB\-\-preview\-label\fR) \fBinput\-label \fRبرچسب کادر پنجره ورودی (\fB\-\-input\-label\fR) \fBheader\-label \fRبرچسب کادر پنجره سربرگ (\fB\-\-header\-label\fR) \fBfooter\-label \fRبرچسب کادر پنجره پابرگ (\fB\-\-footer\-label\fR) \fBprompt \fRاعلان خط فرمان (Prompt) \fBpointer \fRنشانگر خط فعلی \fBmarker \fRنشانگر انتخاب چندگانه \fBspinner \fRنشانگر چرخان جریان ورودی داده (Spinner) \fBheader (header\-fg) \fRسربرگ \fBfooter (footer\-fg) \fRپابرگ \fBnth \fRبخش‌هایی از خط که با \fB\-\-nth\fR مشخص شده‌اند (تنها از ویژگی‌ها پشتیبانی می‌کند) \fBnomatch \fRآیتم‌های منطبق‌نشده در حالت خام (پیش‌فرض: \fBdim\fR) .B "رنگ‌های انسی (ANSI COLORS):" \fB\-1 \fRرنگ پیش‌فرض پیش‌زمینه/پس‌زمینه ترمینال \fB \fR(یا رنگ اصلی متن) \fB0 ~ 15 \fR۱۶ رنگ پایه \fBblack\fR \fBred\fR \fBgreen\fR \fByellow\fR \fBblue\fR \fBmagenta\fR \fBcyan\fR \fBwhite\fR \fBbright\-black\fR (gray | grey) \fBbright\-red\fR \fBbright\-green\fR \fBbright\-yellow\fR \fBbright\-blue\fR \fBbright\-magenta\fR \fBbright\-cyan\fR \fBbright\-white\fR \fB16 ~ 255 \fR۲۵۶ رنگ ANSI \fB#rrggbb \fRرنگ‌های ۲۴ بیتی .B "ویژگی‌های انسی (ANSI ATTRIBUTES): (تنها برای رنگ‌های پیش‌زمینه اعمال می‌شود)" \fBregular \fRپاک کردن ویژگی‌های قبلاً تنظیم‌شده؛ باید قبل از سایر موارد بیاید \fBstrip \fRحذف رنگ‌ها \fBbold\fR \fBunderline\fR \fBunderline-double\fR \fBunderline-curly\fR \fBunderline-dotted\fR \fBunderline-dashed\fR \fBreverse\fR \fBdim\fR \fBitalic\fR \fBstrikethrough\fR .B "مثال‌ها (EXAMPLES):" \fB# پوسته Seoul256 با رنگ‌های ۸ بیتی # (https://github.com/junegunn/seoul256.vim) fzf \-\-color='bg:237,bg+:236,info:143,border:240,spinner:108' \\ \-\-color='hl:65,fg:252,header:65,fg+:252' \\ \-\-color='pointer:161,marker:168,prompt:110,hl+:108' # پوسته Seoul256 با رنگ‌های ۲۴ بیتی fzf \-\-color='bg:#4B4B4B,bg+:#3F3F3F,info:#BDBB72,border:#6B6B6B,spinner:#98BC99' \\ \-\-color='hl:#719872,fg:#D9D9D9,header:#719872,fg+:#D9D9D9' \\ \-\-color='pointer:#E12672,marker:#E17899,prompt:#98BEDE,hl+:#98BC99' # پوسته روشن Seoul256 با رنگ‌های ۲۴ بیتی، هر ورودی با فاصله جدا شده است fzf \-\-style full \-\-color=' fg:#616161 fg+:#616161 bg:#ffffff bg+:#e9e9e9 alt-bg:#f1f1f1 hl:#719872 hl+:#719899 pointer:#e12672 marker:#e17899 header:#719872 spinner:#719899 info:#727100 prompt:#0099bd query:#616161 border:#e1e1e1 '\fR .RE .TP .B "\-\-no\-color" غیرفعال کردن رنگ‌ها .TP .B "\-\-no\-bold" عدم استفاده از متن پررنگ (Bold) .TP .B "\-\-black" استفاده از پس‌زمینه مشکی .SS "حالت نمایش (DISPLAY MODE)" .TP .BI "\-\-height=" "[~][\-]HEIGHT[%]" نمایش پنجره fzf در زیر مکان‌نما با ارتفاع داده‌شده به جای استفاده از کل صفحه. .PP اگر یک مقدار منفی مشخص شود، ارتفاع برابر با ارتفاع ترمینال منهای مقدار داده‌شده محاسبه می‌شود. .PP .nf fzf \-\-height=\-1 .fi .PP هنگامی که پیشوند \fB~\fR به آن افزوده شود، fzf به صورت خودکار ارتفاع را در این محدوده با توجه به حجم ورودی تعیین می‌کند. می‌توانید \fB~\fR را با یک مقدار منفی ترکیب کنید. .PP .nf # تمام ۱۰۰٪ صفحه را اشغال نخواهد کرد seq 5 | fzf \-\-height=~100% # هماهنگ با اندازه ورودی، حداکثر تا ارتفاع ترمینال منهای ۱ seq 5 | fzf \-\-height=~\-1 .fi .PP ارتفاع انطباقی دارای محدودیت‌های زیر است: .br * نمی‌توان آن را همراه با حاشیه بیرونی (margin) و فاصله‌گذاری درونی (padding) بالا/پایین که بر حسب درصد مشخص شده‌اند به کار برد .br * زمانی که آیتم‌های چندخطی وجود داشته باشند اندازه مناسب را پیدا نمی‌کند .TP .BI "\-\-min\-height=" "HEIGHT[+]" حداقل ارتفاع زمانی که \fB\-\-height\fR به صورت درصد داده شده باشد. علامت \fB+\fR را اضافه کنید تا این مقدار با توجه به سایر گزینه‌های چیدمان به طور خودکار افزایش یابد، به گونه‌ای که تعداد آیتم‌های مشخص‌شده در بخش فهرست قابل مشاهده باشند (پیش‌فرض: \fB10+\fR ). اگر \fB\-\-height\fR مشخص نشده باشد یا به صورت یک مقدار مطلق تعیین شده باشد، نادیده گرفته می‌شود. .TP .BI "\-\-popup" "[=[center|top|bottom|left|right][,SIZE[%]][,SIZE[%]][,border-native]]" اجرای fzf در یک قاب شناور tmux یا Zellij (پیش‌فرض \fBcenter,50%\fR ). نیازمند tmux نسخه 3.3 به بالا یا Zellij نسخه 0.44 به بالا است. اگر fzf درون tmux یا Zellij اجرا نشود، این گزینه نادیده گرفته می‌شود. گزینه \fB\-\-tmux\fR یک نام مستعار برای این گزینه است. .PP در tmux نسخه 3.7 یا بالاتر و در Zellij، قاب شناور غیرمودال (non-modal) است؛ می‌توانید در هنگام اجرای fzf به سایر قاب‌ها و پنجره‌ها جابه‌جا شوید، و قاب را با ماوس جابه‌جا کرده و اندازه آن را تغییر دهید. کادر پیش‌فرضِ خود قاب به عنوان دستگیره جابه‌جایی و تغییر اندازه آن عمل می‌کند، بنابراین به طور پیش‌فرض استفاده می‌شود و \fBborder\-native\fR به صورت ضمنی در نظر گرفته می‌شود. مقدار \fB\-\-border\-label\fR روی کادر پیش‌فرض نمایش داده می‌شود، و عملیات‌های \fBchange\-border\-label\fR و \fBtransform\-border\-label\fR آن را به‌روزرسانی می‌کنند (گزینه \fB\-\-border\-label\-pos\fR نادیده گرفته می‌شود). در tmux، ابزار fzf برچسب را در گزینه \fB@fzf\-border\-label\fR قاب نگه می‌دارد و \fBpane\-border\-format\fR آن را تنظیم می‌کند تا آن را بازخوانی نماید، بنابراین در صورت فعال بودن \fBpane\-border\-status\fR در tmux، برچسب نمایش داده می‌شود. عنوان قاب دست‌نخورده باقی می‌ماند. در Zellij، برچسب همان نام قاب است. .PP هنگامی که سبک کادر با \fB\-\-border\fR به صراحت تعیین شده باشد، fzf کادر خود را رسم می‌کند تا تنها کادری باشد که نمایش داده می‌شود. مقادیر \fBnone\fR و \fBline\fR به عنوان بدون کادر در نظر گرفته می‌شوند. برای حفظ کادر پیش‌فرض قاب در هر حال، مقدار \fBborder\-native\fR را وارد کنید. در tmux، کادر رسم‌شده توسط fzf در یک پاپ‌آپ مودال نشان داده می‌شود، زیرا کادر پیش‌فرض یک قاب شناور tmux را نمی‌توان حذف کرد؛ این موضوع برای نسخه‌های tmux پایین‌تر از 3.7 نیز صدق می‌کند. .RS مثال: \fB# پاپ‌آپ در مرکز با عرض و ارتفاع ۷۰٪ fzf \-\-popup 70% # پاپ‌آپ در سمت راست با عرض ۴۰٪ و ارتفاع ۱۰۰٪ fzf \-\-popup right,40% # پاپ‌آپ در پایین با عرض ۱۰۰٪ و ارتفاع ۳۰٪ fzf \-\-popup bottom,30% # پاپ‌آپ در بالا با عرض ۸۰٪ و ارتفاع ۴۰٪ fzf \-\-popup top,80%,40% # پاپ‌آپ با کادر پیش‌فرض tmux یا Zellij در مرکز با عرض و ارتفاع ۸۰٪ fzf \-\-popup center,80%,border\-native\fR .RE .SS "چیدمان (LAYOUT)" .TP .BI "\-\-layout=" "LAYOUT" انتخاب نوع چیدمان (پیش‌فرض: default) .br .BR default " نمایش از پایین صفحه" .br .BR reverse " نمایش از بالای صفحه" .br .BR reverse\-list " نمایش از بالای صفحه، اعلان در پایین" .br .TP .B "\-\-reverse" یک مترادف برای \fB\-\-layout=reverse\fR .TP .BI "\-\-margin=" MARGIN عبارت جداشده با کاما برای حاشیه‌های بیرونی (Margins) در اطراف پنجره جستجوگر. .br .br .RS .BR TRBL " حاشیه یکسان برای بالا، راست، پایین و چپ" .br .BR TB,RL " حاشیه عمودی، افقی" .br .BR T,RL,B " حاشیه بالا، افقی، پایین" .br .BR T,R,B,L " حاشیه بالا، راست، پایین، چپ" .br .br هر بخش می‌تواند به صورت یک عدد مطلق یا به صورت درصد نسبت به اندازه ترمینال با پسوند \fB%\fR مشخص شود. .br .br مثال: \fBfzf \-\-margin 10% fzf \-\-margin 1,5%\fR .RE .TP .BI "\-\-padding=" PADDING عبارتی جداشده با کاما برای فاصله‌گذاری درونی (padding) در داخل کادر حاشیه. فاصله‌گذاری درونی تنها زمانی از حاشیه بیرونی (margin) قابل تشخیص است که گزینه \fB\-\-border\fR به کار رفته باشد. .br .br مثال: \fBfzf \-\-margin 5% \-\-padding 5% \-\-border \-\-preview 'cat {}' \\ \-\-color bg:#222222,preview\-bg:#333333\fR .br .RS .BR TRBL " فاصله‌گذاری یکسان برای بالا، راست، پایین و چپ" .br .BR TB,RL " فاصله‌گذاری عمودی، افقی" .br .BR T,RL,B " فاصله‌گذاری بالا، افقی، پایین" .br .BR T,R,B,L " فاصله‌گذاری بالا، راست، پایین، چپ" .br .RE .TP .BI "\-\-border" [=STYLE] رسم حاشیه در اطراف یابنده .br .BR rounded " حاشیه با گوشه‌های گرد (پیش‌فرض)" .br .BR sharp " حاشیه با گوشه‌های تیز" .br .BR bold " حاشیه با خطوط توپر" .br .BR double " حاشیه با خطوط دوگانه" .br .BR dashed " حاشیه با خط‌چین و گوشه‌های گرد" .br .BR block " حاشیه با استفاده از عناصر بلوکی؛ مناسب هنگام استفاده از رنگ‌های پس‌زمینه گوناگون" .br .BR thinblock " حاشیه با استفاده از نمادهای محاسباتی قدیمی؛ ممکن است در برخی ترمینال‌ها نمایش داده نشود" .br .BR horizontal " خطوط افقی در بالا و پایین یابنده" .br .BR vertical " خطوط عمودی در هر دو سمت یابنده" .br .BR line " حاشیه تک‌خطی (موقعیت به طور خودکار تعیین می‌شود)" .br .BR top " (up)" .br .BR bottom " (down)" .br .BR left .br .BR right .br .BR none .br اگر از شبیه‌ساز ترمینالی استفاده می‌کنید که در آن هر نویسه رسم جعبه ۲ ستون فضا اشغال می‌کند، تنظیم \fB\-\-ambidouble\fR را امتحان کنید. اگر حاشیه همچنان به درستی رندر نشد، گزینه \fB\-\-no\-unicode\fR را تنظیم نمایید. سبک \fBline\fR هنگامی که گزینه \fB\-\-height\fR به کار رفته باشد، یک خط جداکننده تکی در بالا رسم می‌کند. .TP .BI "\-\-border\-label" [=LABEL] برچسبی برای چاپ روی خط افقی حاشیه. باید همراه با یکی از گزینه‌های زیر برای \fB\-\-border\fR به کار رود: .br .B * rounded .br .B * sharp .br .B * bold .br .B * double .br .B * horizontal .br .BR "* top" " (up)" .br .BR "* bottom" " (down)" .br .br مثال: \fB# از کدهای رنگی ANSI پشتیبانی می‌شود # (همراه با https://github.com/busyloop/lolcat) label=$(curl \-s http://metaphorpsum.com/sentences/1 | lolcat \-f) # برچسب حاشیه در مرکز fzf \-\-height=10 \-\-border \-\-border\-label="╢ $label ╟" \-\-color=label:italic:black # چپ‌چین (عدد صحیح مثبت) fzf \-\-height=10 \-\-border \-\-border\-label="╢ $label ╟" \-\-border\-label\-pos=3 \-\-color=label:italic:black # راست‌چین (عدد صحیح منفی) روی خط پایین (:bottom) fzf \-\-height=10 \-\-border \-\-border\-label="╢ $label ╟" \-\-border\-label\-pos=\-3:bottom \-\-color=label:italic:black\fR .TP .BI "\-\-border\-label\-pos" [=N[:top|bottom]] موقعیت برچسب حاشیه روی خط کادر. یک عدد صحیح مثبت را به عنوان موقعیت ستون از سمت چپ مشخص کنید. برای راست‌چین کردن برچسب، یک عدد صحیح منفی مشخص نمایید. برچسب به طور پیش‌فرض روی خط حاشیه بالایی چاپ می‌شود، برای قرار دادن آن روی خط حاشیه پایینی، \fB:bottom\fR را اضافه کنید. مقدار پیش‌فرض \fB0\fR (یا \fBcenter\fR) برچسب را در مرکز خط حاشیه قرار می‌دهد. .SS "بخش فهرست (LIST SECTION)" .TP .BI "\-m, \-\-multi" "[=MAX]" فعال‌سازی انتخاب چندگانه با tab/shift\-tab. این گزینه به طور اختیاری یک آرگومان عددی صحیح می‌پذیرد که حداکثر تعداد موارد قابل انتخاب را مشخص می‌کند. .TP .B "+m, \-\-no\-multi" غیرفعال‌سازی انتخاب چندگانه .TP .B "\-\-highlight\-line" برجسته‌سازی کل سطر جاری .TP .B "\-\-cycle" فعال‌سازی پیمایش چرخه‌ای .TP .BI "\-\-wrap" "[=MODE]" فعال‌سازی شکستن سطرها. \fIMODE\fR می‌تواند \fBchar\fR (پیش‌فرض) یا \fBword\fR باشد. حالت \fBword\fR سطرها را در مرز کلمات (فاصله‌ها و تب‌ها) می‌شکند به جای آن که در موقعیت‌های کاراکتری دلخواه بشکند. گزینه \fB\-\-wrap\-word\fR مترادفی برای \fB\-\-wrap=word\fR است. .TP .BI "\-\-wrap\-sign" "=INDICATOR" نشانگر سطرهای شکسته شده. مقدار پیش‌فرض بسته به \fB\-\-no\-unicode\fR برابر '↳ ' یا '> ' است. .TP .B "\-\-no\-multi\-line" غیرفعال‌سازی نمایش چندخطی موارد هنگام استفاده از \fB\-\-read0\fR .TP .B "\-\-raw" فعال‌سازی حالت خام که در آن مواردی که مطابقت ندارند نیز با رنگی کم‌رنگ نمایش داده می‌شوند. .TP .BI "\-\-track" باعث می‌شود fzf هنگام به‌روزرسانی فهرست نتایج، مورد انتخاب‌شده فعلی را دنبال کند. این قابلیت می‌تواند هنگام مرور لاگ‌ها با استفاده از fzf در حالتی که مرتب‌سازی غیرفعال است مفید باشد. استفاده از این گزینه همراه با \fB\-\-tac\fR توصیه نمی‌شود زیرا رفتار حاصل می‌تواند گیج‌کننده باشد. هنگامی که \fB\-\-id\-nth\fR نیز تنظیم شده باشد، fzf ردیابی مبتنی بر فیلد را در میان عملیات‌های \fBreload\fR فعال می‌کند. برای جزئیات به \fB\-\-id\-nth\fR مراجعه کنید. بدون \fB\-\-id\-nth\fR ، گزینه \fB\-\-track\fR از ردیابی مبتنی بر اندیس استفاده می‌کند که در میان بارگذاری‌های مجدد پایدار نمی‌ماند. .RS مثال: \fB# ردیابی مبتنی بر اندیس (در میان بارگذاری‌های مجدد پایدار نمی‌ماند) git log \-\-oneline \-\-graph \-\-color=always | nl | fzf \-\-ansi \-\-track \-\-no\-sort \-\-layout=reverse\-list\fR \fB# ردیابی بر اساس فیلد نخست (مانند نام پاد) در میان بارگذاری‌های مجدد kubectl get pods | fzf \-\-track \-\-id\-nth 1 \-\-header\-lines=1 \\ \-\-bind 'ctrl\-r:reload:kubectl get pods'\fR .RE .TP .BI "\-\-id\-nth=" "N[,..]" تعریف فیلدهای هویتی مورد برای عملیات‌های در طول بازخوانی (cross\-reload). در صورت تنظیم، fzf از فیلدهای مشخص‌شده برای شناسایی موارد در طول \fBreload\fR و \fBreload\-sync\fR استفاده می‌کند. همراه با \fB\-\-track\fR ، برنامه fzf کلید ردیابی را از مورد جاری با استفاده از عبارت nth استخراج کرده و به دنبال مورد منطبق در فهرست بازخوانی‌شده می‌گردد. در حین جستجو، رابط کاربری قفل می‌شود (ورودی پرس‌وجو و حرکت مکان‌نما غیرفعال شده و اعلان ورودی کم‌رنگ می‌شود). با \fBreload\fR ، حالت قفل به محض یافتن مورد منطبق در جریان داده برطرف می‌شود. با \fBreload\-sync\fR ، حالت قفل تا زمان تکمیل کل جریان داده ادامه می‌یابد. فشردن \fBEscape\fR یا \fBCtrl\-C\fR حالت قفل را بدون خروج از fzf لغو می‌کند. خط اطلاعات در حین پیشرفت جستجو، عبارت \fB+T*\fR (یا \fB+t*\fR برای ردیابی یک‌باره) را نشان می‌دهد. همراه با \fB\-\-multi\fR ، موارد انتخاب‌شده در طول \fBreload\-sync\fR با تطبیق فیلدهای هویتی آن‌ها در فهرست بازخوانی‌شده حفظ می‌شوند. .RS مثال: \fB# ردیابی و حفظ موارد انتخاب‌شده بر اساس نام پاد در میان بازخوانی‌ها kubectl get pods | fzf \-\-multi \-\-track \-\-id\-nth 1 \-\-header\-lines=1 \\ \-\-bind 'ctrl\-r:reload\-sync:kubectl get pods'\fR .RE .TP .B "\-\-tac" معکوس کردن ترتیب ورودی .RS مثال: \fBhistory | fzf \-\-tac \-\-no\-sort\fR .RE .TP .BI "\-\-gap" "[=N]" رسم سطرهای خالی بین هر مورد .TP .BI "\-\-gap\-line" "[=STR]" رشته داده‌شده برای رسم خط افقی در هر فاصله تکرار خواهد شد (پیش‌فرض: '┈' یا '\-' بسته به \fB\-\-no\-unicode\fR). .TP .BI "\-\-freeze\-left=" "N" تعداد فیلدهایی که باید در سمت چپ ثابت شوند. .TP .BI "\-\-freeze\-right=" "N" تعداد فیلدهایی که باید در سمت راست ثابت شوند. .TP .B "\-\-keep\-right" نمایان نگه داشتن انتهای سمت راست سطر هنگامی که بیش از حد طولانی است. تنها زمانی موثر است که رشته پرس‌وجو خالی باشد. در صورتی که می‌خواهید فیلد آخر حتی با وجود پرس‌وجوی غیرخالی همواره نمایان باشد، به جای آن از \fB\-\-freeze\-right=1\fR استفاده کنید. .TP .BI "\-\-scroll\-off=" "LINES" تعداد سطرهای صفحه نمایش که هنگام پیمایش به بالا یا پایین، در بالا یا پایین حفظ می‌شوند (پیش‌فرض: ۳). .TP .B "\-\-no\-hscroll" غیرفعال‌سازی پیمایش افقی .TP .BI "\-\-hscroll\-off=" "COLS" تعداد ستون‌های صفحه نمایش برای حفظ در سمت راست زیررشته برجسته شده (پیش‌فرض: ۱۰). تنظیم آن روی یک مقدار بزرگ باعث می‌شود متن در مرکز صفحه قرار گیرد. .TP .BI "\-\-jump\-labels=" "CHARS" کاراکترهای برچسب برای حالت \fBjump\fR . .TP .BI "\-\-gutter=" "CHAR" نویسه مورد استفاده برای ستون ناودان حاشیه (gutter) (پیش‌فرض: '▌' مگر این‌که \fB\-\-no\-unicode\fR داده شده باشد) .TP .BI "\-\-gutter\-raw=" "CHAR" نویسه مورد استفاده برای ستون ناودان حاشیه در حالت خام (پیش‌فرض: '▖' مگر این‌که \fB\-\-no\-unicode\fR داده شده باشد) .TP .BI "\-\-pointer=" "STR" اشاره‌گر به سطر جاری (پیش‌فرض: '▌' یا '>' بسته به \fB\-\-no\-unicode\fR) .TP .BI "\-\-marker=" "STR" نشانگر انتخاب چندگانه (پیش‌فرض: '┃' یا '>' بسته به \fB\-\-no\-unicode\fR) .TP .BI "\-\-marker\-multi\-line=" "STR" نشانگر انتخاب چندگانه برای ورودی‌های چندسطری؛ ۳ عنصر برای بالا، میانه و پایین (پیش‌فرض: '╻┃╹' یا '.|\'' بسته به \fB\-\-no\-unicode\fR). .TP .BI "\-\-ellipsis=" "STR" علامت حذف برای نمایش هنگام بریده شدن سطر (پیش‌فرض: '··') .TP .BI "\-\-tabstop=" SPACES تعداد فاصله‌ها برای یک نویسه تب (پیش‌فرض: ۸) .TP .BI "\-\-scrollbar=" "CHAR1[CHAR2]" استفاده از نویسه داده‌شده برای رسم نوار پیمایش (پیش‌فرض: '│' یا ':' بسته به \fB\-\-no\-unicode\fR ). نویسه اختیاری \fBCHAR2\fR برای رسم نوار پیمایش پنجره پیش‌نمایش به کار می‌رود. .TP .B "\-\-no\-scrollbar" عدم نمایش نوار پیمایش. مترادفی برای \fB\-\-scrollbar=''\fR .TP .BI "\-\-list\-border" [=STYLE] رسم حاشیه در اطراف بخش فهرست. سبک \fBline\fR برای این حاشیه پشتیبانی نمی‌شود. .TP .BI "\-\-list\-label" [=LABEL] برچسب برای چاپ روی حاشیه فهرست .TP .BI "\-\-list\-label\-pos" [=N[:top|bottom]] موقعیت برچسب فهرست .SS "بخش ورودی (INPUT SECTION)" .TP .B "\-\-no\-input" غیرفعال‌سازی و پنهان کردن بخش ورودی. در این حالت دیگر نمی‌توانید پرس‌وجو تایپ کنید. برای راه‌اندازی جستجو، از کنش \fBsearch\fR استفاده کنید. بعداً می‌توانید بخش ورودی را با استفاده از کنش‌های \fBshow\-input\fR یا \fBtoggle\-input\fR نمایش دهید، و دوباره آن را با \fBhide\-input\fR یا \fBtoggle\-input\fR پنهان کنید. .TP .BI "\-\-prompt=" "STR" اعلان ورودی (پیش‌فرض: '> ') .TP .BI "\-\-info=" "STYLE" تعیین سبک نمایش اطلاعات یابنده (مانند شمارنده تطابق‌ها، نشانگر بارگذاری و غیره). .BR default " در انتهای سمت چپ جداکننده افقی" .br .BR right " در انتهای سمت راست جداکننده افقی" .br .BR hidden " عدم نمایش اطلاعات یابنده" .br .BR inline " پس از اعلان با پیشوند پیش‌فرض ' < '" .br .BR inline:PREFIX " پس از اعلان با یک پیشوند سفارشی" .br .BR inline\-right " در انتهای سمت راست سطر اعلان" .br .BR inline\-right:PREFIX " در انتهای سمت راست سطر اعلان با یک پیشوند سفارشی" .br .TP .BI "\-\-info\-command=" "COMMAND" دستور برای تولید سطر اطلاعات یابنده. این دستور به صورت همگام اجرا شده و رابط کاربری را تا زمان پایان مسدود می‌کند، بنابراین مطمئن شوید که سریع است. از کدهای رنگی ANSI پشتیبانی می‌شود. متغیر \fB$FZF_INFO\fR روی متن اصلی اطلاعات تنظیم شده است. برای مشاهده متغیرهای محیطی دیگری که در دسترس این دستور قرار دارند، به بخش ENVIRONMENT VARIABLES EXPORTED TO CHILD PROCESSES مراجعه کنید. مثال: \fB# افزودن موقعیت فعلی مکان‌نما به ابتدای سطر با رنگ زرد fzf \-\-info\-command='printf "\\x1b[33;1m$FZF_POS\\x1b[m/$FZF_INFO 💛"'\fR .TP .B "\-\-no\-info" مترادفی برای \fB\-\-info=hidden\fR .TP .BI "\-\-separator=" "STR" رشته داده‌شده برای تشکیل جداکننده افقی در سطر اطلاعات تکرار خواهد شد (پیش‌فرض: '─' یا '\-' بسته به \fB\-\-no\-unicode\fR ). مگر این‌که صراحتاً مشخص شده باشد، اگر بخش ورودی پیشاپیش توسط یک خط حاشیه از بخش فهرست به صورت بصری جدا شده باشد (مثلاً \fB\-\-input\-border\fR یا \fB\-\-header\-border\fR )، جداکننده نمایش داده نخواهد شد. از کدهای رنگی ANSI پشتیبانی می‌شود. .TP .B "\-\-no\-separator" عدم نمایش جداکننده افقی در سطر اطلاعات. مترادفی برای \fB\-\-separator=''\fR .TP .BI "\-\-ghost=" "TEXT" متن شبح (ghost text) برای نمایش در زمانی که ورودی خالی است .TP .B "\-\-filepath\-word" باعث می‌شود حرکت‌ها و کنش‌های کلمه‌به‌کلمه جداکننده‌های مسیر را رعایت کنند. کنش‌های زیر تحت تاثیر قرار می‌گیرند: \fBbackward\-kill\-word\fR .br \fBbackward\-word\fR .br \fBforward\-word\fR .br \fBkill\-word\fR .TP .BI "\-\-input\-border" [=STYLE] رسم حاشیه در اطراف بخش ورودی. سبک \fBline\fR یک خط جداکننده تکی میان بخش ورودی و بخش فهرست رسم می‌کند. .TP .BI "\-\-input\-label" [=LABEL] برچسب برای چاپ روی حاشیه ورودی .TP .BI "\-\-input\-label\-pos" [=N[:top|bottom]] موقعیت برچسب ورودی .SS "پنجره پیش‌نمایش (PREVIEW WINDOW)" .TP .BI "\-\-preview=" "COMMAND" اجرای دستور داده‌شده برای سطر جاری و نمایش نتیجه در پنجره پیش‌نمایش. نویسه‌های \fB{}\fR در دستور، جانگهداری است که با رشته محصور در نقل‌قول تکی سطر جاری جایگزین می‌شود. برای تغییر شکل رشته جایگزین، عبارت‌های اندیس فیلد را میان آکولادها مشخص کنید (برای جزئیات به \fBFIELD INDEX EXPRESSION\fR مراجعه نمایید). .RS مثال: \fBfzf \-\-preview='head \-$LINES {}' ls \-l | fzf \-\-preview="echo user={3} when={\-4..\-2}; cat {\-1}" \-\-header\-lines=1\fR برنامه fzf متغیرهای \fB$FZF_PREVIEW_LINES\fR و \fB$FZF_PREVIEW_COLUMNS\fR را صادر می‌کند تا اندازه دقیق پنجره پیش‌نمایش را نشان دهند. (همچنین مقادیر یکسانی را روی \fB$LINES\fR و \fB$COLUMNS\fR بازنویسی می‌کند اما این مقادیر ممکن است توسط پوسته پیش‌فرض بازنشانی شوند، بنابراین ترجیحاً به متغیرهایی با پیشوند \fBFZF_PREVIEW_\fR ارجاع دهید.) برنامه fzf همچنین متغیرهای \fB$FZF_PREVIEW_TOP\fR و \fB$FZF_PREVIEW_LEFT\fR را صادر می‌کند تا دستور پیش‌نمایش بتواند موقعیت پنجره پیش‌نمایش را تعیین کند. عبارت جانگهدار که با فلگ \fB+\fR آغاز می‌شود با فهرستی از موارد انتخاب‌شده (یا مورد جاری در صورت عدم انتخاب) که با فاصله جدا شده و هر کدام جداگانه در نقل‌قول قرار گرفته‌اند جایگزین خواهد شد. مثال: \fBfzf \-\-multi \-\-preview='head \-10 {+}' git log \-\-oneline | fzf \-\-multi \-\-preview 'git show {+1}'\fR به همین ترتیب، عبارت جانگهدار که با فلگ \fB*\fR آغاز می‌شود با فهرستی از تمام موارد منطبق که با فاصله جدا شده و هر یک جداگانه در نقل‌قول قرار گرفته‌اند جایگزین خواهد شد. هر عبارت به یک رشته نقل‌قول‌شده بسط می‌یابد، به طوری که ارسال آن به عنوان یک آرگومان به دستور بیرونی ایمن است. بنابراین نباید به صورت دستی دور آکولادها نقل‌قول اضافه کنید. اما اگر چنین رفتاری را نمی‌خواهید، می‌توانید فلگ \fBr\fR (خام) را در عبارت قرار دهید (مانند \fB{r}\fR ، \fB{r1}\fR و غیره). با احتیاط از آن استفاده کنید زیرا خروجی بدون نقل‌قول می‌تواند به خرابی دستورات منجر شود. هنگام استفاده از عبارت اندیس فیلد، فاصله‌های خالی ابتدا و انتها از رشته جایگزین حذف می‌شوند. برای حفظ فاصله‌های خالی، از فلگ \fBs\fR استفاده کنید. عبارت جانگهدار با فلگ \fBf\fR با مسیر یک فایل موقت که فهرست ارزیابی‌شده را نگه می‌دارد جایگزین می‌شود. این ویژگی زمانی مفید است که تعداد زیادی مورد ارسال می‌کنید و طول رشته ارزیابی‌شده ممکن است از \fBARG_MAX\fR بیشتر شود. مثال: \fB# مشاهده مجموع تمام اعداد منطبق # این دستور به دلیل محدودیت ARG_MAX بدون فلگ 'f' به درستی کار نخواهد کرد. seq 100000 | fzf \-\-preview "awk '{sum+=\\$1} END {print sum}' {*f}"\fR \fB# استفاده از {+f} برای دریافت موارد انتخاب‌شده به عنوان فهرستی جداشده با سطر seq 100 | fzf \-\-multi \-\-bind 'enter:become:cat {+f}'\fR همچنین: * \fB{q}\fR با رشته پرس‌وجوی جاری جایگزین می‌شود. .br * \fB{q}\fR می‌تواند شامل عبارت‌های اندیس فیلد باشد؛ مانند \fB{q:1}\fR ، \fB{q:2..}\fR و غیره. .br * \fB{n}\fR با اندیس ترتیبی صفر-پایه مورد جاری جایگزین می‌شود. اگر هنگام انتخاب چند سطر، شماره اندیس همه موارد را می‌خواهید، از \fB{+n}\fR استفاده کنید. .br توجه داشته باشید که با قرار دادن یک بک‌اسلش در ابتدا می‌توانید الگوی جانگهدار را اسکیپ کنید. پنجره پیش‌نمایش حتی زمانی که هیچ تطابقی برای پرس‌وجوی جاری وجود نداشته باشد، در صورتی که هر یک از عبارت‌های جانگهدار به یک رشته غیرخالی ارزیابی شوند یا \fB{q}\fR در الگوی دستور موجود باشد، به‌روزرسانی خواهد شد. از نگارش 0.24.0 به بعد، fzf می‌تواند محتوای پیش‌نمایش جزئی را پیش از اتمام کامل دستور پیش‌نمایش رندر کند. توالی فرار ANSI برای پاک کردن صفحه نمایش (\fBCSI 2 J\fR) پشتیبانی می‌شود، بنابراین می‌توانید از آن برای پیاده‌سازی پنجره پیش‌نمایشی که به طور مداوم به‌روزرسانی می‌شود استفاده کنید. مثال: \fBfzf \-\-preview 'for i in $(seq 100000); do (( i % 200 == 0 )) && printf "\\033[2J" echo "$i" sleep 0.01 done'\fR برنامه fzf دارای پشتیبانی آزمایشی از پروتکل گرافیکی Kitty و گرافیک Sixel است. مثال زیر از اسکریپت https://github.com/junegunn/fzf/blob/master/bin/fzf\-preview.sh برای رندر یک تصویر با استفاده از هر یک از این پروتکل‌ها در داخل پنجره پیش‌نمایش استفاده می‌کند. مثال: \fBfzf \-\-preview='fzf\-preview.sh {}'\fR .RE .TP .BI "\-\-preview\-border" [=STYLE] کوتاه‌شده \fB\-\-preview\-window=border\-STYLE\fR . سبک \fBline\fR یک خط جداکننده تکی میان پنجره پیش‌نمایش و باقی رابط کاربری رسم می‌کند. .TP .BI "\-\-preview\-label" [=LABEL] برچسبی برای چاپ روی خط افقی حاشیه پنجره پیش‌نمایش. باید همراه با یکی از گزینه‌های زیر برای \fB\-\-preview\-window\fR استفاده شود: .br .B * border\-rounded (پیش‌فرض در پلتفرم‌های غیر ویندوز) .br .B * border\-sharp (پیش‌فرض در ویندوز) .br .B * border\-bold .br .B * border\-double .br .B * border\-dashed .br .B * border\-block .br .B * border\-thinblock .br .B * border\-horizontal .br .B * border\-top .br .B * border\-bottom .br .TP .BI "\-\-preview\-wrap\-sign" =INDICATOR نشانگر سطرهای شکسته شده در پنجره پیش‌نمایش. در صورت عدم تعیین، از مقدار \fB\-\-wrap\-sign\fR استفاده می‌شود. .TP .BI "\-\-preview\-label\-pos" [=N[:top|bottom]] موقعیت برچسب حاشیه روی خط کادر پنجره پیش‌نمایش. یک عدد صحیح مثبت را به عنوان موقعیت ستون از سمت چپ مشخص کنید. برای راست‌چین کردن برچسب، یک عدد صحیح منفی مشخص نمایید. برچسب به طور پیش‌فرض روی خط حاشیه بالایی چاپ می‌شود، برای قرار دادن آن روی خط حاشیه پایینی، \fB:bottom\fR را اضافه کنید. مقدار پیش‌فرض \fB0\fR (یا \fBcenter\fR) برچسب را در مرکز خط حاشیه قرار می‌دهد. .TP .BI "\-\-preview\-window=" "[POSITION][,SIZE[%]][,border\-STYLE][,[no]wrap][,wrap\-word][,[no]follow][,[no]cycle][,[no]info][,[no]hidden][,+SCROLL[OFFSETS][/DENOM]][,~HEADER_LINES][,default][, )' # راه‌اندازی سرور HTTP روی درگاه 6266 با اجازه دسترسی از راه دور # * شنود روی آدرسی غیر از localhost نیازمند استفاده از کلید API است export FZF_API_KEY="$(head \-c 32 /dev/urandom | base64)" fzf \-\-listen 0.0.0.0:6266 # ارسال یک کنش احراز هویت‌شده curl \-XPOST localhost:6266 \-H "x\-api\-key: $FZF_API_KEY" \-d 'change\-query(yo)' # انتخاب خودکار درگاه و صادر کردن آن به عنوان $FZF_PORT به فرآیند فرزند fzf \-\-listen \-\-bind 'start:execute\-silent:echo $FZF_PORT > /tmp/fzf\-port' # دریافت وضعیت برنامه در قالب JSON (آزمایشی) # - پارامترهای GET: # - limit: تعداد موارد بازگشتی (پیش‌فرض: 100) # - offset: تعداد مواردی که باید نادیده گرفته شوند (پیش‌فرض: 0) curl localhost:6266 # انتخاب خودکار مواردی با پسوند .txt fzf \-\-multi \-\-sync \-\-listen \-\-bind 'load:transform: pos=1 curl \-s localhost:$FZF_PORT?limit=1000 | jq \-r .matches[].text | while read \-r text; do if [[ $text =~ \\.txt$ ]]; then echo \-n "+pos($pos)+select" fi pos=$((pos + 1)) done echo +first ' \fR .fi .RE .PP نمونه اسکریپت زیر به جای درگاه TCP از یک سوکت یونیکس استفاده می‌کند: .PP .RS .nf \fB fzf \-\-listen=/tmp/fzf.sock # GET curl \-\-unix\-socket /tmp/fzf.sock http # POST curl \-\-unix\-socket /tmp/fzf.sock http \-d up \fR .fi .RE .TP .BI "\-\-threads=" "N" تعداد ریسمان‌های تطابق‌دهنده برای استفاده. مقدار پیش‌فرض .B min(8 * NUM_CPU, 32) است. .TP .BI "\-\-bench=" "DURATION" اجرای مکرر .B \-\-filter برای مدت زمان مشخص‌شده و چاپ آمارهای زمانی. حتماً باید همراه با .B \-\-filter به کار رود. .PP مثال: .PP .RS .nf \fBcat /usr/share/dict/words | fzf \-\-filter abc \-\-bench 10s\fR .fi .RE .SS "پیمایش دایرکتوری (DIRECTORY TRAVERSAL)" .TP .B "\-\-walker=[file][,dir][,follow][,hidden]" رفتار پیمایشگر دایرکتوری داخلی را تعیین می‌کند که هنگام تنظیم نبودن .B $FZF_DEFAULT_COMMAND استفاده می‌شود. مقدار پیش‌فرض .B file,follow,hidden است. .PP * .B file : گنجاندن فایل‌ها در نتیجه جستجو .br * .B dir : گنجاندن دایرکتوری‌ها در نتیجه جستجو .br * .B hidden : گنجاندن و دنبال کردن دایرکتوری‌های پنهان .br * .B follow : دنبال کردن پیوندهای نمادین (سیمبلیک لینک‌ها) .br .TP .B "\-\-walker\-root=DIR [...]" فهرستی از نام دایرکتوری‌ها برای آغاز به کار پیمایشگر دایرکتوری داخلی. مقدار پیش‌فرض دایرکتوری کاری فعلی است. .TP .B "\-\-walker\-skip=DIRS" فهرستی از نام دایرکتوری‌های جداشده با کاما جهت نادیده‌گرفتن حین پیمایش دایرکتوری. مقدار پیش‌فرض .B .git,node_modules است. .SS "تاریخچه (HISTORY)" .TP .BI "\-\-history=" "HISTORY_FILE" بارگذاری تاریخچه جستجو از فایل مشخص‌شده و به‌روزرسانی آن فایل در هنگام پایان کار. هنگام فعال بودن، کلیدهای .B CTRL\-N و .B CTRL\-P به‌طور خودکار به .B next\-history و .B prev\-history تغییر نگاشت می‌یابند. .TP .BI "\-\-history\-size=" "N" حداکثر تعداد مدخل‌ها در فایل تاریخچه (پیش‌فرض: 1000). در صورتی که تعداد خطوط از این مقدار فراتر رود، فایل به‌طور خودکار کوتاه می‌شود. .PP .RS مثال: \fBgem list | fzf \-\-with\-shell 'ruby \-e' \-\-preview 'pp Gem::Specification.find_by_name({1})'\fR .RE .SS "ادغام با پوسته (SHELL INTEGRATION)" .TP .B "\-\-bash" چاپ اسکریپت راه‌اندازی و ادغام با پوسته Bash .PP مثال: \fBeval "$(fzf \-\-bash)"\fR .TP .B "\-\-zsh" چاپ اسکریپت راه‌اندازی و ادغام با پوسته Zsh .PP مثال: \fBsource <(fzf \-\-zsh)\fR .TP .B "\-\-fish" چاپ اسکریپت راه‌اندازی و ادغام با پوسته Fish .PP مثال: \fBfzf \-\-fish | source\fR .TP .B "\-\-nushell" چاپ اسکریپت راه‌اندازی و ادغام با پوسته Nushell .PP مثال: \fBfzf \-\-nushell | save \-f ~/.config/nushell/autoload/_fzf_integration.nu\fR .SS "سایر موارد (OTHERS)" .TP .B "\-\-no\-mouse" غیرفعال کردن موشواره .TP .B "\-\-no\-unicode" استفاده از نویسه‌های ASCII به جای نویسه‌های ترسیمی یونیکد برای رسم کادرها، نشانگر پیشرفت (spinner) و جداکننده افقی. .TP .B "\-\-ambidouble" در صورتی که شبیه‌ساز ترمینال شما نویسه‌های با عرض مبهم (مانند نویسه‌های ترسیم کادر) را در ۲ ستون نمایش می‌دهد، این گزینه را تنظیم کنید. .SS "راهنما (HELP)" .TP .B "\-\-version" نمایش اطلاعات نسخه و خروج .TP .B "\-\-help" نمایش پیام راهنما .TP .B "\-\-man" نمایش صفحه راهنما (man page) .SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" .TP .B FZF_DEFAULT_COMMAND دستور پیش‌فرض برای استفاده زمانی که ورودی یک دستگاه TTY است. در سیستم‌های شبه‌یونیکس (*nix)، اگر .B SHELL تنظیم شده باشد fzf دستور را با .B $SHELL \-c و در غیر این صورت با .B sh \-c اجرا می‌کند، بنابراین در این حالت مطمئن شوید که دستور با استاندارد POSIX سازگار است. .TP .B FZF_DEFAULT_OPTS گزینه‌های پیش‌فرض. .br مثال: \fBexport FZF_DEFAULT_OPTS="\-\-layout=reverse \-\-border \-\-cycle"\fR .TP .B FZF_DEFAULT_OPTS_FILE مسیر فایلی که شامل گزینه‌های پیش‌فرض است. .br مثال: \fBexport FZF_DEFAULT_OPTS_FILE=~/.fzfrc\fR .TP .B FZF_API_KEY می‌تواند برای الزام ورود کلید API هنگام استفاده از گزینه .B \-\-listen استفاده شود. در صورت تنظیم نبودن، هیچ احراز هویتی توسط سرور الزامی نخواهد بود. اگر نیاز به محافظت در برابر حملات اتصال مجدد DNS (DNS rebinding) و ارتقای دسترسی دارید، می‌توانید این مقدار را تنظیم کنید. .SH "وضعیت خروج (EXIT STATUS)" .BR 0 " خروج عادی" .br .BR 1 " عدم تطابق" .br .BR 2 " خطا" .br .BR 126 " خطای عدم دسترسی (Permission denied) از کنش \fBbecome\fR" .br .BR 127 " دستور پوسته نامعتبر برای کنش \fBbecome\fR" .br .BR 130 " وقفه‌یافته با \fBCTRL\-C\fR یا \fBESC\fR" .SH "عبارت شاخص فیلد (FIELD INDEX EXPRESSION)" یک عبارت شاخص فیلد می‌تواند یک عدد صحیح غیر صفر یا یک عبارت محدوده ([BEGIN]..[END]) باشد. گزینه‌های .B \-\-nth و .B \-\-with\-nth فهرستی از عبارات شاخص فیلد جداشده با کاما را می‌پذیرند. .SS "نمونه‌ها (Examples)" .BR 1 " فیلد اول" .br .BR 2 " فیلد دوم" .br .BR \-1 " آخرین فیلد" .br .BR \-2 " یکی مانده به آخرین فیلد" .br .BR 3..5 " از فیلد سوم تا فیلد پنجم" .br .BR 2.. " از فیلد دوم تا آخرین فیلد" .br .BR ..\-3 " از فیلد اول تا سومی مانده به آخرین فیلد" .br .BR .. " تمامی فیلدها" .br .SH "متغیرهای محیطی ارسال‌شده به فرآیندهای فرزند (ENVIRONMENT VARIABLES EXPORTED TO CHILD PROCESSES)" دستور fzf متغیرهای محیطی زیر را به فرآیندهای فرزند خود صادر (export) می‌کند: .BR FZF_LINES " تعداد خطوطی که fzf بدون احتساب فاصله درونی (padding) و حاشیه (margin) اشغال می‌کند" .br .BR FZF_COLUMNS " تعداد ستون‌هایی که fzf بدون احتساب فاصله درونی و حاشیه اشغال می‌کند" .br .BR FZF_DIRECTION " جهت فهرست (\fBup\fR یا \fBdown\fR)" .br .BR FZF_TOTAL_COUNT " تعداد کل موارد" .br .BR FZF_MATCH_COUNT " تعداد موارد مطابقت‌یافته" .br .BR FZF_SELECT_COUNT " تعداد موارد انتخاب‌شده" .br .BR FZF_POS " موقعیت عمودی مکان‌نما در فهرست با شروع از ۱" .br .BR FZF_CURRENT_ITEM " متن مورد جاری (در صورت خالی بودن فهرست، تنظیم نمی‌شود)" .br .BR FZF_WRAP " حالت شکستن خطوط (char، word) در صورت فعال بودن" .br .BR FZF_QUERY " رشته پرس‌وجوی جاری" .br .BR FZF_INPUT_STATE " وضعیت ورودی جاری (enabled، disabled، hidden)" .br .BR FZF_NTH " گزینه \-\-nth جاری" .br .BR FZF_WITH_NTH " گزینه \-\-with\-nth جاری" .br .BR FZF_PROMPT " رشته اعلان (prompt)" .br .BR FZF_GHOST " رشته سایه (ghost)" .br .BR FZF_POINTER " رشته نشانگر (pointer)" .br .BR FZF_PREVIEW_LABEL " رشته برچسب پیش‌نمایش" .br .BR FZF_BORDER_LABEL " رشته برچسب کادر" .br .BR FZF_LIST_LABEL " رشته برچسب فهرست" .br .BR FZF_INPUT_LABEL " رشته برچسب ورودی" .br .BR FZF_HEADER_LABEL " رشته برچسب سرآیند" .br .BR FZF_ACTION " نام آخرین کنش انجام‌شده" .br .BR FZF_KEY " نام آخرین کلید فشرده‌شده" .br .BR FZF_IDLE_TIME " ثانیه‌های کامل سپری‌شده از آخرین فعالیت کاربر" .br .BR FZF_IDLE_TIME_MS " میلی‌ثانیه‌های سپری‌شده از آخرین فعالیت کاربر" .br .BR FZF_PORT " شماره درگاه هنگام استفاده از گزینه \-\-listen" .br .BR FZF_SOCK " مسیر سوکت یونیکس هنگام استفاده از گزینه \-\-listen" .br .BR FZF_PREVIEW_TOP " موقعیت بالای پنجره پیش‌نمایش" .br .BR FZF_PREVIEW_LEFT " موقعیت سمت چپ پنجره پیش‌نمایش" .br .BR FZF_PREVIEW_LINES " تعداد خطوط در پنجره پیش‌نمایش" .br .BR FZF_PREVIEW_COLUMNS " تعداد ستون‌ها در پنجره پیش‌نمایش" .br .BR FZF_RAW " تنها در حالت خام (raw)؛ ۱ اگر مورد جاری مطابقت داشته باشد، در غیر این صورت ۰" .PP .B FZF_CURRENT_ITEM در صورتی که مورد حاوی بایت NUL باشد حذف می‌شود، زیرا .BR exec (2) نمی‌تواند آن را منتقل کند. همچنین اگر مورد بزرگ‌تر از ۶۴ کیلوبایت باشد نیز حذف می‌شود تا یک مورد بسیار بزرگ نتواند از سقف مجاز اندازه متغیرهای محیطی فراتر رفته و موجب اختلال در پیش‌نمایش و سایر دستورات فرزند شود. .SH "حالت جستجوی گسترده (EXTENDED SEARCH MODE)" مگر در مواردی که غیر از این مشخص شده باشد، fzf در «حالت جستجوی گسترده» شروع به کار خواهد کرد. در این حالت، می‌توانید چندین الگو را که با فاصله از هم تفکیک شده‌اند مشخص کنید، مانند: \fB'wild ^music .mp3$ sbtrkt !rmx\fR می‌توانید پیش از کاراکتر فاصله یک بک‌اسلش قرار دهید .RB ( \fB\\ \ \fR ) تا دقیقاً با خود کاراکتر فاصله تطابق یابد. .SS "تطابق دقیق - درون کوتیشن (Exact-match)" عبارتی که با یک نویسه نقل‌قول تکی .RB ( \fB'\fR ) شروع شود، به عنوان یک عبارت «تطابق دقیق» (یا «غیرفازی») تفسیر می‌شود. دستور fzf دقیقاً به دنبال رخدادهای عینی آن رشته می‌گردد. .SS "تطابق لنگردار (Anchored-match)" یک عبارت می‌تواند پیشوند .B ^ یا پسوند .B $ داشته باشد تا به یک عبارت تطابق لنگردار تبدیل شود. در این صورت fzf خطوطی را جستجو می‌کند که با رشته داده‌شده شروع شده یا به آن ختم می‌شوند. یک عبارت تطابق لنگردار، خود یک عبارت تطابق دقیق نیز هست. .SS "تطابق دقیق مرز کلمه - درون کوتیشن دوطرفه (Exact-boundary-match)" عبارتی که در هر دو طرف با کوتیشن تکی احاطه شده باشد، به عنوان یک «تطابق دقیق در مرز کلمه» تفسیر می‌شود. دستور fzf به دنبال رخدادهای دقیق رشته‌ای می‌گردد که هر دو انتهای آن در مرزهای کلمه باشند. برخلاف عبارات منظم (regular expressions)، در اینجا زیرخط (underscore) نیز به عنوان یک مرز کلمه شناخته می‌شود. اما کلمات پیرامون زیرخط رتبه پایین‌تری دریافت کرده و در نتایج دیرتر از کلمات پیرامون سایر انواع مرزهای کلمه ظاهر می‌شوند. .PP .nf 1. xxx foo xxx (بالاترین امتیاز) 2. xxx foo_xxx 3. xxx_foo xxx 4. xxx_foo_xxx (پایین‌ترین امتیاز) .fi .SS "نفی یا استثنا (Negation)" اگر عبارتی با پیشوند .B ! مشخص شود، fzf خطوطی را که با آن عبارت مطابقت دارند از نتایج مستثنی می‌کند. در این حالت، fzf به‌طور پیش‌فرض تطابق دقیق را انجام می‌دهد. .SS "تطابق دقیق به‌صورت پیش‌فرض (Exact-match by default)" اگر تطابق فازی را نمی‌پسندید و تمایلی ندارید که پیش از هر کلمه کوتیشن بگذارید (پیشوند .BR \fB'\fR )، دستور fzf را با گزینه .B \-e یا .B \-\-exact آغاز کنید. توجه داشته باشید که با تنظیم گزینه .BR \-\-exact ، پیشوند .B \fB'\fR حالت تطابق دقیق را از عبارت برمی‌دارد (unquote می‌کند). .SS "عملگر OR" یک نویسه خط عمودی (|) منفرد به عنوان عملگر OR عمل می‌کند. به عنوان مثال، پرس‌وجوی زیر با مدخل‌هایی مطابقت دارد که با .B core شروع شده و به یکی از پسوندهای .BR go ، .B rb یا .B py ختم شوند. .PP مثال: \fB^core go$ | rb$ | py$\fR .SH "پیوندهای کلید/رویداد (KEY/EVENT BINDINGS)" گزینه .B \-\-bind به شما اجازه می‌دهد یک \fBکلید\fR یا یک \fBرویداد\fR را به یک یا چند \fBکنش\fR پیوند دهید. می‌توانید از آن برای سفارشی‌سازی کلیدهای میانبر یا پیاده‌سازی رفتارهای پویا استفاده کنید. .PP گزینه .B \-\-bind فهرستی از عبارات پیوند جداشده با کاما را می‌پذیرد. هر عبارت پیوند به صورت .B KEY:ACTION یا .B EVENT:ACTION است. می‌توانید با نوشتن فهرستی از کلیدها و رویدادهای جداشده با کاما پیش از دونقطه، کنش‌ها را به چند کلید و رویداد متصل کنید؛ مانند: .BR KEY1,KEY2,EVENT1,EVENT2:ACTION . .PP مثال: .PP .RS .nf \fBfzf \-\-bind=ctrl\-j:accept,ctrl\-k:kill\-line # بارگذاری خروجی 'ps \-ef' در آغاز کار و بارگذاری مجدد آن با CTRL\-R fzf \-\-bind 'start,ctrl\-r:reload:ps \-ef'\fR .fi .RE .SS "کلیدهای در دسترس: (مترادف‌ها) (AVAILABLE KEYS: SYNONYMS)" \fIctrl\-[a\-z]\fR .br \fIctrl\-space\fR .br \fIctrl\-delete\fR .br \fIctrl\-\\\fR .br \fIctrl\-]\fR .br \fIctrl\-^\fR (\fIctrl\-6\fR) .br \fIctrl\-/\fR (\fIctrl\-_\fR) .br \fIctrl\-alt\-[a\-z]\fR (کلید \fIctrl\-alt\-h\fR در سیستم‌های غیرویندوز معادل \fIctrl\-alt\-backspace\fR است) .br \fIalt\-[*]\fR (هر تک‌نویسه حساس به بزرگی و کوچکی حروف مجاز است) .br \fIf[1\-12]\fR .br \fIenter\fR (\fIreturn\fR \fIctrl\-m\fR) .br \fIspace\fR .br \fIbackspace\fR (\fIbspace\fR \fIbs\fR) .br \fIalt\-up\fR .br \fIalt\-down\fR .br \fIalt\-left\fR .br \fIalt\-right\fR .br \fIalt\-home\fR .br \fIalt\-end\fR .br \fIalt\-backspace\fR (\fIalt\-bspace\fR \fIalt\-bs\fR) .br \fIalt\-delete\fR .br \fIalt\-page\-up\fR .br \fIalt\-page\-down\fR .br \fIalt\-enter\fR .br \fIalt\-space\fR .br \fItab\fR .br \fIshift\-tab\fR (\fIbtab\fR) .br \fIesc\fR .br \fIdelete\fR (\fIdel\fR) .br \fIup\fR .br \fIdown\fR .br \fIleft\fR .br \fIright\fR .br \fIhome\fR .br \fIend\fR .br \fIinsert\fR .br \fIpage\-up\fR (\fIpgup\fR) .br \fIpage\-down\fR (\fIpgdn\fR) .br \fIctrl\-up\fR .br \fIctrl\-down\fR .br \fIctrl\-left\fR .br \fIctrl\-right\fR .br \fIctrl\-home\fR .br \fIctrl\-end\fR .br \fIctrl\-backspace\fR (\fIctrl\-bspace\fR \fIctrl\-bs\fR) .br \fIctrl\-delete\fR .br \fIctrl\-page\-up\fR .br \fIctrl\-page\-down\fR .br \fIshift\-up\fR .br \fIshift\-down\fR .br \fIshift\-left\fR .br \fIshift\-right\fR .br \fIshift\-home\fR .br \fIshift\-end\fR .br \fIshift\-delete\fR .br \fIshift\-page\-up\fR .br \fIshift\-page\-down\fR .br \fIalt\-shift\-up\fR .br \fIalt\-shift\-down\fR .br \fIalt\-shift\-left\fR .br \fIalt\-shift\-right\fR .br \fIalt\-shift\-home\fR .br \fIalt\-shift\-end\fR .br \fIalt\-shift\-delete\fR .br \fIalt\-shift\-page\-up\fR .br \fIalt\-shift\-page\-down\fR .br \fIctrl\-alt\-up\fR .br \fIctrl\-alt\-down\fR .br \fIctrl\-alt\-left\fR .br \fIctrl\-alt\-right\fR .br \fIctrl\-alt\-home\fR .br \fIctrl\-alt\-end\fR .br \fIctrl\-alt\-backspace\fR (\fIctrl\-alt\-bspace\fR \fIctrl\-alt\-bs\fR) (\fIctrl\-alt\-h\fR (در غیر ویندوز)) .br \fIctrl\-alt\-delete\fR .br \fIctrl\-alt\-page\-up\fR .br \fIctrl\-alt\-page\-down\fR .br \fIctrl\-shift\-up\fR .br \fIctrl\-shift\-down\fR .br \fIctrl\-shift\-left\fR .br \fIctrl\-shift\-right\fR .br \fIctrl\-shift\-home\fR .br \fIctrl\-shift\-end\fR .br \fIctrl\-shift\-delete\fR .br \fIctrl\-shift\-page\-up\fR .br \fIctrl\-shift\-page\-down\fR .br \fIctrl\-alt\-shift\-up\fR .br \fIctrl\-alt\-shift\-down\fR .br \fIctrl\-alt\-shift\-left\fR .br \fIctrl\-alt\-shift\-right\fR .br \fIctrl\-alt\-shift\-home\fR .br \fIctrl\-alt\-shift\-end\fR .br \fIctrl\-alt\-shift\-delete\fR .br \fIctrl\-alt\-shift\-page\-up\fR .br \fIctrl\-alt\-shift\-page\-down\fR .br \fIleft\-click\fR .br \fIright\-click\fR .br \fIdouble\-click\fR .br \fIscroll\-up\fR .br \fIscroll\-down\fR .br \fIpreview\-scroll\-up\fR .br \fIpreview\-scroll\-down\fR .br \fIshift\-left\-click\fR .br \fIshift\-right\-click\fR .br \fIshift\-scroll\-up\fR .br \fIshift\-scroll\-down\fR .br یا هر تک‌نویسه دیگر .PP توجه داشته باشید که ممکن است برخی از شبیه‌سازهای ترمینال از پیوندهای \fIctrl-*\fR پشتیبانی نکنند. .SS "رویدادهای در دسترس (AVAILABLE EVENTS):" \fIstart\fR .RS تنها یک‌بار هنگام شروع جستجوگر fzf فعال می‌شود. از آنجا که fzf جریان ورودی را به‌صورت ناهمگام مصرف می‌کند، لیست ورودی در دسترس نیست مگر اینکه از .B \-\-sync استفاده کنید. برای نمونه: \fB# انتقال مکان‌نما به آخرین مورد و انتخاب تمام موارد seq 1000 | fzf \-\-multi \-\-sync \-\-bind start:last+select\-all\fR .RE \fIload\fR .RS هنگامی که جریان ورودی کامل شده و پردازش اولیه لیست به پایان برسد فعال می‌شود. برای نمونه: \fB# تغییر اعلان به "loaded" هنگامی که جریان ورودی کامل می‌شود (seq 10; sleep 1; seq 11 20) | fzf \-\-prompt 'Loading> ' \-\-bind 'load:change\-prompt:Loaded> '\fR .RE \fIresize\fR .RS هنگامی که اندازه ترمینال تغییر می‌کند فعال می‌شود. برای نمونه: \fBfzf \-\-bind 'resize:transform\-header:echo Resized: ${FZF_COLUMNS}x${FZF_LINES}'\fR .RE \fIresult\fR .RS هنگامی که پالایش (فیلتر کردن) برای پرس‌وجوی جاری کامل شود و لیست نتایج آماده باشد فعال می‌شود. برای نمونه: \fB# قرار دادن مکان‌نما روی مورد دوم هنگامی که رشته پرس‌وجو خالی است # * توجه داشته باشید که در این حالت نمی‌توانید از رویداد 'change' استفاده کنید زیرا ممکن است موقعیت دوم در دسترس نباشد fzf \-\-sync \-\-bind 'result:transform:[[ \-z {q} ]] && echo "pos(2)"'\fR .RE \fIresult\-final\fR .RS مشابه .IR result ، اما تا زمانی که جریان ورودی همچنان باز است مهار می‌شود. زمانی از این رویداد استفاده کنید که به ازای هر پرس‌وجو یک کنش یک‌باره می‌خواهید، نه به ازای هر تصویر لحظه‌ای (اسنپ‌شات) میانی در هنگام بارگذاری. برای نمونه: \fB# رویداد 'result' به ازای هر اسنپ‌شات میانی فعال می‌شود (سربرگ در طول بارگذاری مدام به‌روزرسانی می‌شود)؛ # رویداد 'result-final' یک‌بار پس از بسته شدن جریان فعال می‌شود (پاورقی تعداد نهایی را نمایش می‌دهد) (seq 100; sleep 1; seq 100) | fzf \-\-query 1 \\ \-\-bind 'result:transform\-header(echo result: $FZF_MATCH_COUNT),result\-final:transform\-footer(echo final: $FZF_MATCH_COUNT)'\fR .RE \fIchange\fR .RS هر زمان که رشته پرس‌وجو تغییر کند فعال می‌شود. برای نمونه: \fB# انتقال مکان‌نما به نخستین ورودی هر بار که پرس‌وجو تغییر می‌کند fzf \-\-bind change:first\fR .RE \fIfocus\fR .RS هنگامی که تمرکز به دلیل حرکت عمودی مکان‌نما یا به‌روزرسانی نتایج جستجو تغییر کند فعال می‌شود. برای نمونه: \fBfzf \-\-bind 'focus:transform\-preview\-label:echo [ {} ]' \-\-preview 'cat {}' # هر کنش متصل به رویداد به‌صورت همگام اجرا می‌شود و در نتیجه می‌تواند رابط کاربری را کند کند # برای نمونه lolcat برنامه چندان سریعی نیست و هر حرکت مکان‌نما در fzf # به طور محسوسی تحت تأثیر زمان اجرای آن قرار خواهد گرفت fzf \-\-bind 'focus:transform\-preview\-label:echo [ {} ] | lolcat \-f' \-\-preview 'cat {}' # مراقب باشید که حلقه بی‌نهایت ایجاد نکنید seq 10 | fzf \-\-bind 'focus:up' \-\-cycle\fR .RE \fImulti\fR .RS هنگامی که انتخاب چندگانه تغییر کند فعال می‌شود. .RE \fIone\fR .RS هنگامی که تنها یک تطابق وجود دارد فعال می‌شود. اتصال .B one:accept مشابه گزینه .B \-\-select\-1 است، با این تفاوت که .B \-\-select\-1 تنها پیش از شروع جستجوگر تعاملی اثرگذار است، اما رویداد .B one توسط جستجوگر تعاملی فعال می‌شود. برای نمونه: \fB# انتخاب خودکار تنها مورد منطبق seq 10 | fzf \-\-bind one:accept\fR .RE \fIzero\fR .RS هنگامی که هیچ تطابقی وجود ندارد فعال می‌شود. اتصال .B zero:abort مشابه گزینه .B \-\-exit\-0 است، با این تفاوت که .B \-\-exit\-0 تنها پیش از شروع جستجوگر تعاملی مؤثر است، اما رویداد .B zero توسط جستجوگر تعاملی فعال می‌شود. برای نمونه: \fB# بارگذاری مجدد لیست کاندیدها هنگامی که تطابقی وجود ندارد echo $RANDOM | fzf \-\-bind 'zero:reload(echo $RANDOM)+clear\-query' \-\-height 3\fR .RE \fIbackward\-eof\fR .RS هنگامی که رشته پرس‌وجو از قبل خالی است و سعی می‌کنید آن را رو به عقب پاک کنید فعال می‌شود. برای نمونه: \fBfzf \-\-bind backward\-eof:abort\fR .RE \fIjump\fR .RS هنگامی که پرش به مورد هدف در حالت .B jump با موفقیت انجام شود فعال می‌شود. برای نمونه: \fBfzf \-\-bind space:jump,jump:accept\fR .RE \fIjump\-cancel\fR .RS هنگامی که حالت .B jump لغو شود فعال می‌شود. برای نمونه: \fBfzf \-\-bind space:jump,jump:accept,jump\-cancel:abort\fR .RE \fIclick\-header\fR .RS هنگامی که یک کلیک ماوس در سربرگ (header) رخ دهد فعال می‌شود. متغیرهای محیطی .B FZF_CLICK_HEADER_LINE و .B FZF_CLICK_HEADER_COLUMN را با شروع از مقدار ۱ تنظیم می‌کند. در صورت کلیک بر روی یک کلمه، متغیرهای .B FZF_CLICK_HEADER_WORD و .B FZF_CLICK_HEADER_NTH را نیز به صورت اختیاری مقداردهی می‌کند. برای نمونه: \fB# کلیک روی خط سربرگ برای محدود کردن دامنه جستجو ps \-ef | fzf \-\-style full \-\-layout reverse \-\-header\-lines 1 \\ \-\-header\-lines\-border bottom \-\-no\-list\-border \\ \-\-color fg:dim,nth:regular \\ \-\-bind 'click\-header:transform\-nth( echo $FZF_CLICK_HEADER_NTH )+transform\-prompt( echo "$FZF_CLICK_HEADER_WORD> " )'\fR .RE \fIclick\-footer\fR .RS هنگامی که یک کلیک ماوس درون پاورقی (footer) رخ دهد فعال می‌شود. متغیرهای محیطی .B FZF_CLICK_FOOTER_LINE و .B FZF_CLICK_FOOTER_COLUMN را با شروع از مقدار ۱ تنظیم می‌کند. در صورت کلیک بر روی یک کلمه، متغیر .B FZF_CLICK_FOOTER_WORD را نیز به صورت اختیاری مقداردهی می‌کند. .RE \fIevery(N)\fR .RS هر .I N ثانیه یک‌بار فعال می‌شود .RI ( N می‌تواند یک عدد کسری/اعشاری باشد، مانند .BR 0.5 ). حداقل بازه زمانی .B 0.01 ثانیه است؛ مقادیر کمتر به این مقدار گرد می‌شوند. این رویداد را با متغیرهای محیطی .B FZF_IDLE_TIME (ثانیه‌های کامل) و .B FZF_IDLE_TIME_MS (میلی‌ثانیه‌ها) ترکیب کنید تا رفتار مبتنی بر عدم فعالیت (idle) را بدون نیاز به یک رویداد جداگانه پیاده‌سازی کنید. برای نمونه: \fB# لیست زنده فرآیندها، به‌روزرسانی در هر ۲ ثانیه. # گزینه --track --id-nth 2 مکان‌نما را در بازنشانی‌ها روی همان PID نگه می‌دارد. fzf \-\-header\-lines 1 \-\-track \-\-id\-nth 2 \\ \-\-bind 'start,every(2):reload\-sync:ps \-ef' # تایید خودکار پس از ۱۰ ثانیه عدم فعالیت، همراه با شمارش معکوس در پاورقی پس از ۵ ثانیه. fzf \-\-bind 'every(1):bg\-transform: if [[ $FZF_IDLE_TIME \-lt 5 ]]; then echo change\-footer: elif [[ $FZF_IDLE_TIME \-lt 10 ]]; then echo "change\-footer:auto\-accept in $((10 \- FZF_IDLE_TIME))s" else echo accept fi'\fR .RE .SS "کنش‌های در دسترس (AVAILABLE ACTIONS):" یک کلید یا یک رویداد می‌تواند به یک یا چند مورد از کنش‌های زیر متصل شود. \fBACTION: DEFAULT BINDINGS (NOTES):\fR \fBabort\fR \fIctrl\-c ctrl\-g ctrl\-q esc\fR \fBaccept\fR \fIenter double\-click\fR \fBaccept\-non\-empty\fR (مشابه \fBaccept\fR، اما از خروج fzf بدون انتخاب مورد جلوگیری می‌کند) \fBaccept\-or\-print\-query\fR (مشابه \fBaccept\fR، اما در صورت نبود تطابق، رشته پرس‌وجو را چاپ می‌کند) \fBbackward\-char\fR \fIctrl\-b left\fR \fBbackward\-delete\-char\fR \fIctrl\-h ctrl\-bspace bspace\fR \fBbackward\-delete\-char/eof\fR (مشابه \fBbackward\-delete\-char\fR، اما در صورت خالی بودن پرس‌وجو fzf را لغو می‌کند) \fBbackward\-kill\-subword\fR \fBbackward\-kill\-word\fR \fIalt\-bs\fR \fBbackward\-subword\fR \fBbackward\-word\fR \fIalt\-b shift\-left alt\-left\fR \fBbecome(...)\fR (جایگزینی فرآیند fzf با دستور مشخص‌شده؛ برای جزئیات به زیر مراجعه کنید) \fBbeginning\-of\-line\fR \fIctrl\-a home\fR \fBbell\fR (به صدا درآوردن زنگ ترمینال) \fBbest\fR (انتقال به بهترین تطابق؛ مشابه \fBfirst\fR در صورت غیرفعال بودن حالت خام) \fBbg\-cancel\fR (لغو فرآیندهای تبدیل پس‌زمینه) \fBcancel\fR (پاک کردن رشته پرس‌وجو در صورت خالی نبودن، در غیر این صورت لغو fzf) \fBchange\-border\-label(...)\fR (تغییر \fB\-\-border\-label\fR به رشته داده‌شده) \fBchange\-ghost(...)\fR (تغییر متن شبح به رشته داده‌شده) \fBchange\-header(...)\fR (تغییر سربرگ به رشته داده‌شده؛ تاثیری بر \fB\-\-header\-lines\fR ندارد) \fBchange\-header\-lines(N)\fR (تغییر تعداد \fB\-\-header\-lines\fR) \fBchange\-header\-label(...)\fR (تغییر \fB\-\-header\-label\fR به رشته داده‌شده) \fBchange\-input\-label(...)\fR (تغییر \fB\-\-input\-label\fR به رشته داده‌شده) \fBchange\-list\-label(...)\fR (تغییر \fB\-\-list\-label\fR به رشته داده‌شده) \fBchange\-multi\fR (فعال‌سازی حالت انتخاب چندگانه بدون محدودیت) \fBchange\-multi(...)\fR (فعال‌سازی حالت انتخاب چندگانه با محدودیت مشخص یا غیرفعال‌سازی آن با 0) \fBchange\-nth(...)\fR (تغییر گزینه \fB\-\-nth\fR؛ چرخش میان گزینه‌های جداشده با '|') \fBchange\-with\-nth(...)\fR (تغییر گزینه \fB\-\-with\-nth\fR؛ چرخش میان گزینه‌های جداشده با '|') \fBchange\-pointer(...)\fR (تغییر گزینه \fB\-\-pointer\fR) \fBchange\-preview(...)\fR (تغییر گزینه \fB\-\-preview\fR) \fBchange\-preview\-label(...)\fR (تغییر \fB\-\-preview\-label\fR به رشته داده‌شده) \fBchange\-preview\-window(...)\fR (تغییر گزینه \fB\-\-preview\-window\fR؛ چرخش میان گزینه‌های جداشده با '|') \fBchange\-prompt(...)\fR (تغییر اعلان به رشته داده‌شده) \fBchange\-query(...)\fR (تغییر رشته پرس‌وجو به رشته داده‌شده) \fBclear\-screen\fR \fIctrl\-l\fR \fBclear\-multi\fR (پاک کردن انتخاب چندگانه) \fBclose\fR (بستن پنجره پیش‌نمایش در صورت باز بودن، در غیر این صورت لغو fzf) \fBclear\-query\fR (پاک کردن رشته پرس‌وجو) \fBdelete\-char\fR \fIdel\fR \fBdelete\-char/eof\fR \fIctrl\-d\fR (مشابه \fBdelete\-char\fR، اما در صورت خالی بودن پرس‌وجو fzf را لغو می‌کند) \fBdeselect\fR \fBdeselect\-all\fR (لغو انتخاب تمام تطابق‌ها؛ برای پاک کردن انتخاب‌های غیرتطبیقی نیز از \fBclear\-multi\fR استفاده کنید) \fBdisable\-raw\fR (غیرفعال کردن حالت خام) \fBdisable\-search\fR (غیرفعال کردن قابلیت جستجو) \fBdown\fR \fIctrl\-j down\fR \fBdown\-match\fR \fIctrl\-n\fR \fIalt\-down\fR (حرکت به تطابق زیر مکان‌نما) \fBdown\-selected\fR (حرکت به مورد انتخاب‌شده زیر مکان‌نما) \fBenable\-raw\fR (فعال کردن حالت خام) \fBenable\-search\fR (فعال کردن قابلیت جستجو) \fBend\-of\-line\fR \fIctrl\-e end\fR \fBexclude\fR (مستثنی کردن مورد جاری از نتیجه) \fBexclude\-multi\fR (مستثنی کردن موارد انتخاب‌شده یا مورد جاری از نتیجه) \fBexecute(...)\fR (برای جزئیات به زیر مراجعه کنید) \fBexecute\-silent(...)\fR (برای جزئیات به زیر مراجعه کنید) \fBfirst\fR (انتقال به نخستین تطابق؛ مشابه \fBpos(1)\fR) \fBforward\-char\fR \fIctrl\-f right\fR \fBforward\-subword\fR \fBforward\-word\fR \fIalt\-f shift\-right alt\-right\fR \fBignore\fR \fBjump\fR (حرکت دوکلیدی مشابه EasyMotion) \fBkill\-line\fR \fBkill\-subword\fR \fBkill\-word\fR \fIalt\-d\fR \fBlast\fR (انتقال به آخرین تطابق؛ مشابه \fBpos(\-1)\fR) \fBnext\-history\fR (\fIctrl\-n\fR در \fB\-\-history\fR) \fBnext\-selected\fR (هم‌معنی با \fBdown\-selected\fR) \fBpage\-down\fR \fIpgdn\fR \fBpage\-up\fR \fIpgup\fR \fBhalf\-page\-down\fR \fBhalf\-page\-up\fR \fBhide\-header\fR \fBhide\-input\fR \fBhide\-preview\fR \fBoffset\-down\fR (مشابه CTRL\-E در Vim) \fBoffset\-up\fR (مشابه CTRL\-Y در Vim) \fBoffset\-middle\fR (قرار دادن مورد جاری در وسط صفحه) \fBpos(...)\fR (انتقال مکان‌نما به موقعیت عددی؛ عدد منفی برای شمارش از انتها) \fBprev\-history\fR (\fIctrl\-p\fR در \fB\-\-history\fR) \fBprev\-selected\fR (هم‌معنی با \fBup\-selected\fR) \fBpreview(...)\fR (برای جزئیات به زیر مراجعه کنید) \fBpreview\-down\fR \fIshift\-down\fR \fBpreview\-up\fR \fIshift\-up\fR \fBpreview\-page\-down\fR \fBpreview\-page\-up\fR \fBpreview\-half\-page\-down\fR \fBpreview\-half\-page\-up\fR \fBpreview\-bottom\fR \fBpreview\-top\fR \fBprint(...)\fR (افزودن رشته به صف خروجی و چاپ در خروج عادی) \fBput\fR (قرار دادن کاراکتر در اعلان) \fBput(...)\fR (قرار دادن رشته داده‌شده در اعلان) \fBrefresh\-preview\fR \fBrebind(...)\fR (اتصال مجدد کلیدها پس از \fBunbind\fR) \fBreload(...)\fR (برای جزئیات به زیر مراجعه کنید) \fBreload\-sync(...)\fR (برای جزئیات به زیر مراجعه کنید) \fBreplace\-query\fR (جایگزینی رشته پرس‌وجو با انتخاب جاری) \fBsearch(...)\fR (آغاز جستجوی fzf با رشته مشخص‌شده) \fBselect\fR \fBselect\-all\fR (انتخاب تمام تطابق‌ها) \fBshow\-header\fR \fBshow\-input\fR \fBshow\-preview\fR \fBtoggle\fR (\fIright\-click\fR) \fBtoggle\-all\fR (تغییر وضعیت تمام تطابق‌ها) \fBtoggle\-in\fR (\fB\-\-layout=reverse*\fR ? \fBtoggle+up\fR : \fBtoggle+down\fR) \fBtoggle\-out\fR (\fB\-\-layout=reverse*\fR ? \fBtoggle+down\fR : \fBtoggle+up\fR) \fBtoggle\-bind\fR \fBtoggle\-header\fR \fBtoggle\-hscroll\fR \fBtoggle\-input\fR \fBtoggle\-multi\-line\fR \fBtoggle\-preview\fR \fBtoggle\-preview\-wrap\fR \fBtoggle\-preview\-wrap\-word\fR \fBtoggle\-raw\fR (تغییر وضعیت حالت خام برای نمایش موارد غیرتطبیقی) \fBtoggle\-search\fR (تغییر وضعیت قابلیت جستجو) \fBtoggle\-sort\fR \fBtoggle\-track\fR (تغییر وضعیت ردگیری سراسری (\fB\-\-track\fR)) \fBtoggle\-track\-current\fR (تغییر وضعیت ردگیری مورد جاری) \fBtoggle\-wrap\fR \fBtoggle\-wrap\-word\fR \fIctrl\-/\fR \fIalt\-/\fR \fBtoggle+down\fR \fIctrl\-i (tab)\fR \fBtoggle+up\fR \fIbtab (shift\-tab)\fR \fBtrack\-current\fR (ردگیری مورد جاری؛ با تغییر تمرکز خودبه‌خود غیرفعال می‌شود) \fBtransform(...)\fR (تبدیل وضعیت‌ها با استفاده از خروجی یک دستور خارجی) \fBtransform\-border\-label(...)\fR (تبدیل برچسب کادر با استفاده از یک دستور خارجی) \fBtransform\-ghost(...)\fR (تبدیل متن شبح با استفاده از یک دستور خارجی) \fBtransform\-header(...)\fR (تبدیل سربرگ با استفاده از یک دستور خارجی) \fBtransform\-header\-lines(...)\fR (تبدیل تعداد \fB\-\-header\-lines\fR با استفاده از یک دستور خارجی) \fBtransform\-header\-label(...)\fR (تبدیل برچسب سربرگ با استفاده از یک دستور خارجی) \fBtransform\-input\-label(...)\fR (تبدیل برچسب ورودی با استفاده از یک دستور خارجی) \fBtransform\-list\-label(...)\fR (تبدیل برچسب لیست با استفاده از یک دستور خارجی) \fBtransform\-nth(...)\fR (تبدیل nth با استفاده از یک دستور خارجی) \fBtransform\-with\-nth(...)\fR (تبدیل with-nth با استفاده از یک دستور خارجی) \fBtransform\-pointer(...)\fR (تبدیل نشانگر با استفاده از یک دستور خارجی) \fBtransform\-preview\-label(...)\fR (تبدیل برچسب پیش‌نمایش با استفاده از یک دستور خارجی) \fBtransform\-prompt(...)\fR (تبدیل رشته اعلان با استفاده از یک دستور خارجی) \fBtransform\-query(...)\fR (تبدیل رشته پرس‌وجو با استفاده از یک دستور خارجی) \fBtransform\-search(...)\fR (آغاز جستجوی fzf با خروجی یک دستور خارجی) \fBtrigger(...)\fR (اجرای کنش‌های متصل به فهرست کلیدها و رویدادهای جداشده با کاما) \fBunbind(...)\fR (لغو اتصالات کلیدها) \fBunix\-line\-discard\fR \fIctrl\-u\fR \fBunix\-word\-rubout\fR \fIctrl\-w\fR \fBuntrack\-current\fR (توقف ردگیری مورد جاری؛ در صورت فعال بودن ردگیری سراسری بی‌اثر است) \fBwait\fR (مسدود کردن اجرای کنش تا زمان تکمیل جستجو) \fBup\fR \fIctrl\-k up\fR \fBup\-match\fR \fIctrl\-p\fR \fIalt\-up\fR (حرکت به تطابق بالای مکان‌نما) \fBup\-selected\fR (حرکت به مورد انتخاب‌شده بالای مکان‌نما) \fByank\fR \fIctrl\-y\fR .PP هر کنش .B transform* دارای یک گونه معادل .B bg\-transform* است که دستور را در پس‌زمینه اجرا می‌کند. .SS "ترکیب کنش‌ها (ACTION COMPOSITION)" چندین کنش را می‌توان با استفاده از جداکننده .B + به یکدیگر زنجیر کرد. برای نمونه: \fBfzf \-\-multi \-\-bind 'ctrl\-a:select\-all+accept'\fR \fBfzf \-\-multi \-\-bind 'ctrl\-a:select\-all' \-\-bind 'ctrl\-a:+accept'\fR هر کنشی پس از یک کنش پایانی که موجب خروج از fzf می‌شود، مانند .B accept یا .BR abort ، نادیده گرفته خواهد شد. .SS "آرگومان کنش (ACTION ARGUMENT)" کنشی که با پسوند .B (...) مشخص شده باشد، یک آرگومان می‌پذیرد. برای نمونه: \fBfzf \-\-bind 'ctrl\-a:change\-prompt(NewPrompt> )'\fR \fBfzf \-\-bind 'ctrl\-v:preview(cat {})' \-\-preview\-window hidden\fR اگر آرگومان دارای پرانتز باشد، ممکن است fzf نتواند عبارت را به درستی تجزیه کند. در این صورت، برای جلوگیری از خطاهای تجزیه می‌توانید از هر یک از قالب‌های جایگزین زیر استفاده کنید: \fBaction\-name[...]\fR \fBaction\-name{...}\fR \fBaction\-name<...>\fR \fBaction\-name~...~\fR \fBaction\-name!...!\fR \fBaction\-name@...@\fR \fBaction\-name#...#\fR \fBaction\-name$...$\fR \fBaction\-name%...%\fR \fBaction\-name^...^\fR \fBaction\-name&...&\fR \fBaction\-name*...*\fR \fBaction\-name;...;\fR \fBaction\-name/.../\fR \fBaction\-name|...|\fR \fBaction\-name:...\fR .RS مورد آخر فرم ویژه‌ای است که شما را از خطاهای تجزیه در امان نگه می‌دارد زیرا نیازی به کاراکتر پایانی ندارد. نکته این است که این حالت باید آخرین مورد در فهرست جفت‌های کلید-کنش جداشده با کاما باشد. .RE .SS اجرای دستور (COMMAND EXECUTION) با کنش \fBexecute(...)\fR، می‌توانید دستورات دلخواه را بدون خروج از fzf اجرا کنید. برای نمونه، می‌توانید با مقیدسازی کلید \fBenter\fR به دستور \fBless\fR به صورت زیر، fzf را به یک مرورگر فایل ساده تبدیل کنید: \fBfzf \-\-bind "enter:execute(less {})"\fR می‌توانید از همان عبارت‌های جای‌نگه‌دار مشابه آنچه در \fB\-\-preview\fR آمده استفاده کنید. هنگام اجرای یک دستور، fzf به صفحه متناوب سوییچ می‌کند. با این حال، اگر انتظار می‌رود دستور سریعاً تکمیل شود و علاقه‌ای به خروجی آن ندارید، می‌توانید به جای آن از \fBexecute\-silent\fR استفاده کنید که دستور را بدون سوییچ کردن صفحه و در سکوت اجرا می‌کند. توجه داشته باشید که fzf تا زمان تکمیل دستور پاسخ‌گو نخواهد بود. برای اجرای ناهمگام، دستور خود را به عنوان یک فرایند پس‌زمینه اجرا کنید (یعنی با افزودن \fB&\fR در انتهای آن). در سامانه‌های *nix، برنامه fzf دستور را در صورت تنظیم بودن متغیر \fBSHELL\fR با \fB$SHELL \-c\fR، و در غیر این صورت با \fBsh \-c\fR اجرا می‌کند؛ بنابراین در این حالت مطمئن شوید که دستور با استاندارد POSIX سازگار باشد. کنش \fBbecome(...)\fR مشابه \fBexecute(...)\fR است، اما با استفاده از فراخوان سیستمی \fBexecve(2)\fR، فرایند فعلی fzf را با دستور مشخص‌شده جایگزین می‌کند. \fBfzf \-\-bind "enter:become(vim {})"\fR .SS بازخوانی ورودی (RELOAD INPUT) کنش \fBreload(...)\fR برای به‌روزرسانی پویای فهرست ورودی بدون نیاز به راه‌اندازی مجدد fzf به کار می‌رود. این کنش از همان الگوی دستوری با عبارت‌های جای‌نگه‌دار مشابه \fBexecute(...)\fR استفاده می‌کند. برای اطلاعات بیشتر، \fIhttps://github.com/junegunn/fzf/issues/1750\fR را ببینید. برای نمونه: \fB# به‌روزرسانی فهرست فرایندها با فشردن CTRL\-R ps \-ef | fzf \-\-bind 'ctrl\-r:reload(ps \-ef)' \-\-header 'Press CTRL\-R to reload' \\ \-\-header\-lines=1 \-\-layout=reverse # یکپارچه‌سازی با ripgrep RG_PREFIX="rg \-\-column \-\-line\-number \-\-no\-heading \-\-color=always \-\-smart\-case " INITIAL_QUERY="foobar" FZF_DEFAULT_COMMAND="$RG_PREFIX '$INITIAL_QUERY'" \\ fzf \-\-bind "change:reload:$RG_PREFIX {q} || true" \\ \-\-ansi \-\-disabled \-\-query "$INITIAL_QUERY"\fR \fBreload\-sync(...)\fR نسخه همگام \fBreload\fR است که فهرست را تنها پس از تکمیل دستور جایگزین می‌کند. این ویژگی زمانی مفید است که تولید خروجی اولیه توسط دستور مدتی زمان می‌برد و مایل نیستید در حین اجرای دستور، fzf با یک فهرست خالی کار کند. برای نمونه: \fB# همچنان می‌توانید به مدت ۳ ثانیه ورودی‌ها را از فهرست اولیه پالایش کرده و برگزینید seq 100 | fzf \-\-bind 'load:reload\-sync(sleep 3; seq 1000)+unbind(load)'\fR .SS کنش‌های تبدیل (TRANSFORM ACTIONS) کنش‌های دارای پیشوند \fBtransform\-\fR برای دگرگون‌سازی وضعیت‌های fzf با استفاده از خروجی یک دستور خارجی به کار می‌روند. انتظار می‌رود خروجی این دستورات یک سطر تک‌خطی از متن باشد. برای نمونه: \fBfzf \-\-bind 'focus:transform\-header:file \-\-brief {}'\fR کنش \fBtransform(...)\fR یک دستور خارجی را اجرا می‌کند که باید دنباله‌ای از کنش‌های قابل اجرا را چاپ کند. خروجی باید به همان قالب بار داده (payload) در درخواست HTTP POST ارسال‌شده به سرور \fB\-\-listen\fR باشد. برای نمونه: \fB# عدم اجازه برای انتخاب سطر خالی printf "1. Hello\\n2. Goodbye\\n\\n3. Exit" | fzf \-\-height '~100%' \-\-reverse \-\-header 'Select one' \\ \-\-bind 'enter:transform:[[ \-n {} ]] && echo accept || echo "change\-header:Invalid selection"' \fR یک اشتباه رایج هنگام نوشتن کنش \fBtransform\fR، عدم اسکیپ کردن عبارت‌های جای‌نگه‌دار هنگام ارسال مجدد آن‌ها به fzf است. در مثال زیر، اگر \fB{}\fR را اسکیپ نکنید، fzf فوراً آن را با رشته نقل‌قول‌شدهٔ (single-quoted) مورد فعلی جایگزین می‌کند. این موضوع باعث نمایش علامت‌های گیومه تکی در سربرگ و پانویس شده و در صورتی که هر موردی دارای نویسه‌های گیومه دوتایی (double-quote) باشد، اسکریپت با شکست مواجه می‌شود. \fBfzf \-\-bind 'focus:transform:[[ $FZF_ACTION =~ up ]] && echo "change\-header()+transform\-footer:echo \\{}" || echo "change\-footer()+transform\-header:echo \\{}"'\fR .SS تبدیل در پس‌زمینه (TRANSFORM IN THE BACKGROUND) کنش‌های تبدیل همگام هستند؛ یعنی در حین اجرای دستور، fzf پاسخ‌گو نخواهد بود. برای جلوگیری از این امر، هر کنش \fBtransform*\fR دارای یک گونهٔ متناظر \fBbg\-transform*\fR است که در پس‌زمینه اجرا می‌شود. مگر این‌که نیاز داشته باشید چندین کنش تبدیل را که در آن‌ها کنش‌های پسین به نتایج پیشین وابسته هستند به یکدیگر زنجیر کنید، ترجیحاً از گونهٔ \fBbg\fR استفاده کنید. برای لغو فرایندهای تبدیل در حال اجرا در پس‌زمینه، از کنش \fBbg\-cancel\fR استفاده کنید. .SS انتظار برای تکمیل جستجو (WAITING FOR SEARCH COMPLETION) کنش \fBwait\fR اجرای کنش‌های پسین را تا زمان تکمیل جستجوی جاری مسدود می‌کند. این قابلیت هنگام زنجیره‌سازی کنش‌های تغییردهندهٔ پرس‌وجو با کنش‌های حرکتی مانند \fBbest\fR یا \fBfirst\fR سودمند است و تضمین می‌کند که کنش حرکتی بر روی نتایج کامل جستجو عمل کند، نه داده‌های قدیمی و نامعتبر. برای نمونه: \fBfzf \-\-bind 'start:change\-query(foo)+wait+best'\fR در این مثال، \fBchange\-query(foo)\fR یک جستجوی ناهمگام را برای پرس‌وجوی جدید آغاز می‌کند، \fBwait\fR تا زمان تکمیل جستجو روند را مسدود می‌سازد، و سپس \fBbest\fR مکان‌نما را به بهترین تطابق در کل مجموعه نتایج منتقل می‌کند. بارگذاری اولیهٔ ورودی نیز به عنوان یک جستجوی در حال انجام در نظر گرفته می‌شود، بنابراین می‌توان از \fBstart:wait\fR برای مسدودسازی تا زمان بارگذاری و جستجوی کامل ورودی بهره گرفت. در زمان انتظار، ورودی کاربر نادیده گرفته می‌شود؛ به جز کلیدهایی که به \fBabort\fR یا \fBcancel\fR مقید شده‌اند (به صورت پیش‌فرض \fIctrl\-c\fR، \fIctrl\-g\fR، \fIctrl\-q\fR و \fIesc\fR)، که به جای ایفای نقش معمول خود، انتظار را لغو کرده و کنش‌های معلق را نادیده می‌گیرند. سایر کنش‌های چنین مقیدسازی‌ای همچنان اجرا می‌شوند، بنابراین قیدی مانند \fBesc:cancel+first\fR امکان‌پذیر است. کنش‌های ناهمگام \fBbg\-transform\-*\fR تحت تأثیر قرار نمی‌گیرند؛ نتایج آن‌ها به محض آماده شدن، حتی در حین انتظار، اعمال می‌شوند. به همین دلیل، \fBwait\fR با آن‌ها جفت نمی‌شود: در \fBbg\-transform\-query(...)+wait\fR، دستور پس‌زمینه تنها پس از این‌که \fBwait\fR از پیش ارزیابی شده است کامل می‌شود، بنابراین برای جستجویی که نهایتاً توسط نتیجه آن راه‌اندازی می‌گردد انتظاری رخ نمی‌دهد. هنگام زنجیره‌سازی با \fBwait\fR، در عوض از گونهٔ همگام \fBtransform\-query(...)\fR استفاده کنید. اگر جستجو به اندازه کافی طول بکشد، fzf با کم‌رنگ کردن ورودی، پنهان کردن مکان‌نما و نمایش \fB(..)\fR در خط اطلاعات، وضعیت انتظار را نشان می‌دهد. این بازخورد دیداری دارای تثبیت زمانی (debounced) است تا جستجوهای سریع موجب پرش تصویر نشوند. توجه داشته باشید که اگر جستجوها با توالی سریع آغاز شوند (برای نمونه از طریق \fB\-\-listen\fR)، ممکن است \fBwait\fR با تکمیل جستجوی پیشین از انسداد خارج شود. همچنین، در صورتی که منبع ورودی هرگز پایان نیابد، \fBwait\fR تا زمان لغو شدن مسدود خواهد ماند. .SS مقیدسازی پیش‌نمایش (PREVIEW BINDING) با کنش \fBpreview(...)\fR می‌توانید افزون بر دستور پیش‌نمایش پیش‌فرض که توسط گزینهٔ \fB\-\-preview\fR تعیین شده است، چندین دستور پیش‌نمایش مختلف دیگر را مشخص کنید. برای نمونه: # دستور پیش‌نمایش پیش‌فرض به همراه یک مقیدسازی پیش‌نمایش اضافی fzf \-\-preview 'file {}' \-\-bind '?:preview:cat {}' # یک مقیدسازی پیش‌نمایش بدون دستور پیش‌نمایش پیش‌فرض # (پنجره پیش‌نمایش در ابتدا خالی است) fzf \-\-bind '?:preview:cat {}' # پنجره پیش‌نمایش به صورت پیش‌فرض پنهان است و با فشردن کلید '?' نمایان می‌شود fzf \-\-bind '?:preview:cat {}' \-\-preview\-window hidden .SS تغییر مشخصه‌های پنجره پیش‌نمایش (CHANGE PREVIEW WINDOW ATTRIBUTES) از کنش \fBchange\-preview\-window\fR می‌توان برای تغییر ویژگی‌های پنجره پیش‌نمایش استفاده کرد. بر خلاف گزینهٔ \fB\-\-preview\-window\fR، می‌توانید مجموعه‌های چندگانه‌ای از گزینه‌ها را که با نویسهٔ '|' از یکدیگر جدا شده‌اند تعیین کنید. برای نمونه: # چرخش بین گزینه‌ها با استفاده از CTRL\-/ fzf \-\-preview 'cat {}' \-\-bind 'ctrl\-/:change\-preview\-window(right,70%|down,40%,border\-horizontal|hidden|right)' # ویژگی‌های پیش‌فرض مشخص‌شده توسط `\-\-preview\-window` به ارث برده می‌شوند، بنابراین یک رشته خالی در فهرست به عنوان حالت پیش‌فرض در نظر گرفته می‌شود fzf \-\-preview 'cat {}' \-\-preview\-window 'right,40%,border\-left' \-\-bind 'ctrl\-/:change\-preview\-window(70%|down,border\-top|hidden|)' # این حالت معادل کنش toggle\-preview است fzf \-\-preview 'cat {}' \-\-bind 'ctrl\-/:change\-preview\-window(hidden|)' .SH "نویسندگان (AUTHORS)" Junegunn Choi (\fIjunegunn.c@gmail.com\fR) .SH "همچنین ببینید (SEE ALSO)" .B وب‌گاه پروژه: .RS .I https://github.com/junegunn/fzf .RE .br .br .B افزونه اختصاصی Vim: .RS .I https://github.com/junegunn/fzf.vim .RE .SH "مجوز (LICENSE)" MIT