Orbiton adalah editor teks dan IDE sederhana dengan tujuan berikut dalam pikiran:
VT100 )Harap kirimkan PR jika ada yang dapat ditingkatkan untuk membantu mencapai tujuan ini.
Orbiton mungkin cocok untuk:
EDITOR=o git commit ).README.md dan TODO.mdEDITOR=o visudo dan memiliki dukungan bawaan untuk file format /etc/fstab yang rapi.ctrl-g untuk melihat jumlah kata). Tangkapan layar dari aplikasi VTE GUI (yang dapat ditemukan di direktori gtk3 ), menjalankan editor o :

Melangkah melalui instruksi perakitan dari program karat dengan memasukkan mode debug dengan menu ctrl-o dan kemudian melangkah dengan ctrl-n :

Mengedit file sumber C di og menggunakan tema "synthwave":

Ada juga tema ringan yang tersedia:


| Orbiton |
|---|
Dengan Go 1.21, versi pengembangan o dapat diinstal seperti ini:
go install github.com/xyproto/orbiton/v2@latest && mv -i ~/go/bin/orbiton ~/go/bin/o
Sesuaikan bendera mv dan jalur ~/go/bin sesuai kebutuhan. Mungkin go install akan memiliki bendera -o di masa depan.
Atau, unduh dan instal versi rilis. Misalnya, untuk Raspberry Pi 2, 3 atau 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 sebagai editor default yang dapat dieksekusi untuk gitUntuk mengatur:
git config --global core.editor o
Untuk tidak ada:
git config --global --unset core.editor
Dengan mengatur variabel lingkungan MANPAGER , dimungkinkan untuk menggunakan o untuk melihat halaman manusia:
export MANPAGER=o
Alternatif untuk melihat halaman manusia di o adalah menggunakan less :
export MANPAGER='less -s -M +Gg'
o on OpenSUSE Instal o secara manual, sampai paket opensuse ada:
git clone https://github.com/xyproto/orbiton
cd orbiton
make && sudo make install
Berikut ini tidak sepenuhnya dibutuhkan, tetapi mengatur semuanya untuk memanfaatkan o :
Tambahkan ini ke ~/.alias :
alias o=/usr/bin/o
Tambahkan ini ke ~/.profile :
export MANPAGER=/usr/bin/o
export EDITOR=/usr/bin/o
Keluar dan masuk lagi untuk mengaktifkan perubahan.
Fitur -fitur ini unik untuk o , sejauh yang saya ketahui:
ctrl-v sekali untuk menempel satu baris, tekan ctrl-v lagi untuk menempelkan sisanya.ctrl-c sekali untuk menyalin satu baris, tekan ctrl-c lagi untuk menyalin blok baris (sampai garis kosong).ctrl-r . Saat portal terbuka, salin baris di seluruh file (atau dalam file yang sama) dengan ctrl-v .ctrl-space dan kode format dengan ctrl-w , untuk berbagai bahasa pemrograman.ctrl-w atau ctrl-r , ketika sesi Rebase Git Interaktif sedang berlangsung.ctrl-l . Entertakan nomor untuk melompat ke garis atau cukup tekan return (atau t ) untuk melompat ke atas. Tekan ctrl-l dan return lagi (atau b ) untuk melompat ke bawah. Tekan c untuk melompat ke tengah.ctrl-l , melompat ke persentase (seperti 50% ) atau fraksi (seperti 0.5 atau .5 ) juga dimungkinkan. Dimungkinkan juga untuk melompat ke salah satu huruf yang disorot.main. File yang tidak ada, tetapi main.cpp dan main.o tidak ada, maka main.cpp akan dibuka.ctrl-f , memasukkan teks dan menekan return . Ganti dengan menekan tab alih -alih return , lalu masukkan teks pengganti dan tekan return . Mencari rune unicode pada formulir u+0000 juga didukung.iferr pada satu baris dalam program go atau odin dan tekan return untuk memasukkan blok yang cocok if err != nil { return ... } , berdasarkan Koron/Iferr.ctrl-t saat kursor ada di atas meja. Ini bekerja paling baik untuk tabel yang tidak terlalu lebar.ctrl-w .if , for dan while kembali ditekan.ctrl-f dua kali mencari kata di bawah kursor."Hello, World" dalam banyak bahasa pemrograman populer hanya dengan menekan ctrl-space .o main.c , menekan ctrl-w dan kemudian ctrl-space ganda..png , .jpg , .jpeg , .gif , .ico , .bmp atau .webp gambar langsung di terminal (menggunakan versi yang diperkecil dan hingga 16 warna).-p diikuti dengan nama file dapat digunakan hanya untuk menempelkan clipboard ke file baru, alih -alih mengedit file.ctrl-t dapat melompat antara header C ++ dan file sumber, saat mengedit kode C ++.ctrl-t menunjukkan editor tabel markdown, saat mengedit Markdown dan kursor berada di tabel penurunan harga.vim dan emacs , untuk file kecil.pandoc .alacritty , konsole , st , urxvt , xfce4-terminal , xterm dan zutty .NO_COLOR dapat diatur untuk menonaktifkan semua warna.ctrl-a dan ctrl-e mungkin perlu digunakan sebagai pengganti Home dan End . Dan untuk menjelajah ke atas dan ke bawah, ctrl-n dan ctrl-p dapat digunakan.go atau gccgo ./dev/tty tersedia.xclip untuk X, wl-clipboard untuk Wayland atau pbcopy untuk MacOS perlu diinstal untuk mengakses System Clipboard.+ atau :COMMIT_EDITMSG , tampilan dan nuansa akan disesuaikan untuk pesan komit git.UTF-8 , tetapi beberapa rune dapat ditampilkan secara tidak benar.n ).rn ) ke ujung garis unix (hanya n ), bila memungkinkan.0xc2 0xa0 ) dengan ruang reguler ( 0x20 ) jika memungkinkan.0xcc 0x88 ) dengan tilde biasa ( ~ ) bila memungkinkan.0xcd 0xbe ) dengan titik koma reguler ( ; ) bila memungkinkan.git rebase -i , maka baik ctrl-w atau ctrl-r akan menyentuh kata kunci untuk baris saat ini ( fixup , drop , edit dll).r (atau memiliki symlink dengan nama itu), tema default akan merah/hitam.l (atau memiliki symlink dengan nama itu), tema default akan cocok untuk latar belakang cahaya.s (atau memiliki symlink dengan nama itu), tema default akan menjadi tema "synthwave".o filename.md , tekan ctrl-space dua kali dan berhenti dengan ctrl-q .ctrl-space atau ctrl-t untuk beralih tanda centang di- - [ ] TODO item dalam Markdown..gz .ctrl-w .ctrl-f dan kemudian t untuk mencari kesalahan ketik, ctrl-n untuk pertandingan berikutnya dan kemudian ctrl-a untuk menambahkannya dan ctrl-i untuk mengabaikannya).ctrl-l telah ditekan. tmux dan mengubah ukuran jendela Emulator Terminal dapat memicu masalah rendering teks. Coba tekan esc untuk menggambar ulang teks, atau ctrl-f untuk mencari teks. Mengatur TERM dengan benar mungkin membantu.o sibuk melakukan operasi, menekan ctrl-s dapat mengunci terminal. Beberapa emulator terminal, seperti konsole , dapat dikonfigurasi untuk mematikan perilaku ini. Tekan ctrl-q untuk membuka kunci terminal lagi (bersama dengan risiko malang berhenti o ). Untuk mengesampingkan masalah ini, menu ctrl-o dapat digunakan sebagai gantinya, untuk menyimpan dan berhenti.mosh dapat menyebabkan masalah rendering teks (baik nvim dan o ).cmd-v , cmd-x dan cmd-c pada macOS hanya berfungsi saat menggunakan frontend og GUI/VTE. Untuk o , ctrl-v , ctrl-x dan ctrl-c dapat digunakan sebagai gantinya.Ada sedikit hotkey yang perlu diingat:
ctrl-s - Simpan.ctrl-q - Berhenti.ctrl-r - Buka atau tutup portal. Teks dapat ditempelkan dari portal ke file lain (atau sama) dengan ctrl-v . Untuk mode "Git Interactive Rebase" ( git rebase -i ), ini akan menyentuh kata kunci rebase sebagai gantinya.ctrl-a - Pergi ke awal teks, lalu mulai baris dan kemudian ke baris sebelumnya.ctrl-e - Pergi ke akhir baris dan kemudian ke baris berikutnyactrl-n - Gulir ke bawah 10 baris, atau pergi ke pertandingan berikutnya jika pencarian aktif. Masukkan kolom saat berada di editor tabel Markdown.ctrl-p - Gulir ke atas 10 baris, atau pergi ke pertandingan sebelumnya jika pencarian aktif. Hapus kolom kosong saat berada di editor tabel Markdown.ctrl-k - Hapus karakter ke ujung garis, lalu hapus baris.ctrl-_ Lompat ke tanda kurung atau braket yang cocok, jika kursor ada di satu, jika tidak masukkan simbol dengan mengetikkan digraph 2-huruf.ctrl-d - Hapus satu karakter.ctrl-t - Untuk C dan C ++: Lompat antara header saat ini dan file sumber. Untuk Agda dan Ivy, masukkan simbol. Untuk Markdown: Kotak centang sakelar, atau luncurkan Editor Tabel jika kursor lebih dari tabel. Untuk sisanya: Rekam dan mainkan keypresses. Tekan Esc untuk menghapus makro saat ini.ctrl-o - Buka menu perintah dengan tindakan yang dapat dilakukan.ctrl-x - Potong garis saat ini. Tekan dua kali untuk memotong blok teks (ke baris kosong berikutnya).ctrl-c - Salin satu baris. Tekan dua kali untuk menyalin blok teks.ctrl-v - Tempel satu garis yang dipangkas. Tekan dua kali untuk menempelkan beberapa garis yang tidak terputus.ctrl-space - Bangun program, render ke PDF atau Ekspor ke Halaman Man (lihat Tabel di bawah). Untuk Markdown: Sakelar kotak centang, atau tekan ganda untuk mengekspor ke HTML.ctrl-j - Bergabunglah dengan garis (atau lompat ke bookmark, jika diatur).ctrl-u -undo ( ctrl-z juga dimungkinkan, tetapi dapat melatarbelakangi aplikasi).ctrl-l - Lompat ke nomor atau persentase garis tertentu. Tekan return untuk melompat ke atas. Jika di atas, tekan return untuk melompat ke bawah. Tekan salah satu huruf di layar yang disorot untuk melompat ke lokasi itu.ctrl-f - Cari string. Pencarian berakhir dan peka case. Tekan tab alih -alih return untuk mencari dan mengganti. Untuk menemukan kesalahan ketik, cari huruf t , lalu tekan ctrl-n untuk kata berikutnya, ctrl-a untuk menambahkannya atau ctrl-i untuk mengabaikannya.ctrl-b -Lompat kembali setelah melompat ke definisi dengan ctrl-g . Toggle bookmark untuk baris saat ini, atau jika set: Lompat ke bookmark pada baris yang berbeda.ctrl-w - Format file saat ini (lihat tabel di bawah), atau kata kunci siklus git rebase. Untuk penurunan harga, format tabel di bawah kursor.ctrl-g - Lompat ke definisi, untuk beberapa bahasa pemrograman (fitur eksperimental), atau beralihnya bilah status.ctrl- - Mengomentari atau keluar blok kode.ctrl-~ - Lompat ke tanda kurung atau braket yang cocok.esc - Gambar ulang semuanya dan bersihkan pencarian terakhir. ctrl-space untuk membangun atau mengekspor file saat ini.ctrl-w untuk memformat file saat ini, dengan cara yang dipelajari. Jika file saat ini kosong, "halo, dunia!" Template akan dimasukkan, untuk beberapa ekstensi file.$(o -l) , untuk mendapatkan detail lebih lanjut. o -l dapat digunakan untuk melihat pratinjau perintah.| Bahasa pemrograman | Ekstensi file | Melompat ke kesalahan | Membangun perintah | Perintah Format |
|---|---|---|---|---|
| Ada | .adb , .gpr , .ads , .ada | WIP | WIP | WIP |
| Agda | .agda | Ya | agda -c $filename | N/a |
| Algol 68 | .a68 | WIP | a68g --compile $filename | WIP |
| Perakitan | .asm , .s , .S , .inc | Ya | yasm -f elf64 -o $output.o $filename | N/a |
| C | .c , .h | Ya | gcc $filename -o $output | clang-format -i --style=WebKit $filename |
| C ++ | .cpp , .cc , .cxx , .h , .hpp , .h++ , .c++ | Ya | g++ $filename -o $output | clang-format -i --style=WebKit $filename |
| C# | .cs | Ya | dotnet build $filename | astyle --mode=cs $filename |
| C3 | .c3 | Ya | c3c compile -o $output $filename | c3fmt --rewrite $filename |
| Clojure | .clj , .cljs , .clojure | WIP | lein compile $filename | WIP |
| Kristal | .cr | Ya | crystal build $filename --release | crystal tool format $filename |
| CSS | .css | WIP | TIDAK | prettier --tab-width 2 -w $filename |
| D | .d | Ya | dmd $filename -of$output | WIP |
| Anak panah | .dart | Ya | dart compile exe --output $output $filename | dart format $filename |
| Erlang | .erl | Ya | erlc $filename | WIP |
| Fortran77, Fortran90 | .f , .f90 | Ya | gfortran -o $output $filename | WIP |
| Garnet | .gt | WIP | garnetc -o $output $filename | WIP |
| GLSL | .glsl , .vert , .frag | WIP | glslangValidator -V -o $output $filename | WIP |
| Pergi | .go | Ya | go build $filename | goimports -w $filename |
| Kelinci | .ha | Ya | hare build $filename | N/a |
| Haskell | .hs | Ya | ghc -dynamic $filename | brittany --write-mode=inplace $filename |
| Html | .html | WIP | TIDAK | tidy -m $filename |
| Ivy | .ivy | WIP | WIP | N/a |
| Jawa | .java | Ya | javac + jar , lihat detail di bawah ini | google-java-format -a -i $filename |
| Javascript | .js | WIP | TIDAK | prettier --tab-width 4 -w $filename |
| Jakt | .jakt | WIP | jakt $filename | WIP |
| Hanya | justfile , .justfile | TIDAK | TIDAK | just --unstable --fmt -f $filename |
| Kotlin | .kt , .kts | Ya | kotlinc $filename -include-runtime -d $output.jar | ktlint -F $filename |
| Asli Kotlin | .kt , .kts | Ya | kotlinc-native -nowarn -opt -Xallocator=mimalloc -produce program -linker-option --as-needed $filename -o $output | ktlint -F $filename |
| Lua | .lua | Ya | luac -o $output.luac $filename | lua-format -i --no-keep-simple-function-one-line --column-limit=120 --indent-width=2 --no-use-tab $filename |
| Penurunan harga | .md | WIP | TIDAK | prettier --write $filename |
| Nim | .nim | WIP | nim c -o:$output $filename | WIP |
| Objektif-C | .m | Ya | clang $filename -o $output | clang-format -i --style=WebKit $filename |
| Odin | .odin | Ya | odin build $filename | N/a |
| Pascal objektif | .pas , .pp , .lpr | Ya | fpc $filename | WIP |
| Ocaml | .ml | WIP | TIDAK | ocamlformat $filename |
| Perl | .pl | Ya | perl $filename | /usr/bin/vendor_perl/perltidy -se -b -i=2 -ole=unix -bt=2 -pt=2 -sbt=2 -ce $filename |
| Python | .py | Ya | python -m py_compile $filename | black $filename |
| Rubi | .rb | TIDAK | TIDAK | rubocop -A $filename |
| Karat (dengan kargo.toml) | .rs | Ya | cargo build | rustfmt $filename |
| Karat | .rs | Ya | rustc $filename | rustfmt $filename |
| Scala | .scala | Ya | scalac $filename && jar cfe $output MainClass *.class | scalafmt $filename |
| Kerang | .sh , PKGBUILD , APKBUILD | WIP | makepkg | shfmt -s -w -i 2 -bn -ci -sr -kp $filename |
| ML standar | .sml , .fun , .mlb , .cm | Ya | mlton $filename | WIP |
| Cepat | .swift | WIP | WIP | WIP |
| Naskah | .ts | WIP | TIDAK | prettier --tab-width 4 -w $filename |
| V | .v | Ya | v build $filename | v fmt $filename |
| Xml | .xml | WIP | TIDAK | tidy -w 80 -q -i -utf8 --show-errors 0 --show-warnings no --tidy-mark no -xml -m $filename |
| Zig | .zig | Ya | zig build-exe $filename | zig fmt $filename |
/etc/fstab , file JSON dan HTML juga didukung, dan dapat diformat dengan ctrl-w .
o Akan mencoba untuk melompat ke lokasi di mana kesalahan berada dan menampilkan Success .ctrl-w akan membungkus baris dengan panjang 99.kotlinc-native tidak tersedia, perintah build ini akan digunakan sebagai gantinya: kotlinc $filename -include-runtime -d $name.jarCXX dapat diunduh di sini: Halaman Proyek GitHub untuk CXX.
| Jenis file | Ekstensi file | Perintah Bangun atau Ekspor |
|---|---|---|
| Asciidoc | .adoc | asciidoctor -b manpage (ditulis ke out.1 ) |
| SCDOC | .scd , .scdoc | scdoc (ditulis ke out.1 ) |
| Penurunan harga | .md | pandoc -N --toc -V geometry:a4paper (menulis ke $filename.pdf ) |
Ini adalah fitur baru dan membutuhkan lebih banyak pengujian.
gdb diinstal, dimungkinkan untuk memilih "Mode Debug" dari menu ctrl-o dan kemudian membangun dan melangkah melalui program dengan ctrl-space , atau mengatur breakpoint dengan ctrl-b dan lanjutkan dengan ctrl-space .Saat berada di editor tabel markdown:
tab dapat digunakan untuk pergi ke sel berikutnya, atau memasukkan sel baru jika sel terakhir tercapai.return dapat digunakan untuk melompat ke sel kosong di bawah atau untuk memasukkan baris baru di bawah ini.backspace dapat digunakan untuk menghapus huruf, tetapi juga untuk menghapus baris saat ini jika kosong.ctrl-n dapat digunakan untuk memasukkan kolom baru di sebelah kanan.ctrl-d dapat digunakan untuk menghapus kolom saat ini (jika semua sel dalam kolom kosong).esc atau ctrl-t dapat digunakan untuk menutup editor tabel markdown.ctrl-s dapat digunakan untuk menyimpan. Tema dapat dipilih dengan menu ctrl-o . Menu tema juga mencantumkan nama tema, yang dapat ditentukan dalam variabel lingkungan O_THEME .
Variabel lingkungan O_THEME adalah pengecualian untuk klaim bahwa o bebas konfigurasi, tetapi sepenuhnya opsional.
Untuk menggunakan IE. Tema Synthwave, /usr/bin/sw symlink ke /usr/bin/o dapat digunakan, atau ini dapat ditambahkan ke ~/.profile :
export O_THEME=synthwave
æ , cukup tekan ctrl-_ dan ketik ae . Untuk memasukkan µ , ketik My . git clone https://github.com/xyproto/orbiton
cd orbiton
make && sudo make install
Dan secara opsional:
make gui && sudo make gui-install
Dimungkinkan juga untuk menginstal symlink yang disarankan lebih jauh dalam dokumen ini.
Instal dependensi (gunakan doas jika diperlukan):
add_pkg git gmake go vte3
Bangun editor o dan GUI Frontend og :
gmake CXX="clang++ -w" o og
Instal kedua executable, halaman pria, ikon dan file pintasan desktop (gunakan doas jika diperlukan`):
PREFIX=/usr/local gmake install og-install
Hanya membangun dan memasang o juga berfungsi:
gmake
doas gmake install
Dimungkinkan juga untuk menginstal symlink yang disarankan lebih jauh dalam dokumen ini.
C ++
ctrl-space , cxx harus diinstal.ctrl-w , clang-format harus diinstal.Pergi
ctrl-space , kompiler go harus diinstal.ctrl-w , goimports harus diinstal.Zig
zig yang diperlukan.V
v yang diperlukan.Karat
ctrl-space , Cargo.toml harus ada dan cargo harus dipasang.ctrl-w , rustfmt harus diinstal.Haskell
ctrl-space , kompiler ghc harus diinstal.ctrl-w , brittany harus diinstal.Python
ctrl-space hanya memeriksa sintaks, tanpa mengeksekusi. Ini hanya membutuhkan python untuk tersedia.ctrl-w , black harus diinstal.Kristal
crystal yang diperlukan.Kotlin
ctrl-space , kotlinc harus diinstal. File .jar dibuat jika kompilasi berhasil.ctrl-w , ktlint harus diinstal.Jawa
ctrl-space , javac dan jar harus diinstal. File .jar dibuat jika kompilasi berhasil.ctrl-w , google-java-format harus diinstal.Scala
ctrl-space , scalac dan jar harus diinstal. File .jar dibuat jika kompilasi berhasil.java -jar main.jar . Gunakan scalac -d main.jar MyFile.scala jika Anda ingin menghasilkan toples yang dapat dieksekusi dengan scala main.jar .ctrl-w , scalafmt harus diinstal.D
ctrl-space , gdc harus tersedia.Json
fstab
fstab (biasanya /etc/fstab ) adalah fitur bawaan. Tekan saja ctrl-w . Jika Anda membutuhkan utilitas mandiri, fstabfmt tersedia.Javascript
prettier harus diinstal. Karena kotlinc $filename -include-runtime -d dibangun untuk .jar , saya pikir saya harus melakukan hal yang sama untuk Java. Idenya adalah untuk dengan mudah menyusun satu atau koleksi kecil file .java , di mana salah satu file memiliki fungsi main .
Jika Anda tahu tentang cara yang lebih mudah untuk membangun file .jar dari *.java , tanpa menggunakan sesuatu seperti Gradle, beri tahu saya dengan mengirimkan permintaan tarik. Ini cukup bertele -tele ...
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 Untuk Scala, ini adalah kode yang digunakan untuk menghasilkan file 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 tidak ditemukan scalac -d run_with_scala.jar sebagai gantinya digunakan.scala-library.jar tidak ditemukan, maka file jar yang dihasilkan akan membutuhkan scala untuk dijalankan. ctrl-t memunculkan menu dengan pilihan simbol khusus.
Ada juga jalan pintas ini:
⊤ dengan menekan ctrl-t dan kemudian t .ℕ dengan menekan ctrl-t dan kemudian n . Saat mengedit file PKGBUILD , dimungkinkan untuk menekan ctrl-o dan memilih Call Guessica untuk memperbarui pkgver= dan source= bidang, dengan kombinasi tebakan dan pencarian online. Fungsionalitas ini tergantung pada utilitas pembaruan paket GuessICA yang sedang diinstal, dan hanya akan berfungsi untuk beberapa file PKGBUILD .
a68g - Untuk mengkompilasi kode Algol 68agda - Untuk mengkompilasi kode AGDAasciidoctor - untuk halaman writing manastyle - Untuk memformat kode C#black - untuk memformat kode ularinbrittany - Untuk memformat kode Haskellcargo - Untuk menyusun karatclang - untuk memformat kode C ++ dengan clang-formatclojure - untuk menyusun clojurecrystal - Untuk mengkompilasi kristalcxx - Untuk mengkompilasi C ++fpc - Untuk kompilasi objek Pascalg++ - Untuk mengkompilasi kode C ++gdc - Untuk menyusun kode Dghc - Untuk menyusun kode Haskellgo - untuk menyusun kode Gogo-tools - Untuk memformat kode GO dan menangani impor dengan goimportsgoogle-java-format -untuk memformat kode javajad - Dekompilasi .class File kelas dengan cepat saat membukanya dengan ojava-environment - Untuk mengkompilasi kode java dan membuat file .jar dengan javac dan jarkotlin - Untuk mengkompilasi Kotlinktlint - Untuk memformat kode Kotlinlua - Untuk mengkompilasi lua ke bytecodelua-format - Untuk memformat kode LUAmlton - Untuk mengkompilasi standar MLmono - Untuk mengkompilasi kode C#ocaml - Untuk menyusun dan memformat kode OCAMLodin - Untuk mengkompilasi Odinpandoc - Untuk mengekspor penurunan harga ke PDFprettier - Untuk memformat JavaScript, TypeScript, dan CSSpython - Untuk mengkompilasi python ke bytecoderustc - Untuk menyusun karatrustfmt - untuk memformat karatscala - Untuk mengkompilasi Scalasdoc - Untuk menulis halaman priatidy - untuk memformat xmlv - Untuk menyusun dan memformat kode Vzig - Untuk menyusun dan memformat kode zig o Executable adalah 1,5m ketika dibangun dengan GCC 12 (untuk 64-bit Linux) dan dikompresi dengan upx . Salah satu cara membangun dengan gccgo dan upx (di direktori v2 ):
go build -mod=vendor -gccgoflags '-Os -s' -o o && upx --best --lzma o
Jika o Executable dibangun dengan go sebagai gantinya, ukurannya bisa 8,7m , atau hanya 2,8m saat dikemas dengan upx :
go build -mod=vendor -ldflags='-s -w' -trimpath -o o && upx --best --lzma o
Keempat cara membuka file.txt di baris 7 ini didukung:
o file.txt 7o file.txt +7o file.txt:7o file.txt+7 Ini juga berarti bahwa nama file yang mengandung + atau : ,, dan kemudian diikuti oleh angka, tidak didukung.
-f dapat digunakan untuk membuka file, terlepas dari apakah ada kunci. Ini juga dapat digunakan untuk menimpa file bersama dengan -p .-c FILENAME dapat digunakan untuk menyalin konten file yang diberikan ke clipboard dan kemudian keluar.-p FILENAME dapat digunakan untuk menempelkan isi clipboard ke FILENAME yang diberikan (jika belum ada) dan kemudian keluar.-n dapat digunakan untuk menghindari penulisan lockfile, membangun file, riwayat lokasi, riwayat pencarian, dan game HighScore hingga $XDG_CACHE_DIR/cache/o atau ~/.cache/o . Tidak direkomendasikan.-m dapat digunakan untuk membuka file sebagai baca saja, tetapi pantau untuk perubahan.--help dapat digunakan untuk mendapatkan gambaran cepat dari keybindings yang didukung.--version akan mencetak versi saat ini dan kemudian keluar. Saat memuat file yang besar atau dari disk lambat, pemintal animasi akan muncul. Operasi pemuatan dapat terganggu dengan menekan esc , q atau ctrl-q .

Fungsi shell ini berfungsi di zsh dan bash dan mungkin berguna untuk mencari dan membuka file di nomor baris yang diberikan (bekerja paling baik jika hanya ada satu file yang cocok, jika tidak akan membuka beberapa file secara berurutan):
fo () { find . -type f -wholename " * $1 " -exec o {} $2 ; ; } Jika terlalu banyak file yang ditemukan, dimungkinkan untuk berhenti membukanya dengan memilih Stop parent and quit without saving dari menu ctrl-o , yang akan keluar dari editor dan juga membunuh Proses find Orangtua.
Contoh Penggunaan:
fo somefile.cpp 123 Saat menggunakan pandoc untuk mengekspor dari markdown ke pdf:
PAPERSIZE diatur ke IE. a4 atau letter , itu akan dihormati ketika mengekspor dari penurunan harga ke PDF menggunakan pandoc, di press of ctrl-space .--pdf-engine=xelatex dan --listings digunakan, jadi xelatex dan paket listings harus tersedia. Instalasi standar Latex dan Pandoc harus menyediakan keduanya.Render to PDF with pandoc hanya akan muncul di menu ctrl-o saat mengedit file markdown dan pandoc diinstal. ctrl-o untuk memulai permainan kecil yang konyol tentang memberi makan makhluk dengan pelet sebelum dimakan. Atau, buat symlink untuk memulainya secara langsung, yaitu.: ln -sf /usr/bin/o /usr/bin/feedgame .right, down, left atau left, down, right dengan cepat diikuti oleh down untuk menghemat atau up untuk menyelamatkan dan berhenti. Satu -satunya tujuan dari jalan pintas yang tidak biasa ini adalah untuk membantu menghindari Emacs Pinky yang menyakitkan. o - Untuk emulator terminal yang mendukung setidaknya VT100og - untuk VTE GUI (opsional) # 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/vgogMembangun:
make gui
Instal (gunakan sudo atau doas , jika perlu):
make gui-install
ctrl-f untuk mencari, dan kemudian ketik t dan tekan kembali untuk mencari t ypo berikutnya.ctrl-a ke (sementara) tambahkan ke kamus atau ctrl-i ke (sementara) abaikan.o diluncurkan oleh symlink atau dieksekusi bernama nan atau nano ), ctrl-t mencari kesalahan ketik berikutnya.Spellchecker bawaan menggunakan daftar kata-kata dari proyek ini yang dilisensikan di bawah lisensi MIT ini:
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 di pengaturan profil, untuk memastikan bahwa ctrl-s tidak akan pernah membekukan terminal.