Orbiton هو محرر نصوص و IDE بسيط مع الأهداف التالية في الاعتبار:
VT100 )يرجى تقديم العلاقات العامة إذا كان يمكن تحسين أي شيء للمساعدة في تحقيق هذه الأهداف.
قد يكون الدوريون مناسبًا لـ:
EDITOR=o git commit ).README.md و TODO.mdEDITOR=o visudo ولديه دعم مدمج لتنسيق /etc/fstab .ctrl-g لرؤية عدد الكلمات). لقطة شاشة لتطبيق VTE GUI (يمكن الاطلاع عليه في دليل gtk3 ) ، تشغيل محرر o :

يتنقل من خلال تعليمات التجميع لبرنامج الصدأ عن طريق إدخال وضع التصحيح مع قائمة ctrl-o ثم التنقل مع ctrl-n :

تحرير ملف مصدر C في og باستخدام موضوع "Synthwave":

هناك أيضًا سمات خفيفة متوفرة:


| المدبر |
|---|
مع GO 1.21 ، يمكن تثبيت إصدار تطوير o مثل هذا:
go install github.com/xyproto/orbiton/v2@latest && mv -i ~/go/bin/orbiton ~/go/bin/o
اضبط أعلام mv ومسار ~/go/bin حسب الحاجة. ربما يكون go install لديه علامة -o في المستقبل.
بدلاً من ذلك ، قم بتنزيل وتثبيت إصدار إصدار. على سبيل المثال ، بالنسبة إلى Raspberry Pi 2 أو 3 أو 4 تشغيل Linux:
curl -sL 'https://github.com/xyproto/orbiton/releases/download/v2.68.6/orbiton-2.68.6-linux_armv7_static.tar.xz' | tar JxC /tmp && sudo install -Dm755 /tmp/orbiton-2.68.6-linux_armv7_static/o /usr/bin/o && sudo install -Dm644 /tmp/orbiton-2.68.6-linux_armv7_static/o.1.gz /usr/share/man/man1/o.1.gz
o كمحرر افتراضي قابل للتنفيذ لـ gitلتعيين:
git config --global core.editor o
لإلغاء التوصيل:
git config --global --unset core.editor
من خلال ضبط متغير بيئة MANPAGER ، من الممكن استخدام o لعرض صفحات الرجل:
export MANPAGER=o
بديل لعرض صفحات الرجل في o هو استخدام less :
export MANPAGER='less -s -M +Gg'
o على opensuse قم بتثبيت o يدويًا ، حتى توجد حزمة OpenSuse:
git clone https://github.com/xyproto/orbiton
cd orbiton
make && sudo make install
ما يلي غير مطلوب بشكل صارم ، لكنه يضع كل شيء للاستفادة الكاملة من o :
أضف هذا إلى ~/.alias :
alias o=/usr/bin/o
أضف هذا إلى ~/.profile :
export MANPAGER=/usr/bin/o
export EDITOR=/usr/bin/o
قم بتسجيل الخروج مرة أخرى لتفعيل التغييرات.
هذه الميزات فريدة من o ، بقدر ما أدرك:
ctrl-v مرة واحدة على لصق خط واحد ، اضغط ctrl-v مرة أخرى على لصق الباقي.ctrl-c مرة واحدة لنسخ سطر واحد ، اضغط على ctrl-c مرة أخرى لنسخ كتلة من الخطوط (حتى خط فارغ).ctrl-r . عند فتح البوابة ، انسخ الخطوط عبر الملفات (أو داخل نفس الملف) باستخدام ctrl-v .ctrl-space ورمز التنسيق مع ctrl-w ، لمجموعة واسعة من لغات البرمجة.ctrl-w أو ctrl-r ، عندما تكون جلسة Rebase التفاعلية GIT قيد التقدم.ctrl-l . إما إدخال رقم للقفز إلى خط أو فقط اضغط على return (أو t ) للقفز إلى الأعلى. اضغط على ctrl-l return مرة أخرى (أو b ) للقفز إلى الأسفل. اضغط c للقفز إلى المركز.ctrl-l ، يمكن أيضًا القفز إلى نسبة مئوية (مثل 50% ) أو جزءًا (مثل 0.5 أو .5 ). من الممكن أيضًا القفز إلى إحدى الرسائل المميزة.main. ملف غير موجود ، ولكن main.cpp و main.o موجود ، ثم سيتم فتح main.cpp .ctrl-f ، وإدخال النص return الضغط. استبدل بالضغط على tab بدلاً من return ، ثم أدخل النص البديل واضغط على return . يتم أيضًا دعم البحث عن Runes Unicode على النموذج u+0000 .iferr على سطر واحد في برنامج GO أو ODIN واضغط على return لإدراج ARITAL if err != nil { return ... } ، استنادًا إلى KORON/IFERR.ctrl-t عندما يكون المؤشر على طاولة. هذا أفضل للجداول التي ليست واسعة جدا.ctrl-w .if ، for يتم الضغط while الإرجاع.ctrl-f مرتين يبحث عن الكلمة تحت المؤشر."Hello, World" في العديد من لغات البرمجة الشائعة ببساطة عن طريق الضغط على ctrl-space .o main.c ، والضغط على ctrl-w ثم ctrl-space مزدوجة..png ، .jpg ، .jpeg ، .gif ، .ico ، .bmp أو .webp الصور مباشرة في المحطة (باستخدام نسخة مخفضة وما يصل إلى 16 لونًا).-p تليها اسم ملف لفحص الحافظة على ملف جديد ، بدلاً من تحرير ملف.ctrl-t القفز بين رأس C ++ والملف المصدر ، عند تحرير رمز C ++.ctrl-t محرر جدول Markdown ، عند تحرير Markdown و Cursor على طاولة تخفيض.vim و emacs ، للملفات الصغيرة.pandoc .alacritty و konsole و st urxvt و xfce4-terminal و xterm و zutty .NO_COLOR لتعطيل جميع الألوان.ctrl-a و ctrl-e إلى استخدامها بدلاً من Home End . وللتصفح لأعلى ولأسفل ، يمكن استخدام ctrl-n و ctrl-p .go أو gccgo ./dev/tty متاح.xclip لـ X و wl-clipboard لـ Wayland أو pbcopy لـ MacOS للوصول إلى حافظة النظام.+ اختياري أو : بادئة.COMMIT_EDITMSG ، فسيتم تعديل المظهر والشعور لرسائل الالتزام بالجيت.UTF-8 ، ولكن قد يتم عرض بعض الرونية بشكل غير صحيح.n ).rn ) إلى نهايات خط UNIX (فقط n ) ، كلما كان ذلك ممكنًا.0xc2 0xa0 ) بمساحة منتظمة ( 0x20 ) كلما أمكن ذلك.0xcc 0x88 ) مع tilde عادية ( ~ ) كلما كان ذلك ممكنا.0xcd 0xbe ) مع فاصلة منتظمة ( ; ) كلما أمكن ذلك.git rebase -i ، فسيقوم إما ctrl-w أو ctrl-r بدوران الكلمات الرئيسية للخط الحالي ( fixup ، drop ، edit ETC).r (أو يكون لها ارتباط مع هذا الاسم) ، فسيكون السمة الافتراضية حمراء/أسود.l (أو يكون لها ارتباط مع هذا الاسم) ، فسيكون السمة الافتراضية مناسبة لخلفيات الضوء.s (أو يكون لها ارتباط مع هذا الاسم) ، فسيكون السمة الافتراضية هو موضوع "Synthwave".o filename.md ، اضغط على ctrl-space مرتين واستقال مع ctrl-q .ctrl-space أو ctrl-t لتبديل علامة الاختيار في- - [ ] TODO item في Markdown..gz .ctrl-w .ctrl-f ثم t للبحث عن خطأ مطبعي ، ctrl-n للمطابقة التالية ، ثم ctrl-a لإضافته و ctrl-i لتجاهله).ctrl-l . tmux وتغيير حجم نافذة المحاكي الطرفي قد يؤدي إلى مشكلات عرض النص. حاول الضغط على esc لإعادة رسم النص ، أو ctrl-f للبحث عن النص. قد يساعد تعيين TERM بشكل صحيح.o مشغولة في إجراء عملية ، فقد يضغط ctrl-s على المحطة. يمكن تكوين بعض المحاكيات الطرفية ، مثل konsole ، لإيقاف هذا السلوك. اضغط على ctrl-q لإلغاء تأمين المحطة مرة أخرى (جنبًا إلى جنب مع الخطر المؤسفة للإقلاع عن التدخين o ). لتجنب هذه المشكلة ، يمكن استخدام قائمة ctrl-o بدلاً من ذلك ، من أجل حفظها والإقلاع عنها.mosh في مشكلات عرض النص (في كل من nvim و o ).cmd-v و cmd-x و cmd-c على MacOS فقط عند استخدام واجهة og GUI/VTE. بالنسبة لـ o و ctrl-v و ctrl-x و ctrl-c يمكن استخدامها بدلاً من ذلك.هناك عدد قليل جدًا من المفاتيح الساخنة التي يجب تذكرها:
ctrl-s - حفظ.ctrl-q - الإقلاع عن التدخين.ctrl-r - فتح أو إغلاق بوابة. يمكن لصق النص من البوابة إلى ملف آخر (أو نفسه) مع ctrl-v . بالنسبة لوضع "GIT Interactive Rebase" ( git rebase -i ) ، سيؤدي ذلك إلى ركوب الكلمات الرئيسية Rebase بدلاً من ذلك.ctrl-a - انتقل إلى بدء النص ، ثم بدء السطر ثم إلى السطر السابق.ctrl-e - انتقل إلى نهاية الخط ثم إلى السطر التاليctrl-n - قم بالتمرير لأسفل 10 خطوط ، أو انتقل إلى المباراة التالية إذا كان البحث نشطًا. أدخل عمودًا عندما يكون في محرر جدول Markdown.ctrl-p - قم بالتمرير لأعلى 10 خطوط ، أو انتقل إلى المباراة السابقة إذا كان البحث نشطًا. قم بإزالة عمود فارغ عندما يكون في محرر جدول Markdown.ctrl-k - حذف الأحرف إلى نهاية الخط ، ثم حذف الخط.ctrl-_ القفز إلى قوسين أو قوس مطابق ، إذا كان المؤشر على واحد ، وإلا أدخل رمزًا عن طريق الكتابة في digraph من أحرف.ctrl-d - حذف حرف واحد.ctrl-t - لـ C و C ++: القفز بين الرأس الحالي والملف المصدر. ل Agda و Ivy ، أدخل رمز. للتخفيض: تبديل مربعات الاختيار ، أو قم بتشغيل محرر الجدول إذا كان المؤشر فوق جدول. للباقي: سجل وتشغيل المفاتيح. اضغط Esc لمسح الماكرو الحالي.ctrl-o - افتح قائمة أوامر مع إجراءات يمكن تنفيذها.ctrl-x - قطع الخط الحالي. اضغط مرتين لقطع كتلة من النص (إلى الخط الفارغ التالي).ctrl-c - نسخ سطر واحد. اضغط مرتين لنسخ كتلة من النص.ctrl-v - لصق خط واحد مقلد. اضغط مرتين على لصق خطوط متعددة غير متطورة.ctrl-space - برنامج إنشاء ، عرض إلى PDF أو تصدير إلى صفحة MAN (انظر الجدول أدناه). للتخفيض: تبديل مربعات الاختيار ، أو اضغط مزدوجًا للتصدير إلى HTML.ctrl-j - انضم إلى الخطوط (أو قفز إلى الإشارة المرجعية ، إذا تم تعيينها).ctrl-u -Undo ( ctrl-z ممكن أيضًا ، ولكن قد الخلفية للتطبيق).ctrl-l - القفز إلى رقم خط معين أو نسبة مئوية. اضغط على return إلى القفز إلى الأعلى. إذا كان في الأعلى ، اضغط على return إلى القفز إلى الأسفل. اضغط على إحدى الرسائل المميزة على الشاشة للقفز إلى هذا الموقع.ctrl-f - ابحث عن سلسلة. يلتف البحث حوله وهو حساس للحالة. اضغط على tab بدلاً من return إلى البحث والاستبدال. للعثور على الأخطاء المطبعية ، ابحث عن الحرف t ، ثم اضغط على ctrl-n للحصول على الكلمة التالية ، ctrl-a لإضافته أو ctrl-i لتجاهله.ctrl-b القفز مرة أخرى بعد القفز إلى تعريف مع ctrl-g . قم بتبديل إشارة مرجعية للخط الحالي ، أو إذا تم تعيينه: اقفز إلى إشارة مرجعية على خط مختلف.ctrl-w - تنسيق الملف الحالي (انظر الجدول أدناه) ، أو الكلمات الرئيسية Rebase Cycle GIT. للتخفيض ، تنسيق الجدول تحت المؤشر.ctrl-g - القفز إلى التعريف ، لبعض لغات البرمجة (الميزة التجريبية) ، أو تبديل شريط الحالة.ctrl- - التعليق داخل أو خارج كتلة من الكود.ctrl-~ - القفز إلى قوسين مطابقة أو قوس.esc - إعادة رسم كل شيء ومسح آخر بحث. ctrl-space لإنشاء أو تصدير الملف الحالي.ctrl-w لتنسيق الملف الحالي ، بطريقة رأي. إذا كان الملف الحالي فارغًا ، "مرحبًا ، عالم!" سيتم إدخال القالب ، لبعض ملحقات الملفات.$(o -l) ، للحصول على مزيد من التفاصيل. يمكن استخدام o -l لمعاينة الأمر.| لغة البرمجة | ملحقات الملف | القفز إلى الخطأ | بناء الأمر | تنسيق الأمر |
|---|---|---|---|---|
| أدا | .adb ، .gpr ، .ads ، .ada | WIP | WIP | WIP |
| Agda | .agda | نعم | agda -c $filename | ن/أ |
| الغول 68 | .a68 | WIP | a68g --compile $filename | WIP |
| حَشد | .asm ، .s ، .S .inc | نعم | yasm -f elf64 -o $output.o $filename | ن/أ |
| ج | .c ، .h | نعم | gcc $filename -o $output | clang-format -i --style=WebKit $filename |
| C ++ | .cpp ، .cc ، .cxx ، .h ، .hpp ، .h++ ، .c++ | نعم | g++ $filename -o $output | clang-format -i --style=WebKit $filename |
| ج# | .cs | نعم | dotnet build $filename | astyle --mode=cs $filename |
| C3 | .c3 | نعم | c3c compile -o $output $filename | c3fmt --rewrite $filename |
| clojure | .clj ، .cljs ، .clojure | WIP | lein compile $filename | WIP |
| كريستال | .cr | نعم | crystal build $filename --release | crystal tool format $filename |
| CSS | .css | WIP | لا | prettier --tab-width 2 -w $filename |
| د | .d | نعم | dmd $filename -of$output | WIP |
| دارت | .dart | نعم | dart compile exe --output $output $filename | dart format $filename |
| إرلانج | .erl | نعم | erlc $filename | WIP |
| Fortran77 ، Fortran90 | .f ، .f90 | نعم | gfortran -o $output $filename | WIP |
| العقيق | .gt | WIP | garnetc -o $output $filename | WIP |
| GLSL | .glsl ، .vert ، .frag | WIP | glslangValidator -V -o $output $filename | WIP |
| يذهب | .go | نعم | go build $filename | goimports -w $filename |
| أرنبة | .ha | نعم | hare build $filename | ن/أ |
| هاسكل | .hs | نعم | ghc -dynamic $filename | brittany --write-mode=inplace $filename |
| HTML | .html | WIP | لا | tidy -m $filename |
| اللبلاب | .ivy | WIP | WIP | ن/أ |
| جافا | .java | نعم | javac + jar ، انظر التفاصيل أدناه | google-java-format -a -i $filename |
| جافا سكريبت | .js | WIP | لا | prettier --tab-width 4 -w $filename |
| جاكت | .jakt | WIP | jakt $filename | WIP |
| فقط | justfile ، .justfile | لا | لا | just --unstable --fmt -f $filename |
| كوتلين | .kt ، .kts | نعم | kotlinc $filename -include-runtime -d $output.jar | ktlint -F $filename |
| كوتلين مواطن | .kt ، .kts | نعم | kotlinc-native -nowarn -opt -Xallocator=mimalloc -produce program -linker-option --as-needed $filename -o $output | ktlint -F $filename |
| لوا | .lua | نعم | luac -o $output.luac $filename | lua-format -i --no-keep-simple-function-one-line --column-limit=120 --indent-width=2 --no-use-tab $filename |
| تخفيض السعر | .md | WIP | لا | prettier --write $filename |
| نيم | .nim | WIP | nim c -o:$output $filename | WIP |
| الهدف-C | .m | نعم | clang $filename -o $output | clang-format -i --style=WebKit $filename |
| أودين | .odin | نعم | odin build $filename | ن/أ |
| موضوع الهدف | .pas ، .pp ، .lpr | نعم | fpc $filename | WIP |
| Ocaml | .ml | WIP | لا | ocamlformat $filename |
| بيرل | .pl | نعم | perl $filename | /usr/bin/vendor_perl/perltidy -se -b -i=2 -ole=unix -bt=2 -pt=2 -sbt=2 -ce $filename |
| بيثون | .py | نعم | python -m py_compile $filename | black $filename |
| روبي | .rb | لا | لا | rubocop -A $filename |
| الصدأ (مع البضائع. toml) | .rs | نعم | cargo build | rustfmt $filename |
| الصدأ | .rs | نعم | rustc $filename | rustfmt $filename |
| سكالا | .scala | نعم | scalac $filename && jar cfe $output MainClass *.class | scalafmt $filename |
| صدَفَة | .sh ، PKGBUILD ، APKBUILD | WIP | makepkg | shfmt -s -w -i 2 -bn -ci -sr -kp $filename |
| قياسي مل | .sml ، .fun ، .mlb ، .cm | نعم | mlton $filename | WIP |
| سريع | .swift | WIP | WIP | WIP |
| TypeScript | .ts | WIP | لا | prettier --tab-width 4 -w $filename |
| الخامس | .v | نعم | v build $filename | v fmt $filename |
| XML | .xml | WIP | لا | tidy -w 80 -q -i -utf8 --show-errors 0 --show-warnings no --tidy-mark no -xml -m $filename |
| متعرج | .zig | نعم | zig build-exe $filename | zig fmt $filename |
/etc/fstab و JSON و HTML ملفات مدعومة أيضًا ، ويمكن تنسيقها باستخدام ctrl-w .
o القفز إلى الموقع الذي يكون فيه الخطأ وعرض Success بطريقة أخرى.ctrl-w بلف الخطوط بطول 99.kotlinc-native متوفرًا ، فسيتم استخدام أمر الإنشاء هذا بدلاً من ذلك: kotlinc $filename -include-runtime -d $name.jarيمكن تنزيل CXX هنا: صفحة مشروع GitHub لـ CXX.
| نوع الملف | ملحقات الملف | أمر بناء أو تصدير |
|---|---|---|
| أسكيدوك | .adoc | asciidoctor -b manpage (يكتب إلى out.1 ) |
| SCDOC | .scd ، .scdoc | scdoc (يكتب إلى out.1 ) |
| تخفيض السعر | .md | pandoc -N --toc -V geometry:a4paper (يكتب إلى $filename.pdf ) |
هذه ميزة جديدة وتحتاج إلى مزيد من الاختبارات.
gdb ، فمن الممكن تحديد "وضع التصحيح" من قائمة ctrl-o ثم قم بإنشائها وتخطوها من خلال برنامج مع ctrl-space ، أو تعيين نقطة توقف باستخدام ctrl-b والمتابعة مع ctrl-space .أثناء وجوده في محرر الطاولة:
tab للذهاب إلى الخلية التالية ، أو إدخال خلايا جديدة إذا تم الوصول إلى الخلية الأخيرة.return إما للقفز إلى الخلية الفارغة أدناه أو لإدراج صف جديد أدناه.backspace لحذف الحروف ، ولكن أيضًا لحذف الصف الحالي إذا كان فارغًا.ctrl-n لإدخال عمود جديد على اليمين.ctrl-d لحذف العمود الحالي (إذا كانت جميع الخلايا في العمود فارغة).esc أو ctrl-t لإغلاق محرر جدول Markdown.ctrl-s للحفظ. يمكن تحديد السمات باستخدام قائمة ctrl-o . تسرد قائمة السمة أيضًا أسماء السمات ، والتي يمكن تحديدها في متغير بيئة O_THEME .
يعد متغير بيئة O_THEME استثناءً من الادعاء بأن o خالٍ من التكوين ، لكنه اختياري تمامًا.
لاستخدام IE. يمكن استخدام سمة Synthwave ، /usr/bin/sw symlink to /usr/bin/o ، أو يمكن إضافة ذلك إلى ~/.profile :
export O_THEME=synthwave
æ ، فقط اضغط على ctrl-_ واكتب في ae . لإدراج µ ، اكتب في My . git clone https://github.com/xyproto/orbiton
cd orbiton
make && sudo make install
واختياريا:
make gui && sudo make gui-install
من الممكن أيضًا تثبيت Symlinks التي يتم اقتراحها بشكل أكبر في هذا المستند.
تثبيت التبعيات (استخدم doas إذا لزم الأمر):
add_pkg git gmake go vte3
قم ببناء كل من المحرر o و Gui Frontend og :
gmake CXX="clang++ -w" o og
قم بتثبيت كلا التنفيذيين ، صفحة الرجل ، أيقونة وملف اختصار لسطح المكتب (استخدم doas إذا لزم الأمر):
PREFIX=/usr/local gmake install og-install
مجرد بناء وتثبيت o يعمل أيضًا:
gmake
doas gmake install
من الممكن أيضًا تثبيت Symlinks التي يتم اقتراحها بشكل أكبر في هذا المستند.
C ++
ctrl-space ، يجب تثبيت cxx .ctrl-w ، يجب تثبيت clang-format .يذهب
ctrl-space ، يجب تثبيت برنامج التحويل go .ctrl-w ، يجب تثبيت goimports .متعرج
zig .الخامس
vالصدأ
ctrl-space ، يجب أن توجد Cargo.toml ويجب تثبيت cargo .ctrl-w ، يجب تثبيت rustfmt .هاسكل
ctrl-space ، يجب تثبيت برنامج التحويل البرمجي ghc .ctrl-w ، يجب تثبيت brittany .بيثون
ctrl-space يتحقق فقط من بناء الجملة ، دون تنفيذ. هذا يتطلب فقط أن يكون python متاحًا.ctrl-w ، يجب تثبيت black .كريستال
crystal .كوتلين
ctrl-space ، يجب تثبيت kotlinc . يتم إنشاء ملف .jar إذا نجح التجميع.ctrl-w ، يجب تثبيت ktlint .جافا
ctrl-space ، يجب تثبيت javac و jar . يتم إنشاء ملف .jar إذا نجح التجميع.ctrl-w ، يجب تثبيت google-java-format .سكالا
ctrl-space ، يجب تثبيت scalac و jar . يتم إنشاء ملف .jar إذا نجح التجميع.java -jar main.jar . استخدم scalac -d main.jar MyFile.scala إذا كنت ترغب في إنتاج جرة يمكن تنفيذها باستخدام scala main.jar .ctrl-w ، يجب تثبيت scalafmt .د
ctrl-space ، يجب أن تكون gdc متاحة.جيسون
FSTAB
fstab (عادة /etc/fstab ) ميزة مدمجة. فقط اضغط على ctrl-w . إذا كنت بحاجة إلى أداة مستقلة ، يتوفر fstabfmt .جافا سكريبت
prettier . نظرًا لأن kotlinc $filename -include-runtime -d يبني إلى a .jar ، على الرغم من أنني يجب أن أفعل نفس الشيء بالنسبة لـ Java. تتمثل الفكرة في تجميع مجموعة واحدة أو مجموعة صغيرة من ملفات .java بسهولة ، حيث يحتوي أحد الملفات على وظيفة main .
إذا كنت تعرف عن طريقة أسهل لبناء ملف .jar من *.java ، دون استخدام شيء مثل Gradle ، فيرجى إخبارنا عن طريق تقديم طلب سحب. هذا مطول جدا ...
javaFiles= $( find . -type f -name ' *.java ' )
for f in $javaFiles ; do
grep -q ' static void main ' " $f " && mainJavaFile= " $f "
done
className= $( grep -oP ' (?<=class )[A-Z]+[a-z,A-Z,0-9]* ' " $mainJavaFile " | head -1 )
packageName= $( grep -oP ' (?<=package )[a-z,A-Z,0-9,.]* ' " $mainJavaFile " | head -1 )
if [[ $packageName != " " ]] ; then
packageName= " $packageName . "
fi
mkdir -p _o_build/META-INF
javac -d _o_build $javaFiles
cd _o_build
echo " Main-Class: $packageName$className " > META-INF/MANIFEST.MF
classFiles= $( find . -type f -name ' *.class ' )
jar cmf META-INF/MANIFEST.MF ../main.jar $classFiles
cd ..
rm -rf _o_build بالنسبة إلى Scala ، هذا هو الكود المستخدم لإنتاج ملف main.jar الذي يمكن تشغيله مباشرة مع java -jar main.jar :
#! /bin/sh
scalaFiles= $( find . -type f -name ' *.scala ' )
for f in $scalaFiles ; do
grep -q ' def main ' " $f " && mainScalaFile= " $f "
grep -q ' extends App ' " $f " && mainScalaFile= " $f "
done
objectName= $( grep -oP ' (?<=object )[A-Z]+[a-z,A-Z,0-9]* ' " $mainScalaFile " | head -1 ) ;
packageName= $( grep -oP ' (?<=package )[a-z,A-Z,0-9,.]* ' " $mainScalaFile " | head -1 ) ;
if [[ $packageName != " " ]] ; then
packageName= " $packageName . "
fi
mkdir -p _o_build/META-INF
scalac -d _o_build $scalaFiles
cd _o_build
echo -e " Main-Class: $packageName$objectName nClass-Path: /usr/share/scala/lib/scala-library.jar " > META-INF/MANIFEST.MF
classFiles= $( find . -type f -name ' *.class ' )
jar cmf META-INF/MANIFEST.MF ../main.jar $classFiles
cd ..
rm -rf _o_build/usr/share/scala/lib/scala-library.jar لا يتم العثور على scalac -d run_with_scala.jar بدلاً من ذلك.scala-library.jar ، فستحتاج ملف jar الناتج إلى scala لتشغيله. ctrl-t يجلب قائمة مع مجموعة مختارة من الرموز الخاصة.
هناك أيضا هذه الاختصارات:
⊤ بالضغط على ctrl-t ثم tℕ بالضغط على ctrl-t ثم n . عند تحرير ملفات PKGBUILD ، من الممكن الضغط ctrl-o وتحديد Call Guessica لتحديث pkgver= و source= الحقول ، من خلال مجموعة من التخمين والبحث عبر الإنترنت. تعتمد هذه الوظيفة على أداة تحديث حزمة Guentica التي يتم تثبيتها ، وستعمل فقط على بعض ملفات PKGBUILD .
a68g - لتجميع رمز Algol 68agda - لتجميع رمز AGDAasciidoctor - لكتابة صفحات الرجلastyle - لتنسيق C# رمزblack - لتنسيق كود بيثونbrittany - لتنسيق كود هاسكلcargo - لتجميع الصدأclang - لتنسيق رمز C ++ مع clang-formatclojure - لتجميع clojurecrystal - لتجميع البلورةcxx - لتجميع C ++fpc - لتجميع كائن Pascalg++ - لتجميع رمز C ++gdc - لتجميع رمز D.ghc - لتجميع كود Haskellgo - لتجميع رمز GOgo-tools - لتنسيق رمز GO والتعامل مع الواردات مع goimportsgoogle-java-format لتنسيق رمز Javajad - Delsompile .class Files على الطيران عند فتحها بـ ojava-environment - لتجميع كود Java وإنشاء ملفات .jar مع javac و jarkotlin - لتجميع Kotlinktlint - لتنسيق كود kotlinlua - لتجميع LUA إلى BYTECODElua-format - لتنسيق رمز LUAmlton - لتجميع ML القياسيmono - لتجميع كود C#ocaml - لتجميع وتنسيق رمز OCAMLodin - لتجميع Odinpandoc - لتصدير التخفيض إلى PDFprettier - لتنسيق JavaScript و TypeScript و CSSpython - لتجميع Python إلى Bytecoderustc - لتجميع الصدأrustfmt - لتنسيق الصدأscala - لتجميع Scalasdoc - لكتابة صفحات الرجلtidy - لتنسيق XMLv - لتجميع وتنسيق رمز Vzig - لتجميع وتنسيق رمز التعرج o هو 1.5 متر عند بناؤه باستخدام GCC 12 (لليمنوكس 64 بت) وضغطه مع upx . طريقة واحدة للبناء مع gccgo و upx (في دليل v2 ):
go build -mod=vendor -gccgoflags '-Os -s' -o o && upx --best --lzma o
إذا تم تصميم o Adlextable مع go بدلاً من ذلك ، فقد يكون الحجم 8.7 مترًا ، أو 2.8 مترًا فقط عند تعبئته بـ upx :
go build -mod=vendor -ldflags='-s -w' -trimpath -o o && upx --best --lzma o
يتم دعم هذه الطرق الأربع لفتح file.txt في السطر 7 :
o file.txt 7o file.txt +7o file.txt:7o file.txt+7 هذا يعني أيضًا أن أسماء الملفات التي تحتوي على + أو : ، ثم لا يتم دعمها.
-f لفتح ملف ، بغض النظر عما إذا كان هناك أي أقفال. يمكن أيضًا استخدامه في ملفات الكتابة فوقها مع -p .-c FILENAME لنسخ محتويات الملف المحدد إلى الحافظة ثم الخروج.-p FILENAME للصق المحتويات في الحافظة إلى FILENAME المعطى (إذا لم يكن موجودًا بالفعل) ثم الخروج.-n استخدامها لتجنب كتابة قفلات ، وبناء الملفات ، وسجل الموقع ، وسجل البحث ، و THE GAME HIVESCORE إلى $XDG_CACHE_DIR/cache/o أو ~/.cache/o . غير موصى به.-m لفتح ملف كقراءة فقط ، ولكن راقبه للتغييرات.--help استخدام Help للحصول على نظرة عامة سريعة على beybindings المدعومة.--version بطباعة الإصدار الحالي ثم الخروج. عند تحميل الملفات الكبيرة أو من قرص بطيء ، سيظهر الدوار المتحرك. يمكن مقاطعة عملية التحميل عن طريق الضغط على esc أو q أو ctrl-q .

تعمل وظيفة shell هذه في zsh و bash وقد تكون مفيدة لكل من البحث عن ملف وفتحه على رقم السطر المحدد (يعمل بشكل أفضل إذا كان هناك ملف مطابق واحد فقط ، إن لم يكن ذلك ، فستفتح عدة ملفات متتالية):
fo () { find . -type f -wholename " * $1 " -exec o {} $2 ; ; } إذا تم العثور على عدد كبير جدًا من الملفات ، فمن الممكن التوقف عن فتحها عن طريق اختيار Stop parent and quit without saving من قائمة ctrl-o ، والتي ستتوقف عن المحرر وأيضًا تقتل عملية find الوالد.
مثال الاستخدام:
fo somefile.cpp 123 عند استخدام pandoc للتصدير من Markdown إلى PDF:
PAPERSIZE على IE. a4 أو letter ، سيتم احترامه عند التصدير من تخفيضات إلى PDF باستخدام PANDOC ، عند الضغط على ctrl-space .--pdf-engine=xelatex و --listings ، لذلك يجب أن تكون xelatex وحزمة listings متاحة. يجب أن يوفر التثبيت القياسي من اللاتكس والباندوك كليهما.Render to PDF with pandoc فقط في قائمة ctrl-o عند تحرير ملف Markdown ويتم تثبيت pandoc . ctrl-o لبدء لعبة صغيرة سخيفة حول إطعام المخلوقات مع الكريات قبل تناولها. بدلاً من ذلك ، قم بإنشاء Symlink لبدء تشغيله مباشرة ، أي: ln -sf /usr/bin/o /usr/bin/feedgame .right, down, left أو left, down, right في تتابع سريع يتبعه إما down للحفظ أو up للحفظ والاستقالة . الغرض الوحيد من هذا الاختصار غير العادي هو المساعدة في تجنب Emacs Pinky المؤلمة. o - بالنسبة للمحاكيات الطرفية التي تدعم ما لا يقل عن VT100og - لـ VTE GUI (اختياري) # For starting o with the Light theme
ln -sf /usr/bin/o /usr/bin/li
# For starting o with the Red/Black theme
ln -sf /usr/bin/o /usr/bin/redblack
# For starting o with the Synthwave theme
ln -sf /usr/bin/o /usr/bin/sw
# For starting o with the Blue Edit theme
ln -sf /usr/bin/o /usr/bin/edi
# For starting o with the Light VS theme
ln -sf /usr/bin/o /usr/bin/vs # For starting the GUI version of o with the Light theme
ln -sf /usr/bin/og /usr/bin/lig
# For starting the GUI version of o with the Red/Black theme
ln -sf /usr/bin/og /usr/bin/redblackg
# For starting the GUI version of o with the Synthwave theme
ln -sf /usr/bin/og /usr/bin/swg
# For starting the GUI version of o with the Blue Edit theme
ln -sf /usr/bin/og /usr/bin/edg
# For starting the GUI version of o with the Light VS theme
ln -sf /usr/bin/og /usr/bin/vgog واجهة المستخدم الرسومية/VTEيبني:
make gui
تثبيت (استخدم sudo أو doas ، إذا لزم الأمر):
make gui-install
ctrl-f للبحث ، ثم اكتب t وضغط على Return للبحث عن T ypo التالي.ctrl-a إلى (مؤقتًا) أضفه إلى القاموس أو ctrl-i إلى (مؤقتًا) تجاهله.o بواسطة symlink أو قابلة للتنفيذ اسم nan أو nano ) ، يبحث ctrl-t عن المطبع المطبعي التالي.يستخدم SpellChecker المدمج قائمة الكلمات من هذا المشروع المرخصة بموجب ترخيص معهد ماساتشوستس للتكنولوجيا هذا:
MIT License, Copyright (c) Sindre Sorhus <[email protected]> (sindresorhus.com)
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.
Flow control في إعدادات الملف الشخصي ، لضمان أن ctrl-s لن يتجمد المحطة.