'\" t .\" Title: grmlzshrc .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.26 .\" Date: 2026-09-02 .\" Manual: \ \& .\" Source: \ \& .\" Language: English .\" .TH "GRMLZSHRC" "5" "2026-09-02" "\ \&" "\ \&" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "نام (NAME)" grmlzshrc \- پیکربندی تعاملی zsh پروژه Grml .SH "خلاصه دستور (SYNOPSIS)" .sp \fIzsh\fP [\fBگزینه‌ها\fP].\|.\|.\| .SH "توضیحات (DESCRIPTION)" .sp پروژه Grml یک پیکربندی تعاملی جامع (که در سراسر این سند با عنوان \fIgrmlzshrc\fP نامیده می‌شود) برای شل فوق‌العاده یونیکس .URL "http://zsh.sourceforge.net" "zsh" "." فراهم می‌کند. این سند، کتابچه راهنمای مرجع برای آن پیکربندی است. .sp برای استفاده از \fIgrmlzshrc\fP، حداقل به نگارش 5.1 از zsh نیاز دارید. .sp رفتار \fIgrmlzshrc\fP بسته به اینکه کدام کاربر آن را بارگذاری می‌کند متفاوت است. برای کاربر ریشه (\fBEUID\fP == 0) تنها زیرمجموعه‌ای از قابلیت‌ها به صورت پیش‌فرض بارگذاری می‌شود. این رفتار را می‌توان با تنظیم متغیر راه‌اندازی \fBGRML_ALWAYS_LOAD_ALL\fP تغییر داد (پایین را ببینید). .sp کاربران ممکن است بخواهند نگارشی به‌روز از پیکربندی (احتمالاً از منابع گیت) را در \fI~/.zshrc\fP نگه دارند. اگر این اتفاق در سیستمی بیفتد که zshrc سراسری آن نیز یک \fIgrmlzshrc\fP است (اما احتمالاً نسخه‌ای قدیمی‌تر)، می‌توانید با اجرای دستور زیر از بارگذاری نگارش سراسری جلوگیری کنید: .sp .if n .RS 4 .nf .fam C echo setopt no_global_rcs >> ~/.zshenv .fam .fi .if n .RE .sp توجه داشته باشید که این کار \fBتمام\fP پرونده‌های سراسری را، به استثنای پرونده سراسری zshenv، غیرفعال خواهد کرد. .SH "متغیرهای راه‌اندازی (STARTUP VARIABLES)" .sp برخی رفتارهای \fIgrmlzshrc\fP را می‌توان با تنظیم متغیرهای مشخصی در شل تغییر داد. این متغیرها را می‌توان هنگام راه‌اندازی zsh به صورت موقت به این شکل تنظیم کرد: .sp .if n .RS 4 .nf .fam C % GRML_DISPLAY_BATTERY=1 zsh .fam .fi .if n .RE .sp یا با تنظیم همیشگی آن‌ها در \fBzshrc.pre\fP (بخش پرونده‌های کمکی در پایین را ببینید). .sp \fBBATTERY\fP .RS 4 منسوخ شده است. به جای آن از \fBGRML_DISPLAY_BATTERY\fP استفاده کنید. .RE .sp \fBCOMMAND_NOT_FOUND\fP .RS 4 مقداری غیر از صفر، گرداننده‌ای را فعال می‌کند که هنگام پیدا نشدن دستور فراخوانی می‌شود. این گرداننده توسط GRML_ZSH_CNF_HANDLER تعریف می‌شود (پایین را ببینید). .RE .sp \fBGRML_COMP_CACHING\fP .RS 4 در صورت تنظیم روی \fIyes\fP (پیش‌فرض)، مکانیزم حافظه نهان تکمیل خودکار zsh فعال شده و داده‌های کش در \fI$GRML_COMP_CACHE_DIR\fP قرار می‌گیرند. .RE .sp \fBGRML_COMP_CACHE_DIR\fP .RS 4 محل قرارگیری داده‌های حافظه نهان تکمیل خودکار zsh را در صورت فعال بودن \fI$GRML_COMP_CACHING\fP تعیین می‌کند. پیش‌فرض: \fI${ZDOTDIR:\-$HOME}/.cache\fP است. سیستم قبل از استفاده، از وجود پوشه اطمینان حاصل می‌کند. .RE .sp \fBGRML_DISPLAY_BATTERY\fP .RS 4 در صورت تنظیم روی مقداری بزرگ‌تر از صفر، \fIgrmlzshrc\fP وضعیت باتری را در اعلان تعاملی سمت راست قرار می‌دهد. سیستم‌عامل‌های پشتیبانی‌شده عبارتند از: \fIGNU/Linux\fP، \fIFreeBSD\fP، \fIOpenBSD\fP و \fIDarwin\fP. .RE .sp \fBGRML_ZSH_CNF_HANDLER\fP .RS 4 این متغیر شامل گرداننده مورد استفاده برای COMMAND_NOT_FOUND است (بالا را ببینید) و به طور پیش‌فرض برابر با "/usr/share/command\-not\-found/command\-not\-found" است. .RE .sp \fBGRML_NO_APT_ALIASES\fP .RS 4 مقداری غیرخالی، از تعریف نام‌های مستعار کوتاه مخصوص apt مانند ag، agi، ati و... جلوگیری می‌کند. .RE .sp \fBGRML_NO_SMALL_ALIASES\fP .RS 4 مقداری غیرخالی، از تعریف نام‌های مستعار دوحرفی مانند da جلوگیری می‌کند. دستورات ls، ll، la و سایر نام‌های مستعار رایج مربوط به ls از این قاعده مستثنی هستند، همانند نام‌های مستعاری که توسط GRML_NO_APT_ALIASES مهار شده‌اند. .RE .sp \fBGRMLSMALL_SPECIFIC\fP .RS 4 این مقدار را روی صفر تنظیم کنید تا مواردی از پیکربندی zsh که در grml\-small کار نمی‌کنند حذف شوند. .RE .sp \fBHISTFILE\fP .RS 4 محل ذخیره تاریخچه فرمان‌ها توسط zsh. پیش‌فرض: ${HOME}/.zsh_history. .RE .sp \fBHISTSIZE\fP .RS 4 تعداد دستوراتی که باید در تاریخچه نگه داشته شوند. پیش‌فرض: 5000. .RE .sp \fBMAILCHECK\fP .RS 4 بسامد زمانی بررسی نامه‌های جدید توسط zsh بر حسب ثانیه. پیش‌فرض: 30. مقدار صفر بررسی را خاموش می‌کند. .RE .sp \fBNOCOR\fP .RS 4 مقادیر غیرصفر، تصحیح خودکار دستورات را غیرفعال می‌کنند. .RE .sp \fBNOETCHOSTS\fP .RS 4 مقادیر غیرصفر، پردازش پرونده "/etc/hosts" را غیرفعال کرده و تکمیل خودکار میزبان‌ها با استفاده از محتوای این پرونده را خاموش می‌کنند. .RE .sp \fBNOMENU\fP .RS 4 در صورت تنظیم روی صفر (پیش‌فرض)، در صورت وجود حداقل پنج گزینه ممکن برای تکمیل خودکار، امکان انتخاب از منو فراهم می‌شود. .RE .sp \fBNOPRECMD\fP .RS 4 مقداری غیرصفر، دستورات precmd و preexec را غیرفعال می‌کند. این‌ها توابعی هستند که قبل از هر دستور اجرا می‌شوند (تنظیم عنوان xterm/screen و غیره). .RE .sp \fBREPORTTIME\fP .RS 4 زمان صرف‌شده (کاربر، سیستم و پردازنده) توسط دستورات خارجی را در صورتی که بیشتر از تعداد ثانیه‌های تعیین‌شده طول بکشند نمایش می‌دهد (پیش‌فرض: 5). .RE .sp \fBSAVEHIST\fP .RS 4 تعداد دستوراتی که باید در ${HISTFILE} ذخیره شوند. پیش‌فرض: 10000. .RE .sp \fBwatch\fP .RS 4 مشابه tcsh(1)، آرایه‌ای از رویدادهای ورود/خروج کاربر است که توسط دستور توکار "log" شل گزارش می‌شود. برای جزئیات به zshparam(1) مراجعه کنید. پیش‌فرض: (notme root). .RE .sp \fBZSH_NO_DEFAULT_LOCALE\fP .RS 4 در صورت تنظیم روی صفر (پیش‌فرض)، پرونده "/etc/default/locale" را درون‌ریزی می‌کند. .RE .sp \fBZSH_PROFILE_RC\fP .RS 4 مقداری غیرصفر باعث پروفایل شدن توابع شل می‌شود. نتایج را می‌توان با دستور توکار zprof به دست آورد (برای جزئیات به zshmodules(1) مراجعه کنید). .RE .sp \fBCOMPDUMPFILE\fP .RS 4 محل پرونده دامپ تکمیل خودکار را مشخص می‌کند. پیش‌فرض: $HOME/.zcompdump. .RE .SH "سبک‌های ویژه GRML-ZSHRC (GRML-ZSHRC SPECIFIC STYLES)" .sp سبک‌ها (Styles) یک سازوکار پیکربندی حساس به زمینه در zsh هستند. شل از این سازوکار به طور گسترده در زیرسیستم‌هایی مانند تکمیل خودکار و اطلاعات سامانه کنترل نسخه (VCS) استفاده می‌کند. این سازوکار بیرون از فضای نام متغیرهای کلاسیک شل قرار دارد و از آلودگی آن جلوگیری می‌کند. قابلیت‌های جدید در zshrc گِرمل احتمالاً به جای متغیرها از سبک‌ها استفاده خواهند کرد. برخی از ویژگی‌های این پیکربندی (مانند مدیریت پشته دایرکتوری) در حال حاضر از سبک‌ها استفاده می‌کنند. آن سبک‌ها در کنار ویژگی‌های مربوطه مستند شده‌اند. این بخش سبک‌های عمومی‌تر را مستند می‌کند. .SS "زمینه: :grml:completion:compinit" .sp این زمینه مربوط به فراخوانی تابع \fIcompinit\fP در zshrc است که سامانه تکمیل خودکار مبتنی بر تابع zsh را راه‌اندازی می‌کند. .sp \fBarguments\fP .RS 4 این سبک امکان تزریق آرگومان‌ها به خط فرمانی را می‌دهد که برای اجرای compinit استفاده می‌شود. این سبک از نوع فهرست بوده و پیش‌فرض آن یک فهرست خالی است. با استفاده از این سبک، می‌توان \fB\-i\fP را به \fIcompinit\fP افزود تا \fIcompaudit\fP غیرفعال شود. .RE .sp .if n .RS 4 .nf .fam C zstyle \*(Aq:grml:completion:compinit\*(Aq arguments \-i .fam .fi .if n .RE .sp تنها در صورتی این کار را انجام دهید که بدانید در صورت غیرفعال بودن \fIcompaudit\fP چه نوع بررسی‌های امنیتی غیرفعال می‌شوند و آیا این موضوع با پیکربندی خاص شما سازگار است یا خیر. .sp این سبک باید در نقطه‌ای تنظیم شود که zshrc گرمل \fIcompinit\fP را اجرا می‌کند. یک راه ممکن برای انجام این کار، تنظیم آن در \fI~/.zshrc.pre\fP است (برای جزئیات به بخش پرونده‌های کمکی در پایین مراجعه کنید). .SH "شرح قابلیت‌ها (FEATURE DESCRIPTION)" .sp این بخش شرح دقیقی از قابلیت‌های غیر استاندارد پیاده‌سازی‌شده توسط \fIgrmlzshrc\fP ارائه می‌دهد. .SS "مدیریت پشته دایرکتوری (dirstack handling)" .sp پشته دایرکتوری در \fIgrmlzshrc\fP ماهیتی ماندگار دارد. هر بار که پوشه کاری zsh تغییر می‌کند، پشته در یک پرونده ذخیره می‌شود. این پرونده از طریق متغیر \fBDIRSTACKFILE\fP قابل پیکربندی است و به طور پیش‌فرض \fB~/.zdirs\fP است. متغیر \fBDIRSTACKSIZE\fP در این پیکربندی به صورت پیش‌فرض برابر با \fB20\fP است. .sp پرونده \fBDIRSTACKFILE\fP با هر بار شروع zsh بارگذاری می‌شود، بنابراین نشست‌های جدید zsh پشته دایرکتوری نشستی را به ارث می‌برند که اخیراً \fBDIRSTACKFILE\fP را به‌روزرسانی کرده است. .sp اگر مایلید ویژگی پشته دایرکتوری ماندگار را به طور کامل \fIغیرفعال\fP کنید، می‌توانید با تنظیم سبک بولی \fIenable\fP روی \fIfalse\fP در زمینه مناسب این کار را انجام دهید (پیش‌فرض \fItrue\fP است): .sp .if n .RS 4 .nf .fam C zstyle \*(Aq:grml:chpwd:dirstack\*(Aq enable false .fam .fi .if n .RE .sp امکان اعمال فیلتر بر روی نام پوشه‌هایی که در پرونده پشته دایرکتوری ماندگار ثبت می‌شوند وجود دارد. دو روش برای پیکربندی این فیلتر وجود دارد: فیلتر عمومی مبتنی بر تابع و فیلتر مبتنی بر الگو. هر دو از طریق سبک‌ها در زمینه \fB\*(Aq:grml:chpwd:dirstack\*(Aq\fP تنظیم می‌شوند. .sp برای استفاده از فیلتر مبتنی بر تابع، سبک \fIfilter\fP را برای آن زمینه روی نام تابعی تنظیم کنید که هر بار قرار است نام پوشه‌ای به پشته دایرکتوری ماندگار افزوده شود فراخوانی گردد. اگر مقدار بازگشتی تابع نشان‌دهنده موفقیت باشد (یعنی مقدار بازگشتی "0")، نام پوشه فیلتر شده و به پشته ماندگار افزوده \fBنمی‌شود\fP. مثال: .sp .if n .RS 4 .nf .fam C function my_dirstack_filter() { [[ $1 == /tmp(|/*) ]] } zstyle \*(Aq:grml:chpwd:dirstack\*(Aq filter my_dirstack_filter .fam .fi .if n .RE .sp فیلتر مبتنی بر الگو از فهرستی از الگوها استفاده می‌کند که به سبک \fIexclude\fP در زمینه مذکور داده می‌شوند. هر الگو آزمایش می‌شود و اولین الگویی که مطابقت داشته باشد، از افزودن نام پوشه به پشته ماندگار جلوگیری می‌کند. اگر هیچ‌یک از الگوها مطابقت نداشته باشد، نام پوشه افزوده می‌شود. مثال: .sp .if n .RS 4 .nf .fam C zstyle \*(Aq:grml:chpwd:dirstack\*(Aq exclude "/tmp(|/*)" "$HOME/tmp(|/*)" .fam .fi .if n .RE .sp فیلتر مبتنی بر تابع عمومی‌تر است، و راه‌اندازی فیلتر مبتنی بر الگو آسان‌تر است. اگر از هر دو نوع فیلتر به طور همزمان استفاده شود، فیلتر مبتنی بر تابع \fIقبل از\fP فیلتر مبتنی بر الگو اجرا خواهد شد. .sp اگر می‌خواهید فیلترهای خود را هنگام \fIبارگذاری\fP پرونده پشته دایرکتوری ماندگار اعمال کنید، سبک بولی \fIfilter\-on\-load\fP را تنظیم کنید (پیش‌فرض \fIfalse\fP است): .sp .if n .RS 4 .nf .fam C zstyle \*(Aq:grml:chpwd:dirstack\*(Aq filter\-on\-load true .fam .fi .if n .RE .sp تنظیم سبک‌های \fIfilter\-on\-load\fP و \fIenable\fP باید در ".zshrc.pre" انجام شود زیرا سبک‌ها باید هنگام اجرای پیکربندی اصلی تنظیم شده باشند! سایر سبک‌ها این محدودیت را ندارند، اما فعال‌سازی سیستم و همچنین فیلتر اولیه طبیعتاً با استفاده از تنظیمات و فیلترهایی انجام خواهد شد که در \fBآن\fP \fBلحظه\fP پیکربندی شده‌اند. .sp در مورد \fIfilter\-on\-load\fP، قاعده کلی این است: اگر می‌خواهید هنگام بارگذاری فیلتر کنید، همه چیز را در ".zshrc.pre" تنظیم کنید؛ در غیر این صورت ".zshrc.local" نیز به همان خوبی کار می‌کند. .SS "پروفایل‌های مبتنی بر دایرکتوری (Directory-based Profiles)" .sp اگر نیاز دارید هر بار که وارد درخت‌های دایرکتوری خاصی می‌شوید کارهای مشخصی انجام دهید، این همان قابلیتی است که به دنبال آن هستید. .SS "راه‌اندازی اولیه (Initialisation)" .sp برای راه‌اندازی سیستم، باید تابع `chpwd_profiles\*(Aq را در نقطه‌ای از `zshrc.local\*(Aq خود فراخوانی کنید؛ ترجیحاً \fBپس از\fP پیکربندی سیستم. پیکربندی سیستم در ادامه توضیح داده شده است. .sp اگر نیاز به انجام اقدامات اولیه‌ای در نخستین بار فراخوانی `chpwd_profiles\*(Aq دارید (که باید در پرونده پیکربندی شما باشد)، می‌توانید این کار را در تابعی به نام "chpwd_profiles_init" انجام دهید. این تابع باید \fBقبل از\fP فراخوانی `chpwd_profiles\*(Aq تعریف شده باشد تا به درستی کار کند. .sp در طول فراخوانی \fBاول\fP `chpwd_profiles\*(Aq (و در نتیجه تمام توابع پروفایل آن)، پارامتر `$CHPWD_PROFILES_INIT\*(Aq وجود داشته و مقدار آن `1\*(Aq است. در سایر حالات، این پارامتر به هیچ وجه وجود ندارد. .SS "سبک‌ها و نام‌های پروفایل (Styles and Profile-names)" .sp برای ذخیره پیکربندی، سیستم از \fBتوابع\fP و \fBسبک‌ها\fP (سامانه پیکربندی حساس به زمینه zsh) استفاده می‌کند، مانند این: .sp .if n .RS 4 .nf .fam C zstyle \*(Aq:chpwd:profiles:/usr/src/grml(|/|/*)\*(Aq\& profile grml zstyle \*(Aq:chpwd:profiles:/usr/src/debian(|/|/*)\*(Aq profile debian .fam .fi .if n .RE .sp هنگامی که این کار انجام شد و شما وارد پوشه‌ای شدید که با الگوی بخش سوم زمینه مطابقت دارد، برای نمونه تابعی به نام chpwd_profile_grml (در صورت وجود) فراخوانی می‌شود. .sp اگر هیچ الگویی مطابقت نداشته باشد (یعنی هیچ پروفایلی شناسایی نشود)، پروفایل روی \*(Aqdefault\*(Aq تنظیم می‌شود که به معنای تلاش برای فراخوانی chpwd_profile_default است. .sp توضیحی درباره زمینه مورد استفاده (عبارت \*(Aq:chpwd:profiles:*\*(Aq در دستور zstyle): بخش سوم در زمینه با ${PWD} تطبیق داده می‌شود. به همین دلیل استفاده از الگویی مانند /foo/bar(|/|/*) منطقی است، زیرا بدین ترتیب پروفایل برای تمام این مقادیر از ${PWD} شناسایی می‌شود: .sp .if n .RS 4 .nf .fam C /foo/bar /foo/bar/ /foo/bar/baz .fam .fi .if n .RE .sp بنابراین اگر می‌خواهید کاملاً مطمئن شوید که یک پروفایل در /foo/bar و تمام زیرپوشه‌های عمیق‌تر آن کار می‌کند، کافی است از (|/|/*) استفاده کنید. .sp نام پروفایل شناسایی‌شده در متغیری به نام \*(Aqprofile\*(Aq در توابع شما در دسترس خواهد بود و نیازی به کار خاصی از سوی شما نیست. .SS "کنترل اجرای پروفایل (Controlling Profile Execution)" .sp در حین اجرای اولیه، سیستم یک پارامتر به نام $CHPWD_PROFILE ایجاد می‌کند که روی پروفایل فعال فعلی تنظیم شده است (مقدار پیش‌فرض "default" است). بدین ترتیب می‌توانید با قرار دادن کدی مانند زیر در ابتدای تابع خود، از اجرای کد برای پروفایلی که هم‌اکنون فعال است جلوگیری کنید: .sp .if n .RS 4 .nf .fam C function chpwd_profile_grml() { [[ ${profile} == ${CHPWD_PROFILE} ]] && return 1 ... } .fam .fi .if n .RE .sp اگر می‌دانید که قرار است این کار را همیشه برای تک تک توابع پروفایل پوشه انجام دهید، می‌توانید سبک `re\-execute\*(Aq را روی `false\*(Aq تنظیم کنید (که تنها برای سازگاری با گذشته پیش‌فرض آن `true\*(Aq است): .sp .if n .RS 4 .nf .fam C zstyle \*(Aq:chpwd:profiles:*\*(Aq re\-execute false .fam .fi .if n .RE .SS "اعلام در دسترس بودن/تغییرات پروفایل (Signaling availabily/profile changes)" .sp اگر از این ویژگی استفاده می‌کنید و نیاز دارید بدانید آیا در شل فعلی شما فعال است، روش‌های گوناگونی وجود دارد. در اینجا دو روش ساده آورده شده است: .sp الف) اگر دانستن فعال بودن قابلیت پروفایل‌ها در هنگام شروع zsh برای شما کافی است، می‌توانید از تکه کد زیر استفاده کنید: .sp .if n .RS 4 .nf .fam C (( ${+functions[chpwd_profiles]} )) && print "directory profiles active" .fam .fi .if n .RE .sp ب) اگر این کافی نیست و ترجیح می‌دهید هر زمان که پروفایلی تغییر می‌کند مطلع شوید، می‌توانید \fBهر\fP تابع پروفایلی را که می‌سازید به این صورت آغاز کنید: .sp .if n .RS 4 .nf .fam C function chpwd_profile_myprofilename() { [[ ${profile} == ${CHPWD_PROFILE} ]] && return 1 print "chpwd(): Switching to profile: $profile" ... } .fam .fi .if n .RE .sp این کار تضمین می‌کند که فقط در صورت \fBتغییر\fP پروفایل اعلان دریافت کنید، نه با هر بار تغییر پوشه. (برای جلوگیری از این امر، می‌توانید به جای بررسی در بالای تابع، سبک جدیدتر `re\-execute\*(Aq را همان‌طور که در بالا توضیح داده شد تنظیم کنید). .SS "خروج از پروفایل‌ها (Leaving Profiles)" .sp هنگامی که سیستم از یک پروفایل به پروفایل دیگر تغییر وضعیت می‌دهد، قبل از فراخوانی تابع پروفایل جدید، تابعی به نام "chpwd_leave_profile_()" را اجرا می‌کند. .SS "پوشش‌دهنده Accept-Line (Accept-Line wrapper)" .sp ابزارک \fIaccept\-line\fP ابزارکی است که هنگام فشردن کلید \fBEnter/Return\fP وارد عمل می‌شود. \fIgrmlzshrc\fP از یک پوشش‌دهنده در اطراف این ابزارک استفاده می‌کند که قابلیت‌های جدیدی می‌افزاید. .sp این پوشش‌دهنده از طریق سبک‌ها پیکربندی می‌شود. یعنی دستوراتی صادر می‌کنید که شبیه این هستند: .sp .if n .RS 4 .nf .fam C zstyle \*(Aqcontext\*(Aq style value .fam .fi .if n .RE .sp فضای نام زمینه‌ای که استفاده می‌کنیم \*(Aqacceptline\*(Aq است. این یعنی زمینه واقعی دستورات شما به شکل \fB\*(Aq:acceptline:\*(Aq\fP خواهد بود. .sp که در آن \fB\fP یکی از موارد زیر است: \fBdefault\fP، \fBnormal\fP، \fBforce\fP، \fBmisc\fP یا \fBempty\fP. .SS "زمینه‌های شناخته‌شده (Recognized Contexts)" .sp \fBdefault\fP .RS 4 این مقداری است که زمینه با آن راه‌اندازی اولیه می‌شود. سبک‌های \fIcompwarnfmt و rehash\fP در این زمینه جستجو می‌شوند. .RE .sp \fBnormal\fP .RS 4 اگر اولین کلمه در خط فرمان یک دستور، نام مستعار، تابع، دستور توکار یا کلمه رزروشده باشد، در این زمینه قرار دارید. .RE .sp \fBforce\fP .RS 4 این زمینه‌ای است که اگر پس از دریافت هشدار درباره وجود _completion برای یک دستور ناموجود وارد شده، مجدداً کلید Enter را فشار دهید، استفاده می‌شود. .RE .sp \fBempty\fP .RS 4 اگر خط فرمان خالی باشد یا تنها از فاصله‌های خالی تشکیل شده باشد، در این زمینه قرار دارید. .RE .sp \fBmisc\fP .RS 4 اگر چیزی وارد کرده باشید که با هیچ‌یک از موارد بالا مطابقت نداشته باشد (مانند انتساب متغیرها)، این زمینه اعمال می‌شود. .RE .SS "سبک‌های موجود (Available Styles)" .sp \fBnocompwarn\fP .RS 4 اگر این سبک را روی true تنظیم کنید، هشدار مربوط به دستورات ناموجودی که برای آن‌ها فایل تکمیل خودکار وجود دارد صادر نخواهد شد (پیش‌فرض: \fBfalse\fP). .RE .sp \fBcompwarnfmt\fP .RS 4 پیامی که برای هشدار درباره مشکل _completion نمایش داده می‌شود (پیش‌فرض: \fB\*(Aq%c will not execute and completion %f exists.\*(Aq\fP). عبارت \*(Aq%c\*(Aq با نام دستور و \*(Aq%f\*(Aq با نام پرونده تکمیل خودکار جایگزین می‌شود. .RE .sp \fBrehash\fP .RS 4 در صورت تنظیم، در صورت لزوم هش‌بندی مجدد اجباری انجام می‌شود (پیش‌فرض در \fIgrmlzshrc\fP برابر با \fBtrue\fP است). .RE .sp \fBactions\fP .RS 4 می‌تواند فهرستی از ابزارک‌ها برای فراخوانی در یک زمینه معین باشد. اگر به ترتیب خاصی برای فراخوانی آن‌ها نیاز دارید، آن‌ها را به همان ترتیب نام ببرید. مقدار پیش‌فرض یک \fBفهرست خالی\fP است. .RE .sp \fBdefault_action\fP .RS 4 نام ابزارکی که پس از ابزارک‌های \*(Aqactions\*(Aq فراخوانی می‌شود. به طور پیش‌فرض، این ابزارک \*(Aq.accept\-line\*(Aq خواهد بود (که همان ابزارک توکار accept-line است). .RE .sp \fBcall_default\fP .RS 4 در صورت true بودن در زمینه جاری، ابزارک مشخص‌شده در سبک \*(Aqdefault_action\*(Aq را فراخوانی می‌کند (پیش‌فرض در تمام زمینه‌ها \fBtrue\fP است). .RE .SS "اعلان خط فرمان (Prompt)" .sp اکنون \fIgrmlzshrc\fP سه تم اعلان خط فرمان سازگار با سامانه \fBpromptinit\fP شل zsh ارائه می‌دهد. این سه تم با نام‌های \fBgrml\fP، \fBgrml\-large\fP و \fBgrml\-chroot\fP شناخته می‌شوند. .sp به طور پیش‌فرض از \fBgrml\fP استفاده می‌شود، مگر اینکه \fI$GRMLPROMPT\fP روی مقداری بزرگ‌تر از صفر تنظیم شده باشد که در این صورت از \fBgrml\-large\fP استفاده خواهد شد. در نهایت، اگر \fI$GRML_CHROOT\fP غیرخالی باشد، از \fBgrml\-chroot\fP استفاده می‌شود. .sp طبق معمول تم‌های promptinit، کاربر می‌تواند با استفاده از ابزار \fIprompt\fP به تم دیگری تغییر وضعیت دهد: .sp .if n .RS 4 .nf .fam C prompt grml\-large .fam .fi .if n .RE .sp این دستور تم اعلان \fBgrml\-large\fP را فعال می‌کند. .sp تم‌ها بسیار قابل شخصی‌سازی هستند. منبع اصلی مستندات مربوط به شخصی‌سازی، رشته راهنمای تم اصلی \fBgrml\fP است که با دستور زیر در دسترس است: .sp .if n .RS 4 .nf .fam C prompt \-h grml .fam .fi .if n .RE .sp تم‌های دیگر نیز دارای رشته‌های راهنما هستند، اما راهنمای تم اصلی مرجع استاندارد برای همه آن‌هاست. .sp این قابلیت نیازمند نگارش \fI4.3.7\fP شل است. نگارش‌های قدیمی‌تر از اعلان کلاسیک grml به عنوان جایگزین استفاده خواهند کرد. .sp نکته‌ای برای علاقه‌مندان به شخصی‌سازی: اگر برای شخصی‌سازی از تم‌های اعلان استفاده \fBنمی‌کنید\fP، بلکه یا $PS1 (یا $PROMPT) را به صورت ایستا تنظیم می‌کنید یا یکی از این متغیرها را در تابع `precmd()\*(Aq در zsh می‌سازید، اطمینان حاصل کنید که قبل از انجام این کار، سامانه تم اعلان zsh را \fBخاموش\fP کرده‌اید. یک نمونه شخصی‌سازی درست می‌تواند به شکل زیر باشد: .sp .if n .RS 4 .nf .fam C # خاموش کردن سامانه اعلان: prompt off # شخصی‌سازی اعلان توسط خودتان: PS1=\*(Aq%~ %# \*(Aq .fam .fi .if n .RE .sp همچنین می‌توانید با استفاده از تابع `grml_theme_add_token()\*(Aq نشانه‌های اختصاصی خود را بیفزایید. برای دریافت مستندات دقیق درباره این فرآیند، تابع را بدون آرگومان فراخوانی کنید. .SS "وضعیت GNU screen (GNU screen Status)" .sp پیکربندی \fIgrmlzshrc\fP خطوط hardstatus برنامه screen را روی دستور در حال اجرا یا در صورت بیکار بودن شل در اعلان، روی \fB\*(Aqzsh\*(Aq\fP تنظیم می‌کند. اگر پوشه کاری جاری درون یک مخزن تحت کنترل نسخه باشد، وضعیت screen از طریق vcs_info در zsh روی \fB\*(Aqzsh: \*(Aq\fP تنظیم می‌شود. .SS "تاریخچه ماندگار (Persistent History)" .sp اگر دستوراتی دارید که به اندازه کافی برایتان مهم هستند که در تاریخچه هر شلی گنجانده شوند، می‌توانید آن‌ها را در متغیر $GRML_IMPORTANT_COMMANDS (که برای سازگاری با گذشته پیش‌فرض آن ~/.important_commands است) قرار دهید تا از طریق ابزارک‌های معمول جستجوی تاریخچه در دسترس باشند. .SH "مرجع (REFERENCE)" .SS "متغیرهای محیطی (Environment Variables)" .sp پیکربندی \fIgrmlzshrc\fP متغیرهای محیطی خاصی را تنظیم می‌کند که بر رفتار برنامه‌ها تأثیر می‌گذارند. .sp \fBCOLORTERM\fP .RS 4 روی "yes" تنظیم می‌شود. برخی برنامه‌ها برای آگاهی از ویژگی‌های ترمینالی که در آن اجرا می‌شوند این متغیر را می‌خوانند. .RE .sp \fBEDITOR\fP .RS 4 در صورتی که قبلاً تنظیم نشده باشد، ویرایشگر پیش‌فرض را تنظیم می‌کند. در صورت عدم دسترسی به vim(1)، به vi(1) برمی‌گردد. .RE .sp \fBLESS_TERMCAP_\fP* .RS 4 متغیرهای محیطی که پشتیبانی از رنگ را به less(1) برای مشاهده صفحات راهنما (man) اضافه می‌کنند. برای جزئیات به termcap(5) مراجعه کنید. .RE .sp \fBMAIL\fP .RS 4 پرونده صندوق پستی برای کاربر جاری در صورتی که قبلاً طور دیگری تنظیم نشده باشد، روی /var/mail/$USER تنظیم می‌شود. .RE .sp \fBPAGER\fP .RS 4 در صورت عدم تنظیم قبلی، less(1) را به عنوان صفحه‌بندی‌کننده (pager) پیش‌فرض تنظیم می‌کند. .RE .SS "گزینه‌ها (Options)" .sp جدا از گزینه‌های پیش‌فرض zsh، پیکربندی \fIgrmlzshrc\fP گزینه‌هایی را تنظیم می‌کند که رفتار zsh را تغییر می‌دهند. گزینه‌هایی که تنظیمات پیش‌فرض Z-shell را تغییر می‌دهند با مشخص شده‌اند. اما توجه داشته باشید که پیش‌فرض‌های zsh بسته به حالت شبیه‌سازی آن (csh، ksh، sh یا zsh) متفاوت است. برای جزئیات به zshoptions(1) مراجعه کنید. .sp \fBappend_history\fP .RS 4 نشست‌های zsh که از \fIgrmlzshrc\fP استفاده می‌کنند، فهرست تاریخچه خود را به جای جایگزینی، به انتهای پرونده تاریخچه ضمیمه می‌کنند. بدین ترتیب نشست‌های موازی zsh همگی ورودی‌های جدید را به ترتیب خروج به پرونده تاریخچه اضافه می‌کنند. این پرونده زمانی که تعداد خطوط آن 20٪ از مقدار مشخص‌شده در $SAVEHIST بیشتر شود، به صورت دوره‌ای هرس و بازنویسی می‌شود. .RE .sp \fBauto_cd\fP .RS 4 اگر دستوری صادر شود که به عنوان یک دستور معمولی قابل اجرا نباشد و نام یک پوشه باشد، دستور cd به آن پوشه را انجام می‌دهد. .RE .sp \fBauto_pushd\fP .RS 4 باعث می‌شود cd پوشه قبلی را در پشته پوشه‌ها (directory stack) قرار دهد. .RE .sp \fBcompleteinword\fP .RS 4 اگر مکان‌نما داخل یک کلمه باشد، تکمیل خودکار به جای انتقال مکان‌نما به انتهای کلمه، از هر دو طرف انجام می‌شود. .RE .sp \fBextended_glob\fP .RS 4 نویسه‌های \*(Aq#\*(Aq، \*(Aq~\*(Aq و \*(Aq^\*(Aq را به عنوان نویسه‌های فعال الگوی تطبیق مسیر (globbing) در نظر می‌گیرد. .RE .sp \fBextended_history\fP .RS 4 برچسب زمانی شروع هر دستور (بر حسب ثانیه از مبدأ زمان) و مدت زمان اجرای آن (بر حسب ثانیه) را در پرونده تاریخچه ذخیره می‌کند. .RE .sp \fBhash_list_all\fP .RS 4 هر زمان که تکمیل خودکار دستور درخواست شود، ابتدا کل مسیر دستور هش می‌شود. این کار باعث کندتر شدن اولین تکمیل خودکار می‌شود. .RE .sp \fBhistignorespace\fP .RS 4 خطوط فرمانی را که با فاصله شروع می‌شوند یا یکی از نام‌های مستعار گسترش‌یافته آن‌ها دارای فاصله ابتدایی است از فهرست تاریخچه حذف می‌کند. توجه داشته باشید که دستور تا زمان ورود دستور بعدی در تاریخچه داخلی باقی می‌ماند و سپس ناپدید می‌شود. .RE .sp \fBlonglistjobs\fP .RS 4 کارها (jobs) را به طور پیش‌فرض در قالب طولانی فهرست می‌کند. .RE .sp \fBnobeep\fP .RS 4 از بوق زدن هنگام بروز خطا در ویرایش خط فرمان zsh (zle) جلوگیری می‌کند. .RE .sp \fBnoglobdots\fP .RS 4 نویسه‌های عام (wildcard) هرگز با نقطه ابتدایی \*(Aq.\*(Aq مطابقت داده نمی‌شوند. .RE .sp \fBnohup\fP .RS 4 هنگام خروج از شل، سیگنال قطعی ارتباط (HUP:1) را به کارهای در حال اجرا ارسال نمی‌کند. .RE .sp \fBnonomatch\fP .RS 4 اگر الگویی برای نام پرونده‌ها هیچ تطابقی نداشته باشد، خطایی چاپ نکرده و آن را بدون تغییر در فهرست آرگومان‌ها رها می‌کند. این امر همچنین در مورد گسترش اولیه `~\*(Aq یا `=\*(Aq صدق می‌کند. .RE .sp \fBnotify\fP .RS 4 وضعیت کارهای پس‌زمینه را بلافاصله گزارش می‌دهد، به جای اینکه تا قبل از چاپ اعلان خط فرمان صبر کند. .RE .sp \fBpushd_ignore_dups\fP .RS 4 نسخه‌های تکراری از یک پوشه یکسان را در پشته پوشه‌ها قرار نمی‌دهد. .RE .sp \fBshare_history\fP .RS 4 با افزودن هر خط به پرونده تاریخچه، بررسی می‌شود که آیا چیزی توسط شل دیگری نوشته شده است یا خیر و در صورت وجود، در تاریخچه شل فعلی نیز گنجانده می‌شود. با استفاده از تاریخچه به سبک !، دستورات سایر نشست‌ها در فهرست تاریخچه ظاهر نمی‌شوند مگر اینکه صراحتاً دستور "history" را تایپ کنید. این گزینه فقط برای نسخه‌های zsh >= 4 فعال است. .RE .SS "کلیدهای میانبر (Keybindings)" .sp جدا از کلیدهای میانبر پیش‌فرض zsh، پیکربندی \fIgrmlzshrc\fP با مجموعه‌ای از کلیدهای میانبر اختصاصی ارائه می‌شود. توجه داشته باشید که میانبرهایی مانند \fBESC\-e\fP را می‌توان به صورت \fBALT\-e\fP نیز در صفحه‌کلیدهای رایانه شخصی تایپ کرد. .sp \fBESC\-e\fP .RS 4 ویرایش بافر دستور جاری در ویرایشگر مورد علاقه شما. .RE .sp \fBESC\-v\fP .RS 4 حذف کلمه سمت چپ مکان‌نما؛ در نظر گرفتن \*(Aq/\*(Aq به عنوان جداکننده کلمه اضافی. .RE .sp \fBCTRL\-x\-1\fP .RS 4 پرش به بلافاصله بعد از کلمه اول. .RE .sp \fBCTRL\-x\-M()\fP .RS 4 ایجاد پوشه زیر مکان‌نما یا ناحیه انتخاب‌شده. برای انتخاب یک ناحیه، ctrl-@ را فشار داده و از مکان‌نما استفاده کنید. مورد کاربرد: دستور "mv abc ~/testa/testb/testc/" را تایپ کرده و به یاد می‌آورید که پوشه هنوز وجود ندارد \(-> فشردن \fBCTRL\-xM\fP مشکل را حل می‌کند. .RE .sp \fBCTRL\-x\-p\fP .RS 4 جستجوی آخرین رخداد رشته قبل از مکان‌نما در تاریخچه دستورات. .RE .sp \fBCTRL\-x\-z\fP .RS 4 نمایش راهنمای کلیدهای میانبر و ویرایشگر خط zsh. برای پیمایش در محتوا به صورت متوالی فشار دهید. .RE .sp \fBCTRL\-z\fP .RS 4 کاری را که با CTRL-z تعلیق شده است به پیش‌زمینه بازمی‌گرداند. .RE .SS "شخصی‌سازی (Customisation)" .sp برای شخصی‌سازی کلیدهای میانبر، می‌توانید به سادگی از ابزار bindkey در zsh استفاده کنید. با این حال، اگر قصد دارید خودتان از قلاب‌های `\fIzle\-line\-init\fP\*(Aq یا `\fIzle\-line\-finish\fP\*(Aq استفاده کنید، اطمینان حاصل کنید که توابع زیر را در قلاب مربوطه فراخوانی می‌کنید: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fBzle\-line\-init\fP: \fIzle\-smkx\fP .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} \fBzle\-line\-finish\fP: \fIzle\-rmkx\fP .RE .sp این امر \fBالزامی\fP است تا کلیدهای میانبر تنظیم‌شده توسط \fIgrmlzshrc\fP کار کنند. دلیل این امر قرار دادن ترمینال در حالت مناسب در حین اجرای ویرایشگر خط zsh (zle) است. این کار امکان پرس‌وجو از \fIterminfo\fP درباره دنباله‌های گریز برای کلیدهای ویژه را فراهم کرده و بخش کلیدهای میانبر را ساده و تعمیم‌پذیر می‌کند. .SS "توابع شل (Shell Functions)" .sp پیکربندی \fIgrmlzshrc\fP با طیف گسترده‌ای از توابع تعریف‌شده شل ارائه می‌شود تا کار کاربر را آسان‌تر سازد. .sp \fBaccessed()\fP .RS 4 پرونده‌های موجود در پوشه جاری را که در N روز گذشته مورد دسترسی قرار گرفته‌اند فهرست می‌کند. N یک عدد صحیح است که به عنوان اولین و تنها آرگومان داده می‌شود. در صورت عدم تعیین آرگومان، N برابر با 1 در نظر گرفته می‌شود. .RE .sp \fBany()\fP .RS 4 فرایندهای منطبق با الگوی ارائه‌شده را فهرست می‌کند. .RE .sp \fBbk()\fP .RS 4 مدیریت ساده پشتیبان‌گیری از یک پرونده یا پوشه با استفاده از برنامه‌های استاندارد یونیکس. نام پرونده مقصد همان نام اصلی به همراه برچسب زمانی است. پیوندهای نمادین و ویژگی‌های پرونده مانند مجوزها، مالکیت و برچسب‌های زمانی حفظ می‌شوند. .RE .sp \fBcdt()\fP .RS 4 یک پوشه موقت با استفاده از mktemp ایجاد کرده و پوشه کاری جاری را به آن تغییر می‌دهد. می‌توانید به صورت اختیاری یک پیشوند ارائه دهید که مثلاً منجر به /tmp/PREFIX.XXXXXXX می‌شود. .RE .sp \fBchanged()\fP .RS 4 پرونده‌های موجود در پوشه جاری را که در N روز گذشته تغییر یافته‌اند فهرست می‌کند. N یک عدد صحیح است که به عنوان اولین و تنها آرگومان ارسال می‌شود. در صورت عدم تعیین آرگومان، N برابر با 1 در نظر گرفته می‌شود. .RE .sp \fBcheck_com()\fP .RS 4 اگر دستور داده‌شده به عنوان برنامه، تابع، نام مستعار، دستور توکار یا کلمه رزروشده وجود داشته باشد، مقدار درست (true) برمی‌گرداند. با ارائه گزینه -c، تنها در صورتی true برمی‌گرداند که دستور یک برنامه باشد. .RE .sp \fBcl()\fP .RS 4 پوشه جاری را به پوشه ارائه‌شده توسط آرگومان تغییر داده و پرونده‌های درون آن را، شامل پرونده‌هایی که با "." شروع می‌شوند، فهرست می‌کند. .RE .sp \fBdchange()\fP .RS 4 گزارش تغییرات (changelog) بسته داده‌شده را در $PAGER نمایش می‌دهد. .RE .sp \fBdcopyright()\fP .RS 4 حق نشر (copyright) بسته داده‌شده را در $PAGER نمایش می‌دهد. .RE .sp \fBdebian2hd()\fP .RS 4 اگر کاربر بخواهد دبیان را روی دیسک سخت نصب کند، به او پیشنهاد می‌دهد از grml-debootstrap استفاده کند. .RE .sp \fBdeswap()\fP .RS 4 روشی برگرفته از $LINUX-KERNELSOURCE/Documentation/power/swsusp.txt. این تابع در زمانی که سیستم به شدت از swap استفاده می‌کند، پاسخگویی تعاملی را پس از تعلیق (suspend) بازمی‌گرداند. .RE .sp \fBdnews()\fP .RS 4 پرونده NEWS بسته داده‌شده را در $PAGER نمایش می‌دهد. .RE .sp \fBdreadme()\fP .RS 4 پرونده README بسته داده‌شده را در $PAGER نمایش می‌دهد. .RE .sp \fBedalias()\fP .RS 4 ویرایش نام مستعار (alias) داده‌شده. .RE .sp \fBedfunc()\fP .RS 4 ویرایش تابع شل داده‌شده. .RE .sp \fBfreload()\fP .RS 4 یک تابع شل بارگذاری‌خودکار (autoloadable) را مجدداً بارگذاری می‌کند (به autoload در zshbuiltins(1) مراجعه کنید). .RE .sp \fBgrml_status_features()\fP .RS 4 خلاصه‌ای از قابلیت‌هایی را که پیکربندی گرمل در تلاش برای بارگذاری آن‌هاست چاپ می‌کند. نتیجه بارگذاری یک قابلیت ثبت می‌شود. این تابع امکان پرس‌وجوی نتیجه را می‌دهد. تابع یک آرگومان می‌گیرد: "-h" یا "--help" برای نمایش راهنما، "" برای نمایش فهرست قابلیت‌های با موفقیت بارگذاری‌شده، "-" برای فهرستی از تمام قابلیت‌هایی که در بارگذاری شکست خورده‌اند، "+-" برای نمایش فهرستی از تمام قابلیت‌ها به همراه وضعیتشان. هر کلمه دیگری به عنوان یک قابلیت در نظر گرفته شده و وضعیت آن چاپ می‌شود. حالت پیش‌فرض "+-" است. .RE .sp \fBgrml_vcs_info_toggle_colour()\fP .RS 4 تغییر وضعیت بین قالب‌های رنگی و بدون رنگ در پیکربندی vcs_info. این تابع برای اعلان‌هایی مفید است که کدهای رنگی در گسترش قالب vcs_info آن‌ها اختلال ایجاد می‌کند (مانند اعلان `clint` و هر اعلانی که از %v برای گسترش محتوای `$vcs_into_msg_0_` استفاده می‌کند). اگر از قالب‌های سفارشی vcs_info استفاده می‌کنید، نباید از این تابع استفاده کنید، زیرا تمام قالب‌ها را دوباره به مقادیر پیش‌فرض گرمل (رنگی یا ساده) بازمی‌گرداند. .RE .sp \fBhgdi()\fP .RS 4 استفاده از GNU diff با گزینه‌های -ubwd برای مرکوریال (Mercurial). .RE .sp \fBhgstat()\fP .RS 4 آمار تغییرات (diffstat) را بین نگارش ارائه‌شده به عنوان آرگومان و سرشاخه (tip) نمایش می‌دهد (نبود آرگومان به معنای آخرین نگارش است). .RE .sp \fBhidiff()\fP .RS 4 خروجی diff برجسته‌شده با رنگ تولید می‌کند؛ به highstring(1) نیاز دارد. .RE .sp \fBisdarwin()\fP .RS 4 در صورت اجرا روی داروین (Darwin/macOS) مقدار true و در غیر این صورت false برمی‌گرداند. .RE .sp \fBisfreebsd()\fP .RS 4 در صورت اجرا روی FreeBSD مقدار true و در غیر این صورت false برمی‌گرداند. .RE .sp \fBisgrml()\fP .RS 4 در صورت اجرا روی سیستم گرمل مقدار true و در غیر این صورت false برمی‌گرداند. .RE .sp \fBisgrmlcd()\fP .RS 4 در صورت اجرا روی سیستم زنده گرمل از روی دیسک زنده (Live CD) مقدار true و در غیر این صورت false برمی‌گرداند. .RE .sp \fBisgrmlsmall()\fP .RS 4 در صورت اجرا روی grml-small مقدار true و در غیر این صورت false برمی‌گرداند. .RE .sp \fBislinux()\fP .RS 4 در صورت اجرا روی لینوکس مقدار true و در غیر این صورت false برمی‌گرداند. .RE .sp \fBisopenbsd()\fP .RS 4 در صورت اجرا روی OpenBSD مقدار true و در غیر این صورت false برمی‌گرداند. .RE .sp \fBisutfenv()\fP .RS 4 در صورت اجرا در یک محیط UTF مقدار true و در غیر این صورت false برمی‌گرداند. .RE .sp \fBmkcd()\fP .RS 4 پوشه را به همراه پوشه‌های والد (در صورت لزوم) ایجاد کرده و سپس پوشه کاری جاری را به آن تغییر می‌دهد. .RE .sp \fBmodified()\fP .RS 4 پرونده‌های موجود در پوشه جاری را که در N روز گذشته دستکاری شده‌اند فهرست می‌کند. N یک عدد صحیح است که به عنوان اولین و تنها آرگومان ارسال می‌شود. در صورت عدم تعیین آرگومان، N برابر با 1 در نظر گرفته می‌شود. .RE .sp \fBnt()\fP .RS 4 یک تابع کمکی برای واجد شرایط گلوبینگ "e" جهت فهرست کردن تمام پرونده‌های جدیدتر از یک پرونده مرجع. نمونه‌های کاربرد: .RE .sp .if n .RS 4 .nf .fam C % NTREF=/reference/file % ls \-l *(e:nt:) % # به‌صورت درخط: % ls \-l *(e:\*(Aqnt /reference/file\*(Aq:) .fam .fi .if n .RE .sp \fBprofile()\fP .RS 4 یک دستور را در zsh در حالی که پروفایل‌سازی فعال است اجرا می‌کند (متغیر راه‌اندازی ZSH_PROFILE_RC در بالا را ببینید). .RE .sp \fBsalias()\fP .RS 4 در صورتی که $EUID صفر نباشد، یک نام مستعار ایجاد می‌کند که sudo به ابتدای آن اضافه شده است. برای جزئیات دستور "salias -h" را اجرا کنید. .RE .sp \fBsimple\-extract()\fP .RS 4 تلاش می‌کند پرونده‌های ارائه‌شده را با برنامه‌های مناسب از حالت فشرده/بسته‌بندی خارج کند. اگر یک نشانی اینترنتی (URI) که با https، http یا ftp شروع می‌شود ارائه گردد، simple-extract تلاش می‌کند پرونده را بارگیری کرده و سپس آن را از حالت فشرده خارج سازد. انتخاب برنامه بر اساس پسوند نام پرونده انجام می‌شود. simple-extract آرشیو اصلی را حذف نخواهد کرد (حتی در فشرده‌سازی‌های .gz، .bz2 یا .xz) مگر اینکه از گزینه \*(Aq\-d\*(Aq استفاده کنید. .RE .sp \fBsll()\fP .RS 4 جزئیات پیوندهای نمادین داده‌شده به عنوان آرگومان را چاپ می‌کند. .RE .sp \fBssl\-cert\-fingerprints\fP .RS 4 خلاصه پیام‌های SHA512، SHA256، SHA1 و MD5 یک گواهی x509 را چاپ می‌کند. اولین و تنها پارامتر باید یک پرونده حاوی گواهی باشد. اگر می‌خواهید گواهی را از طریق لوله‌کشی (pipe) به این توابع بفرستید، از /dev/stdin به عنوان پرونده استفاده کنید. .RE .sp \fBssl\-cert\-info\fP .RS 4 تمام اطلاعات یک گواهی x509 از جمله خلاصه‌های پیام SHA512، SHA256، SHA1 و MD5 را چاپ می‌کند. اولین و تنها پارامتر باید پرونده‌ای حاوی گواهی باشد. اگر می‌خواهید گواهی را به این تابع پایپ کنید از /dev/stdin به عنوان پرونده استفاده کنید. .RE .sp \fBssl\-cert\-sha512(), ssl\-cert\-sha256(), ssl\-cert\-sha1(), ssl\-cert\-md5()\fP .RS 4 خلاصه پیام مربوطه (SHA512، SHA256، SHA1 یا MD5) یک گواهی x509 را چاپ می‌کند. اولین و تنها پارامتر باید پرونده حاوی گواهی باشد. در صورت تمایل به ارسال گواهی از طریق پایپ از /dev/stdin استفاده کنید. .RE .sp \fBStart(), Restart(), Stop(), Force\-Reload(), Reload()\fP .RS 4 توابعی برای کنترل دیمن‌ها و سرویس‌ها. نمونه کاربرد: .RE .sp .if n .RS 4 .nf .fam C % Restart ssh .fam .fi .if n .RE .sp \fBtrans()\fP .RS 4 یک کلمه را از آلمانی به انگلیسی (-D) یا برعکس (-E) ترجمه می‌کند. .RE .sp \fBuchange()\fP .RS 4 گزارش تغییرات بالادستی (upstream changelog) یک بسته مشخص را در $PAGER نمایش می‌دهد. .RE .sp \fBvim()\fP .RS 4 پوشش‌دهنده‌ای برای vim(1). تلاش می‌کند عنوان پنجره را تنظیم کند و متغیر محیطی VIM_OPTIONS را در خط فرمان به vim ارسال کند. بدین ترتیب کاربر می‌تواند گزینه‌های خط فرمانی را که همیشه می‌خواهد، در .zshrc.local خود تعریف کند. .RE .sp \fBwhatwhen()\fP .RS 4 تاریخچه را برای یک الگوی معین جستجو کرده و نتایج را بر اساس تاریخ فهرست می‌کند. اولین آرگومان الگوی جستجو است. آرگومان‌های دوم و سوم اختیاری هستند و محدوده جستجو را مشخص می‌کنند (پیش‌فرض: -100). .RE .sp \fBxcat()\fP .RS 4 تلاش می‌کند پرونده(های) داده‌شده به عنوان پارامتر را با cat(1) نمایش دهد. همیشه مقدار true بازمی‌گرداند. .RE .sp \fBxsource()\fP .RS 4 تلاش می‌کند پرونده(های) داده‌شده را درون‌ریزی و اجرا (source) کند. همیشه مقدار true بازمی‌گرداند. برای شرح دقیق دستور source به zshbuiltins(1) مراجعه کنید. .RE .sp \fBxtrename()\fP .RS 4 عنوان پنجره xterm را از درون screen(1) تغییر می‌دهد. برای دیدن جزئیات بدون آرگومان اجرا کنید. .RE .sp \fBzrcautoload()\fP .RS 4 پوشش‌دهنده‌ای در اطراف دستور توکار autoload. تعاریف توابع را از پرونده ارائه‌شده بارگذاری می‌کند. پرونده را در $fpath جستجو می‌کند. .RE .sp \fBzrclocal()\fP .RS 4 پرونده‌های /etc/zsh/zshrc.local و ${HOME}/.zshrc.local را سورس و اجرا می‌کند. این‌ها پرونده‌هایی هستند که اصلاحات شخصی باید در آن‌ها قرار گیرند. همچنین به zshbuiltins(1) برای شرح دستور source مراجعه کنید. .RE .SS "نام‌های مستعار (Aliases)" .sp پیکربندی \fIgrmlzshrc\fP با طیف گسترده‌ای از نام‌های مستعار از پیش تعریف‌شده برای آسایش کاربر ارائه می‌شود. چند نام مستعار (مانند موارد مربوط به \fIgrep\fP یا \fIls\fP) از گزینه \fI\-\-color=auto\fP برای خروجی رنگی استفاده می‌کنند. این گزینه بخشی از پیاده‌سازی‌های \fBGNU\fP از این ابزارهاست و تنها در صورت شناسایی چنین پیاده‌سازی استفاده خواهد شد. .sp \fBacp\fP (\fIapt\-cache policy\fP) .RS 4 بدون آرگومان، اولویت‌های هر منبع را چاپ می‌کند. در صورت ارائه نام یک بسته، اطلاعات دقیقی درباره اولویت انتخاب آن بسته نمایش می‌دهد. .RE .sp \fBacs\fP (\fIapt search\fP) .RS 4 فهرست بسته‌های دبیان را برای عبارت منظم ارائه‌شده جستجو می‌کند. جستجو شامل نام و توضیحات بسته‌ها است. نام و شرح کوتاه بسته‌های منطبق را چاپ می‌کند. .RE .sp \fBacsh\fP (\fIapt show\fP) .RS 4 رکوردهای بسته‌های ارائه‌شده به عنوان آرگومان را نمایش می‌دهد. .RE .sp \fBadg\fP (\fIapt dist\-upgrade\fP) .RS 4 ارتقای تمامی بسته‌های نصب‌شده را انجام می‌دهد. همچنین تلاش می‌کند تغییرات وابستگی‌ها با نگارش‌های جدید بسته‌ها را به طور خودکار مدیریت کند. از آنجا که این کار ممکن است وضعیت نصب بسته‌ها را تغییر دهد (یا حتی بسته‌هایی را حذف کند)، استفاده از dist-upgrade می‌تواند بالقوه خطرناک باشد؛ در صورت نیاز با sudo اجرا می‌شود. .RE .sp \fBag\fP (\fIapt upgrade\fP) .RS 4 جدیدترین نگارش‌های تمام بسته‌های نصب‌شده فعلی روی سیستم را بارگیری و نصب می‌کند. تحت هیچ شرایطی بسته‌های فعلی حذف نمی‌شوند و بسته‌های نصب‌نشده دریافت و نصب نمی‌گردند. نگارش‌های جدیدی از بسته‌ها که بدون تغییر وضعیت نصب بسته دیگر قابل ارتقا نیستند، در همان نگارش فعلی باقی می‌مانند. ابتدا باید یک به‌روزرسانی شاخص‌ها انجام شود (au در پایین را ببینید)؛ در صورت نیاز با sudo اجرا می‌شود. .RE .sp \fBagi\fP (\fIapt install\fP) .RS 4 بسته‌های مشخص‌شده در خط فرمان را بارگیری و نصب یا ارتقا می‌دهد. اگر یک خط تیره (-) به انتهای نام بسته اضافه شود، بسته در صورت نصب بودن حذف خواهد شد. به طور مشابه، علامت مثبت (+) می‌تواند برای تعیین بسته‌ای جهت نصب استفاده شود. این امر برای لغو تصمیمات سامانه حل تعارض apt مفید است. یک نگارش خاص از بسته را می‌توان با قرار دادن علامت مساوی (=) به دنبال نام بسته برای نصب انتخاب کرد. همچنین می‌توان توزیع خاصی را با درج اسلش (/) و نام آرشیو (stable، testing، unstable) انتخاب کرد. در صورت غیرصفر بودن شناسه کاربر با sudo فراخوانی می‌شود. .RE .sp \fBati\fP (\fIaptitude install\fP) .RS 4 ابزار aptitude یک مدیر بسته مبتنی بر ترمینال با حالتی شبیه به apt است؛ در صورت نیاز با sudo فراخوانی می‌شود. .RE .sp \fBau\fP (\fIapt update\fP) .RS 4 پرونده‌های نمایه بسته‌ها را از منابع بازهمگام‌سازی می‌کند. نمایه‌ها از مکان‌های مشخص‌شده در /etc/apt/sources.list دریافت می‌شوند. همیشه باید قبل از upgrade یا dist-upgrade اجرا شود؛ در صورت لزوم با sudo فراخوانی می‌گردد. .RE .sp \fBafs\fP (\fIapt\-file search\fP) .RS 4 ابزار apt-file یک ابزار خط فرمان برای جستجوی پرونده‌های موجود در بسته‌های سیستم مدیریت بسته APT است. می‌توانید جستجو کنید که یک پرونده در کدام بسته قرار دارد یا محتوای یک بسته را بدون نصب یا دریافت آن فهرست کنید. .RE .sp \fBda\fP (\fIdu \-sch\fP) .RS 4 میزان استفاده از دیسک را برای آرگومان‌ها به همراه جمع کل در قالبی خوانا برای انسان چاپ می‌کند. .RE .sp \fBdbp\fP (\fIdpkg\-buildpackage\fP) .RS 4 بسته‌های دودویی یا سورس را از روی کد منبع می‌سازد (نگاه کنید به: dpkg-buildpackage(1)). .RE .sp \fBdebs\-by\-size\fP (\fIgrep\-status \-FStatus \-sInstalled\-Size,Package \-n "install ok installed" | paste \-sd " \\n" | sort \-rn\fP) .RS 4 بسته‌های نصب‌شده را بر اساس اندازه (نزولی) مرتب و چاپ می‌کند. .RE .sp \fBdir\fP (\fIls \-lSrah\fP) .RS 4 پرونده‌ها (شامل پرونده‌های پنهان) را بر اساس اندازه (بزرگ‌ترین در انتها) در قالبی طولانی و خوانا فهرست می‌کند. .RE .sp \fBge\fP (\fIgrep\-excuses\fP) .RS 4 پرونده‌های excuses شاخه آزمایشی (testing) را برای یک نگه‌دارنده خاص جستجو می‌کند (نگاه کنید به: grep-excuses(1)). .RE .sp \fBgrep\fP (\fIgrep \-\-color=auto\fP) .RS 4 خروجی grep را در صورت پشتیبانی ترمینال با رنگ‌های زیبا نمایش می‌دهد. .RE .sp \fBgrml\-version\fP (\fIcat /etc/grml_version\fP) .RS 4 نگارش سیستم در حال اجرای گرمل را چاپ می‌کند. .RE .sp \fBinsecscp\fP (\fIscp \-o "StrictHostKeyChecking=no" \-o "UserKnownHostsFile=/dev/null"\fP) .RS 4 اجرای scp در حالی که احتمال حمله مرد میانی فعال است. این امر در صورتی مناسب است که کلید میزبان مقصد مکرراً تغییر کند، مثلاً در سامانه‌های آزمایشی یا توسعه مجازی‌سازی‌شده. البته فقط درون شبکه‌های مورد اعتماد استفاده شود. .RE .sp \fBinsecssh\fP (\fIssh \-o "StrictHostKeyChecking=no" \-o "UserKnownHostsFile=/dev/null"\fP) .RS 4 اجرای ssh با امکان حمله مرد میانی (برای توضیح به insecscp در بالا مراجعه کنید). .RE .sp \fBhelp\-zshglob\fP (\fIH\-Glob()\fP) .RS 4 تابع H-Glob() را برای گسترش یا توضیح نویسه‌های عام (wildcards) اجرا می‌کند. .RE .sp \fBl\fP (\fIls \-l \-\-color=auto\fP) .RS 4 پرونده‌ها را در قالب طولانی به همراه نشانگر نوع پرونده که به انتهای نام پرونده چسبیده است فهرست می‌کند. در صورت پشتیبانی ترمینال، با خروجی رنگی همراه است. .RE .sp \fBla\fP (\fIls \-la \-\-color=auto\fP) .RS 4 پرونده‌ها را در قالب خروجی رنگی طولانی فهرست می‌کند، از جمله پرونده‌هایی که با "." شروع می‌شوند. .RE .sp \fBlad\fP (\fIls \-d .*(/)\fP) .RS 4 پوشه‌های پنهان (نه محتویات آن‌ها) را در پوشه جاری فهرست می‌کند. .RE .sp \fBlh\fP (\fIls \-hAl \-\-color=auto\fP) .RS 4 پرونده‌ها را در قالبی طولانی و خوانا با رنگ‌های زیبا فهرست می‌کند. شامل پرونده‌های پنهان به استثنای "." و "..". .RE .sp \fBll\fP (\fIls \-l \-\-color=auto\fP) .RS 4 پرونده‌ها را در قالب طولانی رنگی فهرست می‌کند. .RE .sp \fBllog\fP (\fI$PAGER /var/log/syslog\fP) .RS 4 گزارش‌های syslog را در صفحه‌بندی‌کننده باز می‌کند. .RE .sp \fBls\fP (\fIls \-C \-\-color=auto\fP) .RS 4 پوشه را فهرست می‌کند؛ ورودی‌ها به صورت ستونی فهرست شده و نشانگری برای نوع پرونده به انتهای هر نام پرونده اضافه می‌شود. همچنین در صورت پشتیبانی ترمینال خروجی رنگی است. .RE .sp \fBlsa\fP (\fIls \-a .*(.)\fP) .RS 4 پرونده‌های پنهان (dot files) را در پوشه کاری جاری فهرست می‌کند. .RE .sp \fBlsbig\fP (\fIls \-flh *(.OL[1,10])\fP) .RS 4 ده پرونده بزرگ‌تر را نمایش می‌دهد (قالب خروجی طولانی و خوانا). .RE .sp \fBlsd\fP (\fIls \-d *(/)\fP) .RS 4 پوشه‌ها را نمایش می‌دهد. .RE .sp \fBlse\fP (\fIls \-d *(/^F)\fP) .RS 4 پوشه‌های خالی را نمایش می‌دهد. .RE .sp \fBlsl\fP (\fIls \-l *(@)\fP) .RS 4 پیوندهای نمادین را در پوشه جاری فهرست می‌کند. .RE .sp \fBlsnew\fP (\fIls \-rl *(D.om[1,10])\fP) .RS 4 ده پرونده جدیدتر را نمایش می‌دهد (قالب خروجی طولانی). .RE .sp \fBlsnewdir\fP (\fIls \-rthdl *(/om[1,10]) .*(D/om[1,10])\fP) .RS 4 ده پوشه جدیدتر و ده پوشه پنهان جدیدتر را نمایش می‌دهد. .RE .sp \fBlsold\fP (\fIls \-rtlh *(D.om[1,10])\fP) .RS 4 ده پرونده قدیمی‌تر را نمایش می‌دهد (قالب خروجی طولانی). .RE .sp \fBlsolddir\fP (\fIls \-rthdl *(/Om[1,10]) .*(D/Om[1,10])\fP) .RS 4 ده پوشه قدیمی‌تر و ده پوشه پنهان قدیمی‌تر را نمایش می‌دهد. .RE .sp \fBlss\fP (\fIls \-l *(s,S,t)\fP) .RS 4 پرونده‌هایی را در پوشه جاری فهرست می‌کند که بیت‌های setuid، setgid یا sticky bit آن‌ها تنظیم شده است. .RE .sp \fBlssmall\fP (\fIls \-Srl *(.oL[1,10])\fP) .RS 4 ده پرونده کوچک‌تر را نمایش می‌دهد (قالب خروجی طولانی). .RE .sp \fBlsw\fP (\fIls \-ld *(R,W,X.^ND/)\fP) .RS 4 تمام پرونده‌هایی را که برای همه قابل خواندن و/یا قابل نوشتن و/یا قابل اجرا هستند نمایش می‌دهد (قالب طولانی). .RE .sp \fBlsx\fP (\fIls \-l *(*)\fP) .RS 4 تنها پرونده‌های قابل اجرا را فهرست می‌کند. .RE .sp \fBmdstat\fP (\fIcat /proc/mdstat\fP) .RS 4 تمام دستگاه‌های md فعال (یعنی رید نرم‌افزاری لینوکس) را با اطلاعاتی درباره آن‌ها فهرست می‌کند. .RE .sp \fBmq\fP (\fIhg \-R $(readlink \-f $(hg root)/.hg/patches)\fP) .RS 4 دستورات را روی صف وصله‌های نسخه‌بندی‌شده از مخزن جاری اجرا می‌کند. .RE .sp \fBrmcdir\fP (\fI\*(Aqcd ..; rmdir $OLDPWD || cd $OLDPWD\fP) .RS 4 حذف پوشه کاری جاری با rmdir. .RE .sp \fBscreen\fP (\fIscreen \-c file\fP) .RS 4 مگر در صورت وجود $HOME/.screenrc، یک نشست screen با /etc/grml/screenrc به عنوان پرونده پیکربندی آغاز می‌کند. اگر تشخیص داده شود که نگارش screen قدیمی‌تر است، نشست با /etc/grml/screenrc_v4 آغاز می‌شود. .RE .sp \fBsu\fP (\fIsudo su\fP) .RS 4 اگر کاربر در حال اجرای سامانه زنده گرمل باشد، در صورت درخواست شل ریشه (root)، هیچ گذرواژه‌ای درخواست نمی‌کند. .RE .sp \fBtlog\fP (\fItail \-\-follow=name /var/log/syslog\fP) .RS 4 گزارش‌های syslog را به طور مداوم چاپ می‌کند (نگاه کنید به tail(1)). .RE .sp \fBup\fP (\fIaptitude update ; aptitude safe\-upgrade\fP) .RS 4 به‌روزرسانی نمایه‌ها و سپس ارتقای امن سیستم را با استفاده از aptitude انجام می‌دهد؛ در صورت نیاز با sudo اجرا می‌شود. au و ag در بالا را ببینید. .RE .sp \fBurl\-quote\fP (\fIautoload \-U url\-quote\-magic ; zle \-N self\-insert url\-quote\-magic\fP) .RS 4 پس از فراخوانی، نویسه‌های نشانی‌های وب (URLs) تایپ‌شده در صورت لزوم به صورت خودکار اسکیپ می‌شوند تا از تداخل با شل محافظت شوند. .RE .sp \fB$(uname \-r)\-reboot\fP (\fIkexec \-l \-\-initrd=/boot/initrd.img\-"$(uname \-r)" \-\-command\-line=\\"$(cat /proc/cmdline)\\" /boot/vmlinuz\-"$(uname \-r)"\fP) .RS 4 راه‌اندازی مجدد با kexec(8) که زمان راه‌اندازی را با صرف‌نظر از راه‌اندازی اولیه سخت‌افزاری BIOS/firmware کاهش می‌دهد. .RE .sp \fB.\|.\|.\fP (\fIcd ../../\fP) .RS 4 تغییر پوشه جاری به دو سطح بالاتر. .RE .SH "پرونده‌های کمکی (AUXILIARY FILES)" .sp مجموعه‌ای از پرونده‌ها که در صورت وجود، می‌توانند برای سفارشی‌سازی رفتار \fIgrmlzshrc\fP استفاده شوند. .sp \fB.zshrc.pre\fP در همان ابتدای \fIgrmlzshrc\fP درون‌ریزی و اجرا (source) می‌شود. از جمله کاربردهای آن تغییر دائمی متغیرهای راه‌اندازی \fIgrmlzshrc\fP است (بالا را ببینید): .sp .if n .RS 4 .nf .fam C # نمایش وضعیت باتری در RPROMPT GRML_DISPLAY_BATTERY=1 # بارگذاری کامل تنظیمات حتی برای کاربر ریشه GRML_ALWAYS_LOAD_ALL=1 .fam .fi .if n .RE .sp \fB.zshrc.local\fP درست پیش از پایان بارگذاری \fIgrmlzshrc\fP سورس می‌شود. یک نگارش سراسری از این پرونده (/etc/zsh/zshrc.local) وجود دارد که قبل از پرونده اختصاصی کاربر اجرا می‌شود. .sp \fB.zdirs\fP فهرست پوشه‌ها برای پشته پوشه‌های ماندگار (بالا را ببینید). .sp \fB.important_commands\fP فهرست دستورات مورد استفاده در تاریخچه ماندگار (بالا را ببینید). .SH "نصب روی سامانه‌های غیر دبیانی (INSTALLATION ON NON-DEBIAN SYSTEMS)" .sp روی سامانه‌های دبیان (\c .URL "http://www.debian.org" "" ")" \- و احتمالاً اوبونتو (\c .URL "http://www.ubuntu.com" "" ")" و سامانه‌های مشابه \- دریافت \fIgrmlzshrc\fP از طریق مخازن deb. گرمل بسیار آسان است. .sp روی سامانه‌های غیر دبیانی این یک گزینه نیست، اما همه چیز از دست نرفته است: .sp .if n .RS 4 .nf .fam C % wget \-O .zshrc http://git.grml.org/f/grml\-etc\-core/etc/zsh/zshrc .fam .fi .if n .RE .sp اگر مایلید پرونده‌های توابع مجزا را نیز دریافت کنید (که می‌توانید در \fB$fpath\fP خود قرار دهید)، می‌توانید آن‌ها را در پیوند زیر مرور و بارگیری کنید: .sp .URL "http://git.grml.org/?p=grml\-etc\-core.git;a=tree;f=usr_share_grml/zsh;hb=HEAD" "" "" .SH "برچسب‌های کارت مرجع ZSH (ZSH-REFCARD TAGS)" .sp اگر کد \fIgrmlzshrc\fP را بخوانید متوجه کامنت‌های عجیبی در آن می‌شوید. این کامنت‌ها با هدفی مشخص قرار داده شده‌اند. کارت مرجع zsh گرمل (zsh-refcard) به صورت خودکار از محتوای پرونده پیکربندی واقعی تولید می‌شود. با این حال، به مقداری اطلاعات اضافه درباره اینکه کدام کامنت‌ها و خطوط کد (و با چه هدفی) در نظر گرفته شوند نیاز است. .sp معنی هر یک از این موارد به شرح زیر است: .sp فهرست برچسب‌ها (انواع کامنت) مورد استفاده: .sp \fB#a#\fP خط بعدی شامل یک نام مستعار مهم است که باید در grml-zsh-refcard گنجانده شود. (برچسب جای‌گذاری: @@INSERT-aliases@@) .sp \fB#f#\fP خط بعدی شامل شروع یک تابع مهم است. (برچسب جای‌گذاری: @@INSERT-functions@@) .sp \fB#v#\fP خط بعدی شامل یک متغیر مهم است. (برچسب جای‌گذاری: @@INSERT-variables@@) .sp \fB#k#\fP خط بعدی شامل یک کلید میانبر مهم است. (برچسب جای‌گذاری: @@INSERT-keybindings@@) .sp \fB#d#\fP تولید فهرست پوشه‌های هش‌شده: \fIstart\fP: نشان‌دهنده شروع فهرستی از تعاریف \*(Aqhash -d\*(Aq است. \fIend\fP: نشان‌دهنده پایان آن است. (برچسب جای‌گذاری: @@INSERT-hasheddirs@@) .sp \fB#A#\fP تولید فهرست گسترش کوته‌نوشت‌ها: \fIstart\fP: نشان‌دهنده شروع کوته‌نوشت‌ها است. \fIend\fP: پایان آن‌ها را نشان می‌دهد. .sp خطوط درون این بخش که با \*(Aq#d .*\*(Aq خاتمه می‌یابند، مستندات اضافی برای گنجاندن در کارت مرجع را فراهم می‌کنند. (برچسب جای‌گذاری: @@INSERT-abbrev@@) .sp \fB#m#\fP این برچسب امکان تولید دستی ورودی‌های کارت مرجع را برای خطوط کدی فراهم می‌کند که تجزیه (parse) آن‌ها دشوار یا غیرممکن است. .sp .B مثال: .br .sp .if n .RS 4 .nf .fam C #m# k ESC\-h Call the run\-help function .fam .fi .if n .RE .sp این کار ورودی جدیدی را به جدول کلیدهای میانبر برای \*(AqESC-h\*(Aq با کامنت ارائه‌شده اضافه می‌کند. .sp .B بنابراین ساختار به شکل زیر است: .br .sp .if n .RS 4 .nf .fam C #m#
.fam .fi .if n .RE .sp \fB#o#\fP این برچسب امکان درج ورودی‌ها را در جدول درهم‌سازی \*(Aqother\*(Aq می‌دهد. به طور کلی نباید استفاده شود. برای مواردی است که نمی‌توان به روش دیگری به راحتی انجام داد. (برچسب جای‌گذاری: @@INSERT-other-foobar@@) .sp تمام این برچسب‌ها (به جز m و o) دو آرگومان می‌گیرند؛ اولی درون برچسب و دومی پس از برچسب: .sp .if n .RS 4 .nf .fam C #
# .fam .fi .if n .RE .sp که در آن
در واقع تنها یک عدد است که توسط آرایه @secmap در بالای \*(Aqgenrefcard.pl\*(Aq تعریف شده است. دلیل استفاده از اعداد به جای نام‌ها این است که برای خواننده، تفاوت چندانی با یک کامنت معمولی نداشته باشد. برای zsh این در واقع یک کامنت معمولی است. اعداد دارای معانی زیر هستند: .sp \fB0\fP \fIdefault\fP (پیش‌فرض) .sp \fB1\fP \fIsystem\fP (سیستم) .sp \fB2\fP \fIuser\fP (کاربر) .sp \fB3\fP \fIdebian\fP (دبیان) .sp \fB4\fP \fIsearch\fP (جستجو) .sp \fB5\fP \fIshortcuts\fP (میانبرها) .sp \fB6\fP \fIservices\fP (سرویس‌ها) .sp بنابراین، دستور زیر یک ورودی به جدول \*(Aqfunctions\*(Aq در بخش \*(Aqsystem\*(Aq با یک کامنت توصیفی اضافه می‌کند: .sp .if n .RS 4 .nf .fam C #f1# Edit an alias via zle edalias() { .fam .fi .if n .RE .sp سپس در برچسب جایگزین @@INSERT-aliases-system@@ که در \*(Aqgrml-zsh-refcard.tex.in\*(Aq وجود دارد ظاهر خواهد شد. اگر شماره بخش حذف شود، بخش \*(Aqdefault\*(Aq فرض می‌شود. علاوه بر این، در \*(Aqgrml-zsh-refcard.tex.in\*(Aq عبارت @@INSERT-aliases@@ دقیقاً معادل @@INSERT-aliases-default@@ است. اگر برای مثال فهرستی از \fBتمام\fP نام‌های مستعار را می‌خواهید، از @@INSERT-aliases-all@@ استفاده کنید. .SH "مشارکت (CONTRIBUTING)" .sp اگر می‌خواهید به بهبود پیکربندی zsh گرمل کمک کنید، مخزن grml-etc-core را از git.grml.org کلون کنید: .sp .if n .RS 4 .nf .fam C % git clone git://git.grml.org/grml\-etc\-core.git .fam .fi .if n .RE .sp تغییرات خود را اعمال و کامیت کنید؛ با استفاده از \*(Aq\fBgit format\-patch\fP\*(Aq مجموعه‌ای از وصله‌ها را ایجاد کرده و آن‌ها را از طریق \*(Aq\fBgit send\-email\fP\*(Aq به نشانی زیر ارسال کنید: .sp .if n .RS 4 .nf .fam C grml\-etc\-core@grml.org .fam .fi .if n .RE .sp این کار اطمینان می‌دهد که افراد مناسب وصله‌های شما را برای بررسی و احتمالاً ادغام دریافت می‌کنند. .SH "وضعیت (STATUS)" .sp این صفحه راهنما، کتابچه راهنمای \fBمرجع\fP برای \fIgrmlzshrc\fP است. .sp این بدان معناست که بر خلاف کارت مرجع موجود، باید \fBتمام\fP جنبه‌های این پیکربندی را مستند کند. .sp این راهنما در حال حاضر کامل نیست. اگر می‌خواهید در بهبود آن کمک کنید، از صفحات زیر دیدن فرمایید: .sp .URL "http://wiki.grml.org/doku.php?id=zshrcmanual" "" "" .sp .URL "http://lists.mur.at/pipermail/grml/2009\-August/004609.html" "" "" .sp از مشارکت‌ها به گرمی استقبال می‌شود. .SH "نویسندگان (AUTHORS)" .sp این صفحه راهنما توسط فرانک تربک ، یورگ وولکه ، موریس مک‌کارتی و اکسل بکرت نوشته شده است. .SH "حق نشر (COPYRIGHT)" .sp حق نشر (c) 2009\-2025 \c .URL "https://grml.org" "پروژه Grml" "" .sp این صفحه راهنما تحت شرایط پروانه عمومی همگانی گنو (GPL) نگارش ۲ منتشر شده است. .sp بیشتر بخش‌های zshrc گرمل نیز تحت شرایط GPL v2 منتشر شده‌اند، به جز \fBaccept\-line()\fP که تحت همان شرایط خود zsh (که شبیه به BSD است) توزیع می‌شود.