Orbiton เป็นตัวแก้ไขข้อความและ IDE ที่เรียบง่ายโดยมีเป้าหมายต่อไปนี้:
VT100 )โปรดส่ง PR หากมีสิ่งใดสามารถปรับปรุงเพื่อช่วยให้บรรลุเป้าหมายเหล่านี้
Orbiton อาจเหมาะสำหรับ:
EDITOR=o git commit )README.md และ TODO.md/etc/fstab EDITOR=o visudo และได้รับการสนับสนุนในตัวctrl-g เพื่อดูจำนวนคำ) ภาพหน้าจอของแอปพลิเคชัน VTE GUI (ซึ่งสามารถพบได้ในไดเรกทอรี gtk3 ), การเรียกใช้ตัวแก้ไข o :

ก้าวผ่านคำแนะนำการประกอบของโปรแกรมสนิมโดยเข้าสู่โหมดดีบักด้วยเมนู ctrl-o แล้วก้าวไปด้วย ctrl-n :

การแก้ไขไฟล์แหล่ง C ใน og โดยใช้ธีม "synthwave":

นอกจากนี้ยังมีธีมแสง:


| Orbiton |
|---|
ด้วย 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 Running 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
เพื่อ unset:
git config --global --unset core.editor
โดยการตั้งค่าตัวแปรสภาพแวดล้อม MANPAGER เป็นไปได้ที่จะใช้ o สำหรับการดูหน้า Man:
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-vctrl-space และรหัสรูปแบบด้วย ctrl-w สำหรับภาษาการเขียนโปรแกรมที่หลากหลายctrl-w หรือ ctrl-r เมื่อมีการดำเนินการเซสชัน GIT Rebase แบบโต้ตอบ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 นอกจากนี้ยังมีการค้นหารูน Unicode บนแบบฟอร์ม u+0000 ด้วยiferr บนบรรทัดเดียวในโปรแกรม GO หรือ ODIN และกด return เพื่อแทรกการที่เหมาะสม if err != nil { return ... } บล็อกตาม KORON/IFERRctrl-t เมื่อเคอร์เซอร์อยู่บนตาราง วิธีนี้ใช้งานได้ดีที่สุดสำหรับตารางที่ไม่กว้างเกินไปctrl-wif , for while ที่กดกลับถูกกดctrl-f สองครั้งค้นหาคำใต้เคอร์เซอร์"Hello, World" ในภาษาการเขียนโปรแกรมยอดนิยมมากมายเพียงแค่กด ctrl-spaceo main.c กด ctrl-w และจากนั้น ctrl-space สองเท่า.png , .jpg , .jpeg , .gif , .ico , .bmp หรือ .webp โดยตรงในเทอร์มินัล (ใช้เวอร์ชันที่ปรับขนาดลงและสูงถึง 16 สี)-p ตามด้วยชื่อไฟล์สามารถใช้สำหรับเพียงแค่วางคลิปบอร์ดลงในไฟล์ใหม่แทนที่จะแก้ไขไฟล์ctrl-t สามารถข้ามระหว่างส่วนหัว C ++ และไฟล์ต้นฉบับเมื่อแก้ไขรหัส C ++ctrl-t แสดงตัวแก้ไขตาราง markdown เมื่อแก้ไข markdown และเคอร์เซอร์อยู่บนตาราง markdownvim และ emacs สำหรับไฟล์ขนาดเล็กpandocalacritty , konsole , st , urxvt , xfce4-terminal , xterm และ zuttyNO_COLOR สามารถตั้งค่าให้ปิดการใช้งานสีทั้งหมดctrl-a และ ctrl-e อาจจำเป็นต้องใช้แทน Home และ End และสำหรับการเรียกดูขึ้นและลงอาจใช้ ctrl-n และ ctrl-pgo หรือ gccgo/dev/tty พร้อมใช้งานxclip สำหรับ X, wl-clipboard สำหรับ WAYLAND หรือ pbcopy สำหรับ MACOS จำเป็นต้องติดตั้งเพื่อเข้าถึงคลิปบอร์ดระบบ+ หรือ : คำนำหน้าCOMMIT_EDITMSG รูปลักษณ์และความรู้สึกจะถูกปรับสำหรับข้อความ GIT commitUTF-8 แต่รูนบางตัวอาจแสดงไม่ถูกต้องn )rn ) เป็น unix line endings (เพียง n ) เมื่อเป็นไปได้0xc2 0xa0 ) ด้วยพื้นที่ปกติ ( 0x20 ) เมื่อเป็นไปได้0xcc 0x88 ) ด้วย tilde ปกติ ( ~ ) ทุกครั้งที่ทำได้0xcd 0xbe ) ด้วยเครื่องหมายอัฒภาคปกติ ( ; ) เมื่อใดก็ตามที่เป็นไปได้git rebase -i ดังนั้น ctrl-w หรือ ctrl-r จะหมุนเวียนคำหลักสำหรับบรรทัดปัจจุบัน ( fixup , drop , edit ฯลฯ )r (หรือมี symlink ที่มีชื่อนั้น) ธีมเริ่มต้นจะเป็นสีแดง/ดำl (หรือมี symlink ที่มีชื่อนั้น) ธีมเริ่มต้นจะเหมาะสำหรับพื้นหลังแสงs (หรือมี symlink ที่มีชื่อนั้น) ธีมเริ่มต้นจะเป็นธีม "synthwave"o filename.md กด ctrl-space สองครั้งและออกจาก ctrl-qctrl-space หรือ ctrl-t เพื่อสลับเครื่องหมายเช็คอิน - [ ] TODO item ใน markdown.gz ขยายctrl-wctrl-f จากนั้น t เพื่อค้นหา Typo, 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 บรรทัดหรือไปที่การแข่งขันครั้งต่อไปหากการค้นหาทำงานอยู่ แทรกคอลัมน์เมื่ออยู่ในตัวแก้ไขตาราง Markdownctrl-p - เลื่อนขึ้น 10 บรรทัดหรือไปที่การแข่งขันก่อนหน้าหากการค้นหาทำงาน ลบคอลัมน์ว่างเมื่ออยู่ในตัวแก้ไขตาราง markdownctrl-k - ลบอักขระไปที่ส่วนท้ายของบรรทัดจากนั้นลบบรรทัดctrl-_ ข้ามไปยังวงเล็บที่ตรงกันหรือวงเล็บถ้าเคอร์เซอร์อยู่บนหนึ่งมิฉะนั้นแทรกสัญลักษณ์โดยการพิมพ์ใน digraph 2 ตัวอักษรctrl-d - ลบอักขระตัวเดียวctrl-t - สำหรับ C และ C ++: ข้ามระหว่างส่วนหัวปัจจุบันและไฟล์ต้นฉบับ สำหรับ Agda และ Ivy ให้ใส่สัญลักษณ์ สำหรับ Markdown: ช่องทำเครื่องหมายสลับหรือเปิดตัวแก้ไขตารางหากเคอร์เซอร์อยู่เหนือตาราง สำหรับส่วนที่เหลือ: บันทึกและเล่นคีย์กดกลับ กด Esc เพื่อล้างแมโครปัจจุบันctrl-o - เปิดเมนูคำสั่งพร้อมการกระทำที่สามารถทำได้ctrl-x - ตัดบรรทัดปัจจุบัน กดสองครั้งเพื่อตัดบล็อกของข้อความ (ไปยังบรรทัดที่ว่างเปล่าถัดไป)ctrl-c - คัดลอกหนึ่งบรรทัด กดสองครั้งเพื่อคัดลอกบล็อกของข้อความctrl-v - วางหนึ่งเส้นที่ถูกตัดแต่ง กดสองครั้งเพื่อวางหลายบรรทัดที่ไม่ได้ตรึงctrl-space - โปรแกรมสร้างแสดงไปยัง PDF หรือส่งออกไปยังหน้า MAN (ดูตารางด้านล่าง) สำหรับ Markdown: ช่องทำเครื่องหมายสลับหรือกดสองครั้งเพื่อส่งออกไปยัง HTMLctrl-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 - จัดรูปแบบไฟล์ปัจจุบัน (ดูตารางด้านล่าง) หรือคำหลักของการรีเบส สำหรับ Markdown ให้จัดรูปแบบตารางภายใต้เคอร์เซอร์ctrl-g - ข้ามไปที่นิยามสำหรับภาษาการเขียนโปรแกรมบางภาษา (คุณสมบัติการทดลอง) หรือสลับแถบสถานะctrl- - แสดงความคิดเห็นในหรือออกบล็อกของรหัสctrl-~ - ข้ามไปยังวงเล็บหรือวงเล็บที่ตรงกันesc - วาดทุกอย่างและล้างการค้นหาครั้งสุดท้าย ctrl-space เพื่อสร้างหรือส่งออกไฟล์ปัจจุบันctrl-w เพื่อจัดรูปแบบไฟล์ปัจจุบันด้วยวิธีที่มีความคิดเห็น หากไฟล์ปัจจุบันว่างเปล่า "สวัสดีโลก!" เทมเพลตจะถูกแทรกสำหรับส่วนขยายไฟล์บางส่วน$(o -l) เพื่อรับรายละเอียดเพิ่มเติม o -l สามารถใช้เพื่อดูตัวอย่างคำสั่ง| ภาษาการเขียนโปรแกรม | ส่วนขยายไฟล์ | ข้ามไปที่ข้อผิดพลาด | สร้างคำสั่ง | คำสั่งรูปแบบ |
|---|---|---|---|---|
| อาดา | .adb , .gpr , .ads , .ada | เช็ด | เช็ด | เช็ด |
| Agda | .agda | ใช่ | agda -c $filename | N/A |
| Algol 68 | .a68 | เช็ด | a68g --compile $filename | เช็ด |
| การประกอบ | .asm , .s , .S , .inc | ใช่ | yasm -f elf64 -o $output.o $filename | N/A |
| C | .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 |
| C# | .cs | ใช่ | dotnet build $filename | astyle --mode=cs $filename |
| C3 | .c3 | ใช่ | c3c compile -o $output $filename | c3fmt --rewrite $filename |
| การปิดบัง | .clj , .cljs , .clojure | เช็ด | lein compile $filename | เช็ด |
| คริสตัล | .cr | ใช่ | crystal build $filename --release | crystal tool format $filename |
| CSS | .css | เช็ด | เลขที่ | prettier --tab-width 2 -w $filename |
| d | .d | ใช่ | dmd $filename -of$output | เช็ด |
| โผ | .dart | ใช่ | dart compile exe --output $output $filename | dart format $filename |
| Erlang | .erl | ใช่ | erlc $filename | เช็ด |
| FORTRAN77, FORTRAN90 | .f , .f90 | ใช่ | gfortran -o $output $filename | เช็ด |
| โกเมน | .gt | เช็ด | garnetc -o $output $filename | เช็ด |
| GLSL | .glsl , .vert , .frag | เช็ด | glslangValidator -V -o $output $filename | เช็ด |
| ไป | .go | ใช่ | go build $filename | goimports -w $filename |
| กระต่าย | .ha | ใช่ | hare build $filename | N/A |
| Haskell | .hs | ใช่ | ghc -dynamic $filename | brittany --write-mode=inplace $filename |
| HTML | .html | เช็ด | เลขที่ | tidy -m $filename |
| ไม้เลื้อย | .ivy | เช็ด | เช็ด | N/A |
| ชวา | .java | ใช่ | javac + jar ดูรายละเอียดด้านล่าง | google-java-format -a -i $filename |
| จาวาสคริปต์ | .js | เช็ด | เลขที่ | prettier --tab-width 4 -w $filename |
| ชาวกรุง | .jakt | เช็ด | jakt $filename | เช็ด |
| แค่ | justfile , .justfile | เลขที่ | เลขที่ | just --unstable --fmt -f $filename |
| Kotlin | .kt , .kts | ใช่ | kotlinc $filename -include-runtime -d $output.jar | ktlint -F $filename |
| Kotlin พื้นเมือง | .kt , .kts | ใช่ | kotlinc-native -nowarn -opt -Xallocator=mimalloc -produce program -linker-option --as-needed $filename -o $output | ktlint -F $filename |
| Lua | .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 | เช็ด | เลขที่ | prettier --write $filename |
| ไม่มีความสุข | .nim | เช็ด | nim c -o:$output $filename | เช็ด |
| วัตถุประสงค์ -C | .m | ใช่ | clang $filename -o $output | clang-format -i --style=WebKit $filename |
| โอดิน | .odin | ใช่ | odin build $filename | N/A |
| ปาสกาลวัตถุประสงค์ | .pas , .pp , .lpr | ใช่ | fpc $filename | เช็ด |
| Ocaml | .ml | เช็ด | เลขที่ | ocamlformat $filename |
| Perl | .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 |
| สนิม (ด้วย cargo.toml) | .rs | ใช่ | cargo build | rustfmt $filename |
| สนิม | .rs | ใช่ | rustc $filename | rustfmt $filename |
| สกาล่า | .scala | ใช่ | scalac $filename && jar cfe $output MainClass *.class | scalafmt $filename |
| เปลือก | .sh , PKGBUILD , APKBUILD | เช็ด | makepkg | shfmt -s -w -i 2 -bn -ci -sr -kp $filename |
| ML มาตรฐาน | .sml , .fun , .mlb , .cm | ใช่ | mlton $filename | เช็ด |
| ฉับพลัน | .swift | เช็ด | เช็ด | เช็ด |
| ตัวพิมพ์ใหญ่ | .ts | เช็ด | เลขที่ | prettier --tab-width 4 -w $filename |
| V | .v | ใช่ | v build $filename | v fmt $filename |
| XML | .xml | เช็ด | เลขที่ | 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 จะพยายามข้ามไปยังตำแหน่งที่เกิดข้อผิดพลาดและแสดง Successctrl-w จะห่อเส้นให้มีความยาว 99kotlinc-native ไม่พร้อมใช้งานคำสั่ง build นี้จะถูกใช้แทน: kotlinc $filename -include-runtime -d $name.jarCXX สามารถดาวน์โหลดได้ที่นี่: หน้าโครงการ GitHub สำหรับ CXX
| ประเภทไฟล์ | ส่วนขยายไฟล์ | สร้างหรือส่งออกคำสั่ง |
|---|---|---|
| Asciidoc | .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ในขณะที่อยู่ในตัวแก้ไขตาราง Markdown:
tab สามารถใช้ไปที่เซลล์ถัดไปหรือแทรกเซลล์ใหม่หากถึงเซลล์สุดท้ายreturn สามารถใช้เพื่อข้ามไปยังเซลล์เปล่าด้านล่างหรือเพื่อแทรกแถวใหม่ด้านล่างbackspace สามารถใช้ในการลบตัวอักษร แต่ยังสำหรับการลบแถวปัจจุบันหากว่างเปล่าctrl-n สามารถใช้เพื่อแทรกคอลัมน์ใหม่ไปทางขวาctrl-d สามารถใช้เพื่อลบคอลัมน์ปัจจุบัน (ถ้าเซลล์ทั้งหมดในคอลัมน์ว่างเปล่า)esc หรือ ctrl-t สามารถใช้เพื่อปิดตัวแก้ไขตาราง markdownctrl-s สามารถใช้เพื่อบันทึก ธีมสามารถเลือกได้ด้วยเมนู ctrl-o เมนูธีมยังแสดงชื่อธีมซึ่งสามารถระบุได้ในตัวแปรสภาพแวดล้อม O_THEME
ตัวแปรสภาพแวดล้อม O_THEME เป็นข้อยกเว้นสำหรับการอ้างว่า o นั้นปราศจากการกำหนดค่า แต่เป็นทางเลือกที่สมบูรณ์
สำหรับการใช้ IE ชุดรูปแบบ synthwave, /usr/bin/sw symlink เป็น /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
สร้างทั้ง Editor o และ GUI Frontend og :
gmake CXX="clang++ -w" o og
ติดตั้งทั้ง executables, หน้า man, ไอคอนและไฟล์ทางลัดเดสก์ท็อป (ใช้ doas ถ้าจำเป็น '):
PREFIX=/usr/local gmake install og-install
เพียงแค่สร้างและติดตั้ง o ก็ใช้งานได้:
gmake
doas gmake install
นอกจากนี้ยังเป็นไปได้ที่จะติดตั้ง symlinks ที่แนะนำเพิ่มเติมในเอกสารนี้
C ++
ctrl-space ต้องติดตั้ง cxxctrl-w ต้องติดตั้ง clang-formatไป
ctrl-space จะต้องติดตั้งคอมไพเลอร์ goctrl-w ต้องติดตั้ง goimportsซิก
zig เท่านั้นV
v เท่านั้นสนิม
ctrl-space ต้องมีการเก็บ Cargo.toml และต้องติดตั้ง cargoctrl-w ต้องติดตั้ง rustfmtHaskell
ctrl-space จะต้องติดตั้งคอมไพเลอร์ ghcctrl-w ต้องติดตั้ง brittanyงูหลาม
ctrl-space ตรวจสอบไวยากรณ์เท่านั้นโดยไม่ต้องดำเนินการ สิ่งนี้ต้องการให้ python พร้อมใช้งานเท่านั้นctrl-w ต้องติดตั้ง blackคริสตัล
crystal เท่านั้นKotlin
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.jarctrl-w ต้องติดตั้ง scalafmtd
ctrl-space ต้องมี gdcJSON
fstab
fstab (โดยปกติ /etc/fstab ) เป็นคุณสมบัติในตัว เพียงกด ctrl-w หากคุณต้องการยูทิลิตี้แบบสแตนด์อโลน fstabfmt จะพร้อมใช้งานจาวาสคริปต์
prettier เนื่องจาก kotlinc $filename -include-runtime -d สร้างเป็น .jar ฉันแม้ว่าฉันควรทำเช่นเดียวกันกับ Java แนวคิดคือการรวบรวมไฟล์. .java คอลเล็กชั่นเดียวหรือขนาดเล็กที่หนึ่งในไฟล์มีฟังก์ชั่น main
หากคุณรู้เกี่ยวกับวิธีที่ง่ายกว่าในการสร้างไฟล์ .jar จาก *.java โดยไม่ต้องใช้อะไรบางอย่างเช่น Gradle โปรดแจ้งให้เราทราบโดยส่งคำขอดึง นี่มันค่อนข้าง verbose ...
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= โดยการรวมกันของการคาดเดาและการค้นหาออนไลน์ ฟังก์ชั่นนี้ขึ้นอยู่กับยูทิลิตี้การอัพเดทแพ็คเกจ Guessica ที่ติดตั้งและจะใช้ได้เฉพาะกับไฟล์ PKGBUILD เท่านั้น
a68g - สำหรับการรวบรวมรหัส Algol 68agda - สำหรับการรวบรวมรหัส AGDAasciidoctor - สำหรับการเขียนหน้าผู้ชายastyle - สำหรับการจัดรูปแบบรหัส C#black - สำหรับการจัดรูปแบบรหัส Pythonbrittany - สำหรับการจัดรูปแบบรหัส Haskellcargo - สำหรับการรวบรวมสนิมclang - สำหรับการจัดรูปแบบรหัส C ++ ด้วย clang-formatclojure - สำหรับการรวบรวม Clojurecrystal - สำหรับการรวบรวมคริสตัลcxx - สำหรับการรวบรวม C ++fpc - สำหรับการรวบรวมวัตถุ Pascalg++ - สำหรับการรวบรวมรหัส C ++gdc - สำหรับการรวบรวมรหัส Dghc - สำหรับการรวบรวมรหัส Haskellgo - สำหรับการรวบรวมรหัสไปgo-tools - สำหรับการจัดรูปแบบรหัสไปและจัดการการนำเข้ากับ goimportsgoogle-java-format สำหรับการจัดรูปแบบรหัส Javajad - decompile .class ไฟล์ได้ทันทีเมื่อเปิดด้วย ojava-environment - สำหรับการรวบรวมรหัส Java และการสร้างไฟล์ .jar ด้วย javac และ jarkotlin - สำหรับการรวบรวม kotlinktlint - สำหรับการจัดรูปแบบรหัส KOTLINlua - สำหรับการรวบรวม lua เป็น bytecodelua-format - สำหรับการจัดรูปแบบรหัส LUAmlton - สำหรับการรวบรวม ML มาตรฐานmono - สำหรับการรวบรวมรหัส C#ocaml - สำหรับการรวบรวมและการจัดรูปแบบรหัส OCAMLodin - สำหรับการรวบรวมโอดินpandoc - สำหรับการส่งออก Markdown ไปยัง PDFprettier - สำหรับการจัดรูปแบบ JavaScript, typeScript และ CSSpython - สำหรับการรวบรวม python เป็น bytecoderustc - สำหรับการรวบรวมสนิมrustfmt - สำหรับการจัดรูปแบบสนิมscala - สำหรับการรวบรวม Scalasdoc - สำหรับการเขียนหน้าผู้ชายtidy - สำหรับการจัดรูปแบบ XMLv - สำหรับการรวบรวมและการจัดรูปแบบรหัส Vzig - สำหรับการรวบรวมและการจัดรูปแบบรหัส ZIG o cenecutable คือ 1.5m เมื่อสร้างด้วย GCC 12 (สำหรับ Linux 64 บิต) และบีบอัดด้วย upx วิธีหนึ่งในการสร้างด้วย gccgo และ upx (ในไดเรกทอรี v2 ):
go build -mod=vendor -gccgoflags '-Os -s' -o o && upx --best --lzma o
หาก Ocenatable o ถูกสร้างขึ้นด้วย go แทนขนาดอาจเป็น 8.7m หรือเพียง 2.8m เมื่อเต็มไปด้วย 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 สามารถใช้เพื่อหลีกเลี่ยงการเขียนล็อคไฟล์สร้างไฟล์ประวัติตำแหน่งประวัติการค้นหาและเกม Highscore ถึง $XDG_CACHE_DIR/cache/o หรือ ~/.cache/o ไม่แนะนำ-m สามารถใช้เพื่อเปิดไฟล์เป็นแบบอ่านอย่างเดียว แต่ตรวจสอบเพื่อการเปลี่ยนแปลง--help สามารถใช้เพื่อรับภาพรวมอย่างรวดเร็วของคีย์ bindings ที่รองรับ--version จะพิมพ์เวอร์ชันปัจจุบันแล้วออก เมื่อโหลดไฟล์ที่มีขนาดใหญ่หรือจากดิสก์ช้าสปินเนอร์ภาพเคลื่อนไหวจะปรากฏขึ้น การดำเนินการโหลดสามารถถูกขัดจังหวะได้โดยการกด esc , q หรือ ctrl-q

ฟังก์ชั่นเชลล์นี้ใช้งานได้ใน 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 จะได้รับการเคารพเมื่อส่งออกจาก Markdown ไปยัง PDF โดยใช้ PANDOC ที่กด ctrl-space--pdf-engine=xelatex และ --listings ไฟล์ตั้งค่าสถานะดังนั้นจึงจำเป็นต้องใช้แพ็คเกจ xelatex และแพค listings การติดตั้งมาตรฐานของน้ำยางและ Pandoc ควรให้ทั้งสองอย่างRender to PDF with pandoc จะปรากฏบนเมนู ctrl-o เมื่อแก้ไขไฟล์ markdown และติดตั้ง pandoc ctrl-o เพื่อเริ่มเกมเล็ก ๆ น้อย ๆ เกี่ยวกับการให้อาหารสัตว์ด้วยเม็ดก่อนที่จะกิน อีกทางเลือกหนึ่งคือสร้าง symlink สำหรับการเริ่มต้นโดยตรงเช่น: ln -sf /usr/bin/o /usr/bin/feedgameright, down, left หรือ left, down, right อย่าง รวดเร็ว ตามด้วย down เพื่อบันทึกหรือ up เพื่อบันทึก และ ออก จุดประสงค์เดียวของทางลัดที่ผิดปกตินี้คือการช่วยหลีกเลี่ยง Emacs Pinky ที่เจ็บปวด o - สำหรับอีมูเลเตอร์เทอร์มินัลที่รองรับ VT100 อย่างน้อยog - สำหรับ 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 GUI/VTEสร้าง:
make gui
ติดตั้ง (ใช้ sudo หรือ doas ถ้าจำเป็น):
make gui-install
ctrl-f เพื่อค้นหาจากนั้นพิมพ์ t แล้วกดกลับเพื่อค้นหา t ypo ถัดไปctrl-a ไปที่ (ชั่วคราว) เพิ่มลงในพจนานุกรมหรือ ctrl-i เป็น (ชั่วคราว) จะไม่สนใจo ถูกเปิดตัวโดย symlink หรือเรียกใช้งานชื่อ nan หรือ nano ) ctrl-t จะค้นหาการพิมพ์ผิดต่อไปตัวตรวจสอบในตัวใช้รายการคำจากโครงการนี้ที่ได้รับใบอนุญาตภายใต้ใบอนุญาต MIT นี้:
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 จะไม่หยุดเทอร์มินัล