| o(1) | User Commands | o(1) |
نام (NAME)
o - یک ویرایشگر
خلاصه دستور (SYNOPSIS)
o filename [LINE NUMBER]
توضیحات (DESCRIPTION)
ویرایش یک فایل موجود یا ایجاد فایلی جدید.
گزینهها (OPTIONS)
شماره سطر میتواند دارای پیشوند + باشد، یا در صورت داشتن پیشوند : بهصورت پسوند نام فایل قرار گیرد.
- -c FILENAME یا --copy FILENAME
- کپی کردن فایل مشخصشده در کلیپبورد.
- -f یا --force
- نادیده گرفتن قفلهای فایل هنگام باز کردن فایلها.
- -l یا --last-command
- چاپ آخرین دستور استفادهشده برای ساخت/قالببندی/برونبری (build/format/export) در خروجی.
- -m FILENAME یا --monitor FILENAME
- پایش تغییرات فایل مشخصشده و باز کردن آن بهصورت فقطخواندنی.
- -n یا --no-cache
- جلوگیری از نوشتن تاریخچه موقعیتها، تاریخچه جستوجو، بالاترین امتیاز بازی و آخرین دستور ساخت/قالببندی/برونبری در دایرکتوری cache.
- -p FILENAME یا --paste FILENAME
- چسباندن محتویات کلیپبورد در فایل مشخصشده. ترکیب با -f برای رونویسی روی فایل.
- -e یا --clear-locks
- پاک کردن تمام قفلهای فایل و بستن همه پورتالها.
- -o یا --ollama
- فعالسازی قابلیتهای اختصاصی Ollama. مدل را میتوان در متغیر محیطی OLLAMA_MODEL تعیین کرد. این ویژگی نیازمند این است که سرویس Ollama بهصورت محلی یا در میزبان مشخصشده در متغیر محیطی OLLAMA_HOST فعال و در حال اجرا باشد.
- -r یا --release
- ساخت فایلهای اجرایی نهایی (release) هنگام فشردن ctrl-b، یا ساخت پروژهها زمانی که نام فایلی داده نشده است.
- -t یا --list
- فهرست کردن و نمایش رنگی محتوای فایل بدون باز کردن آن برای ویرایش.
- -b یا --build
- ساخت (build) فایل مشخصشده بهجای باز کردن آن برای ویرایش.
- -F یا --fmt
- قالببندی فایل مشخصشده در جای خود (in place) و خروج. بهصورت بدون واسط (headless): بدون TTY و بدون رابط کاربری اجرا میشود.
- -k یا --create-dir
- هنگام باز کردن یک فایل جدید، دایرکتوریها را در صورت نیاز ایجاد میکند.
- -d یا --debug
- شروع در حالت اشکالزدایی (debug).
- -s یا --digraphs
- فهرست کردن تمامی دایگرافهای (digraphs) ممکن.
- -i FILENAME یا --input-file FILENAME
- استفاده بهعنوان ورودی استاندارد (stdin) هنگام اجرای برنامهها با ctrl-b. نام فایل پیشفرض input.txt است.
- -a یا --nano
- شبیهسازی Pico/Nano.
- -q یا --quick-help
- نمایش همیشگی کادر راهنمای سریع در ابتدای اجرا.
- -z یا --no-quick-help
- عدم نمایش کادر راهنمای سریع در ابتدای اجرا.
- -x یا --noapprox
- غیرفعالسازی تطبیق تقریبی نام فایل.
- -g GLOB یا --glob GLOB
- جستوجو و باز کردن نخستین فایلی که با زیررشته دادهشده مطابقت دارد.
- -v یا --version
- نمایش نسخه فعلی.
- -h یا --help
- نمایش اطلاعات مختصر درباره نحوه استفاده.
کلیدهای میانبر (KEYBINDINGS)
ctrl-q
خروج از o.
ctrl-s
ذخیره
فایل.
ctrl-w
قالببندی
فایل فعلی
با goimports یا
clang-format، بسته
به پسوند
فایل.
زبانهای Zig،
V، Rust (rustfmt)، Haskell (ormolu) و
Python (ruff format) نیز
پشتیبانی
میشوند.
اگر در حالت
git باشد،
کلمه کلیدی
rebase تعاملی
گیت در سطر
جاری را
تغییر
میدهد.
اگر در حالت
Markdown باشد،
جدول زیر
مکاننما
را
قالببندی
میکند.
دو بار
فشردن،
حالت
ویرایش
بلوکی را
تغییر
وضعیت
میدهد.
ctrl-a
رفتن به
ابتدای
متن، سپس
ابتدای سطر
و سپس سطر
قبلی.
ctrl-e
رفتن به
انتهای سطر
و سپس سطر
بعدی.
ctrl-n
پیمایش ۱۰
سطر به
پایین یا
رفتن به
نتیجه بعدی
در صورت
فعال بودن
جستوجو.
درج یک ستون
جدید هنگام
کار در
ویرایشگر
جدول Markdown.
پرش به
پرانتز یا
قلاب
متناظر در
صورتی که
کلیدهای
جهتنما
بهتازگی
استفاده
شده باشند.
ctrl-p
پیمایش ۱۰
سطر به بالا
یا رفتن به
نتیجه قبلی
در صورت
فعال بودن
جستوجو.
حذف یک ستون
خالی هنگام
کار در
ویرایشگر
جدول Markdown.
پرش به
پرانتز یا
قلاب
متناظر در
صورتی که
کلیدهای
جهتنما
بهتازگی
استفاده
شده باشند.
ctrl-k
حذف تمام
نویسهها
تا انتهای
سطر. در صورت
خالی بودن
سطر، آن را
حذف
میکند.
ctrl-g
رفتن به یک include
یا تعریف
(definition)، یا
تغییر
وضعیت نوار
وضعیت.
ctrl-d
حذف یک
نویسه
منفرد.
ctrl-o
باز کردن
منوی
دستورات،
که فهرستی
از اقدامات
قابل انجام
است.
اگر یک فایل
PKGBUILD در حال
ویرایش
باشد و guessica نصب
باشد،
گزینهای
برای
بهروزرسانی
فیلدهای pkgver + source
در منو وجود
خواهد داشت.
اگر pandoc نصب
باشد، ممکن
است
گزینهای
برای تبدیل
به PDF ظاهر
شود.
ctrl-t
برای C و C++:
جابهجایی
میان هدر و
فایل
پیادهسازی
متناظر.
برای Agda: درج
یک نماد.
برای Markdown: اگر
مکاننما
روی یک جدول
باشد،
ویرایشگر
جدول Markdown را
باز میکند.
برای سایر
موارد: ضبط و
پخش مجدد
کلیدهای
فشردهشده.
کلید escape را
فشار دهید
تا ماکروی
فعلی پاک
شود.
ctrl-c
دو بار فشار
دهید تا
بلوک متنی
جاری (تا یک
سطر خالی یا
انتهای
فایل) کپی
شود.
یک بار فشار
دهید تا
تنها سطر
جاری کپی
شود.
همچنین
پورتال را
میبندد.
ctrl-v
یک بار فشار
دهید تا
تنها
نخستین سطر
متن
کپیشده
بهصورت
پیراسته (trimmed)
چسبانده
شود.
دو بار فشار
دهید تا
تمام متن
کپیشده،
بدون
پیراستن
چسبانده
شود.
ctrl-x
یک بار فشار
دهید تا فقط
سطر فعلی
بریده (cut) شود
(یا اگر خالی
است، سطر
حذف شود).
دو بار فشار
دهید تا
بلوک متنی
جاری (تا یک
سطر خالی یا
انتهای
فایل) بریده
شود.
همچنین
پورتال را
میبندد.
ctrl-b
ساخت
برنامهها،
تبدیل به PDF
یا
برونبری
به صفحه
راهنما (man page).
دو بار فشار
دهید تا
علاوه بر
ساخت،
برنامه
اجرا نیز
بشود.
برای دیدن
آخرین
دستور ساخت
از o -l
استفاده
کنید.
تغییر
وضعیت حالت
برجسته (bold) در
حالت کتاب.
تغییر
وضعیت نقطه
توقف (breakpoint) در
حالت
اشکالزدایی.
ctrl-j
پیوستن
سطرها به
یکدیگر.
ctrl-u
واگرد یا Undo (ctrl-z
نیز ممکن
است، اما
ممکن است
برنامه را
به
پسزمینه
بفرستد).
ctrl-y
انجام مجدد
(Redo).
ctrl-l
پرش به
شماره سطر
یا درصدی
مشخص. کلید return
را برای پرش
به ابتدا
فشار دهید.
دوباره return را
فشار دهید
تا به انتها
بپرید.
یکی از حروف
برجستهشده
روی صفحه را
فشار دهید
تا به آن
موقعیت
بپرید.
ctrl-f
جستوجوی
یک رشته از
موقعیت
فعلی.
جستوجو
چرخشی (wrap around) و
حساس به
حروف کوچک و
بزرگ است.
همچنین پس
از تایپ
عبارت
جستوجو،
امکان
جایگزینی
متن وجود
دارد:
برای
جایگزینی
همه،
بهجای return
کلید tab را
فشار دهید،
عبارت
جایگزین را
وارد کرده و
سپس tab را
بزنید.
برای
یکبار
جایگزینی،
بهجای return
کلید tab را
فشار دهید،
عبارت
جایگزین را
وارد کرده و
سپس return را
بزنید.
تنها عبارت
f را
جستوجو
کنید تا
امضای تابع
قبلی پیدا
شود.
esc
بازگشت پس
از رفتن به
موقعیت یا
فایلی دیگر.
ترسیم مجدد
صفحه و پاک
کردن آخرین
جستوجو.
ctrl-space
ساخت
برنامهها،
تبدیل به PDF
یا
برونبری
به صفحه
راهنما (man page).
دو بار فشار
دهید تا پس
از ساخت
اجرا نیز
بشود.
تغییر
وضعیت
چکباکسها
در Markdown.
جابهجایی
میان
گزینههای
نمایش و
برونبری
در حالت
کتاب.
آخرین
دستور
خارجی
استفادهشده
توسط `o` را
میتوان در
`~/.cache/o/last_command.sh` یافت.
ctrl-~
درج تاریخ و
زمان فعلی.
ابزار `o` تلاش
میکند به
محلی که خطا
در آن رخ
داده بپرد و
در غیر این
صورت پیام
"Success" را
نمایش دهد.
ctrl-
تغییر
وضعیت
یادداشتهای
تکخطی
برای یک
بلوک کد.
ctrl-_
درج یک نماد
با تایپ یک
دایگراف ۲
حرفی.
دایگرافها
همانند ViM
هستند.
برای بررسی
فهرست
کامل،
پیوند زیر
را ببینید:
https://raw.githubusercontent.com/xyproto/digraph/main/digraphs.txt
ctrl-r
پرش به قلاب
متناظر یا
تغییر نام
در هنگام
برنامهنویسی،
در غیر این
صورت تغییر
وضعیت "wrap when typing"
(شکست سطر
هنگام تایپ).
در حالت rebase
تعاملی git،
کلمات
کلیدی را
تغییر
میدهد.
دو بار فشار
دهید تا یک
پورتال باز
یا بسته
شود.
محیط (ENVIRONMENT)
متغیر محیطی NO_COLOR میتواند روی 1 تنظیم شود تا تمامی رنگها غیرفعال شوند.
اگر XTERM_VERSION مقداردهی شده باشد (معمولاً بهطور خودکار توسط xterm)، طرح رنگی "light" استفاده خواهد شد.
متغیر محیطی ORBITON_OLLAMA میتواند روی 1 تنظیم شود تا ویژگیهای اختصاصی Ollama فعال شوند.
متغیر محیطی OLLAMA_MODEL میتواند برای تعیین اینکه کدام مدل Ollama برای تکمیل خودکار کد استفاده شود، تنظیم شود.
متغیر محیطی OLLAMA_HOST میزبان سرویس Ollama را در صورتی که قرار است از یک سرویس غیرمحلی استفاده شود تعیین میکند.
صفحهبندی صفحات راهنما (MAN PAGER)
دستور o میتواند برای مشاهده صفحات راهنما با تنظیم MANPAGER روی "o" استفاده شود؛ مثلاً با export MANPAGER=o.
علت ساخت (WHY)
میخواستم ویرایشگری ساده بنویسم که تنها از کدهای ترمینال VT100 استفاده کند.
همچنین ببینید (SEE ALSO)
باگهای شناختهشده (KNOWN BUGS)
در برخی شبیهسازهای ترمینال، پیمایش سریع به بالا یا پایین با کلیدهای جهتنما ممکن است باعث پرش ناگهانی متن شود (این عملکرد در alacritty بدون مشکل است). برای جلوگیری از این حالت، با ctrl-n و ctrl-p به بالا و پایین پیمایش کنید. در صورت نیاز، کلید esc را برای ترسیم مجدد صفحه فشار دهید.
برخی نشانههای یونیکد (unicode runes) ممکن است چیدمان متن را مختل کنند. این موضوع عموماً برای ویرایش کد و فایلهای پیکربندی مشکلی ایجاد نمیکند، اما هنگام ویرایش فایلهایی با متنهای چندزبانه ممکن است دردسرساز شود.
در برخی شبیهسازهای ترمینال، اگر o مشغول انجام عملیاتی باشد، فشردن ctrl-s ممکن است ترمینال را قفل کند. برخی شبیهسازها مانند konsole را میتوان طوری پیکربندی کرد که این رفتار را غیرفعال کنند. برای باز کردن مجدد قفل ترمینال، کلید ctrl-q را فشار دهید (همراه با این احتمال ناخواسته که ممکن است از o خارج شوید). همچنین میتوانید از منوی ctrl-o برای ذخیره و خروج استفاده کنید.
دستور o ممکن است با فایلهای بسیار حجیم (چندین مگابایت به بالا) دچار مشکل شود. برای فایلهای متنی عادی یا فایلهای کد منبع، مشکلی وجود نخواهد داشت.
چسباندن با کلیک میانی ماوس (بهجای چسباندن با ctrl-v) ممکن است دچار مشکلی شود که فقط نویسه اول را درج کند.
دندانهگذاری هوشمند همیشه هوشمندانه عمل نمیکند.
نسخه (VERSION)
2.74.4
نویسنده (AUTHOR)
o توسط Alexander F. Rødseth <xyproto@archlinux.org> نوشته شده است.
| 18 Jun 2026 | o |