Orbiton est un éditeur de texte et un IDE simple avec les objectifs suivants à l'esprit:
VT100 )Veuillez soumettre un RP si quelque chose peut être amélioré pour atteindre ces objectifs.
Orbiton pourrait être un bon choix pour:
EDITOR=o git commit ).README.md et TODO.mdEDITOR=o visudo et a un support intégré pour les fichiers soigneusement formating /etc/fstab .ctrl-g pour voir le nombre de mots). Capture d'écran de l'application VTE GUI (qui peut être trouvée dans le répertoire gtk3 ), exécutant l'éditeur o :

En passant par les instructions d'assemblage d'un programme de rouille en entrant en mode de débogage avec le menu ctrl-o , puis en passant avec ctrl-n :

Édition d'un fichier source C dans og à l'aide du thème "SynthWave":

Il y a aussi des thèmes légers disponibles:


| orbite |
|---|
Avec Go 1.21, la version de développement d' o peut être installée comme ceci:
go install github.com/xyproto/orbiton/v2@latest && mv -i ~/go/bin/orbiton ~/go/bin/o
Ajustez les drapeaux mv et le chemin ~/go/bin au besoin. Peut-être que go install aura un drapeau -o à l'avenir.
Alternativement, téléchargez et installez une version de version. Par exemple, pour Raspberry Pi 2, 3 ou 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 en tant qu'éditeur par défaut exécutable pour gitPour définir:
git config --global core.editor o
À l'infonction:
git config --global --unset core.editor
En définissant la variable d'environnement MANPAGER , il est possible d'utiliser o pour afficher les pages de l'homme:
export MANPAGER=o
Une alternative à la visualisation des pages d'homme en o est d'utiliser less :
export MANPAGER='less -s -M +Gg'
o sur OpenSUSE Installez o manuellement jusqu'à ce qu'un ensemble OpenSuse existe:
git clone https://github.com/xyproto/orbiton
cd orbiton
make && sudo make install
Ce qui suit n'est pas strictement nécessaire, mais il prépare tout pour utiliser pleinement o :
Ajoutez ceci à ~/.alias :
alias o=/usr/bin/o
Ajoutez ceci à ~/.profile :
export MANPAGER=/usr/bin/o
export EDITOR=/usr/bin/o
Connectez-vous et à nouveau pour activer les modifications.
Ces fonctionnalités sont uniques à o , pour autant que je sache:
ctrl-v pour coller une ligne, appuyez à nouveau ctrl-v pour coller le reste.ctrl-c une fois pour copier une ligne, appuyez à nouveau sur ctrl-c pour copier un bloc de lignes (jusqu'à une ligne vide).ctrl-r . Lorsqu'un portail est ouvert, copiez des lignes à travers des fichiers (ou dans le même fichier) avec ctrl-v .ctrl-space et code de format avec ctrl-w , pour un large éventail de langages de programmation.ctrl-w ou ctrl-r , lorsqu'une session interactive GIT Rebase est en cours.ctrl-l . Entrez un numéro pour sauter sur une ligne ou appuyez simplement return (ou t ) pour sauter vers le haut. Appuyez sur ctrl-l et return à nouveau (ou b ) pour sauter vers le bas. Appuyez sur c pour sauter au centre.ctrl-l , sauter en pourcentage (comme 50% ) ou une fraction (comme 0.5 ou .5 ) est également possible. Il est également possible de passer à l'une des lettres en surbrillance.main. un fichier qui n'existe pas, mais main.cpp et main.o existe, alors main.cpp sera ouvert.ctrl-f , en entrant du texte et en appuyant sur return . Remplacer en appuyant sur tab au lieu return , puis entrez le texte de remplacement et appuyez sur return . La recherche de courses Unicode sur le formulaire u+0000 est également prise en charge.iferr sur une seule ligne dans un programme Go ou Odin et appuyez sur return pour insérer un bloc approprié if err != nil { return ... } , basé sur Koron / IFERR.ctrl-t lorsque le curseur est sur une table. Cela fonctionne mieux pour les tables qui ne sont pas trop larges.ctrl-w .if , for et while que le retour est enfoncé.ctrl-f à deux fois recherche le mot sous le curseur."Hello, World" dans de nombreux langages de programmation populaires simplement en appuyant simplement sur ctrl-space .o main.c , en appuyant sur ctrl-w , puis un double ctrl-space ..png , .jpg , .jpeg , .gif , .ico , .bmp ou .webp images directement dans le terminal (en utilisant une version réduite et jusqu'à 16 couleurs).-p suivi d'un nom de fichier peut être utilisé pour coller simplement le presse-papiers dans un nouveau fichier, au lieu de modifier un fichier.ctrl-t peut sauter entre un en-tête C ++ et un fichier source, lors de la modification du code C ++.ctrl-t montre l'éditeur de table de Markdown, lors de la modification de Markdown et que le curseur se trouve sur une table Markdown.vim et emacs , pour les petits fichiers.pandoc .alacritty , konsole , st , urxvt , xfce4-terminal , xterm et zutty .NO_COLOR peut être définie pour désactiver toutes les couleurs.ctrl-a et ctrl-e peuvent devoir être utilisés à Home et End . Et pour la navigation de haut en bas, ctrl-n et ctrl-p peuvent être utilisés.go ou gccgo ./dev/tty soit disponible.xclip pour X, wl-clipboard pour Wayland ou pbcopy pour macOS doit être installé pour accéder au presse-papiers système.+ ou :COMMIT_EDITMSG , l'apparence sera ajustée pour les messages Git Commit.UTF-8 , mais certaines runes peuvent être affichées incorrectement.n ).rn ) en terminaisons de ligne UNIX (juste n ), dans la mesure du possible.0xc2 0xa0 ) par un espace régulier ( 0x20 ) dans la mesure du possible.0xcc 0x88 ) par un Tilde ( ~ ) régulier chaque fois que possible.0xcd 0xbe ) par un point-virgule régulier ( ; ) dans la mesure du possible.git rebase -i , alors ctrl-w ou ctrl-r vélotront les mots clés pour la ligne actuelle ( fixup , drop , edit , etc.).r (ou ayez un lien de symbolique avec ce nom), le thème par défaut sera rouge / noir.l (ou avoir un lien de symbolique avec ce nom), le thème par défaut conviendra aux arrière-plans légers.s (ou avoir un lien de symbolique avec ce nom), le thème par défaut sera le thème "SynthWave".o filename.md , appuyez deux fois sur ctrl-space et quittez avec ctrl-q .ctrl-space ou ctrl-t pour basculer les cases - [ ] TODO item dans Markdown..gz .ctrl-w .ctrl-f , puis t pour rechercher une faute de frappe, ctrl-n pour la correspondance suivante, puis ctrl-a pour l'ajouter et ctrl-i pour l'ignorer).ctrl-l a été pressé. tmux et le redimensionnement de la fenêtre d'émulation de terminal peuvent déclencher des problèmes de rendu de texte. Essayez d'appuyer sur esc pour redessiner le texte, ou ctrl-f pour rechercher du texte. La définition TERM correctement pourrait aider.o est occupé à effectuer une opération, la pression ctrl-s peut verrouiller le terminal. Certains émulateurs terminaux, comme konsole , peuvent être configurés pour désactiver ce comportement. Appuyez sur ctrl-q pour déverrouiller à nouveau le terminal (avec le risque malheureux de quitter o ). Pour contourner ce problème, le menu ctrl-o peut être utilisé à la place, pour enregistrer et arrêter.mosh peut entraîner des problèmes de rendu de texte (dans nvim et o ).cmd-v , cmd-x et cmd-c sur MacOS ne fonctionne que lors de l'utilisation du frontage og GUI / VTE. Pour o , ctrl-v , ctrl-x et ctrl-c peuvent être utilisés à la place.Il y a assez peu de raccourcis clavier:
ctrl-s - SAVE.ctrl-q - QUIT.ctrl-r - Ouvrez ou fermez un portail. Le texte peut être collé à partir du portail dans un autre fichier (ou le même) avec ctrl-v . Pour le mode "Git Interactive Rebase" ( git rebase -i ), cela va à la place les mots clés Rebase.ctrl-a - Allez pour démarrer le texte, puis démarrage de la ligne puis vers la ligne précédente.ctrl-e - Allez à la fin de la ligne puis à la ligne suivantectrl-n - Faites défiler 10 lignes ou accédez à la correspondance suivante si une recherche est active. Insérez une colonne lors de l'éditeur de table de marque.ctrl-p - Faites défiler 10 lignes, ou accédez à la correspondance précédente si une recherche est active. Supprimez une colonne vide lors de l'éditeur de table de marque.ctrl-k - Supprimer les caractères à la fin de la ligne, puis supprimer la ligne.ctrl-_ - Sautez dans une parenthèse ou un support correspondant, si le curseur est sur un, sinon insérez un symbole en tapant un digraphe à 2 lettres.ctrl-d - Supprimer un seul caractère.ctrl-t - pour C et C ++: sautez entre l'en-tête actuel et le fichier source. Pour Agda et Ivy, insérez un symbole. Pour Markdown: Toggle à cocher les cases ou lancez l'éditeur de table si le curseur est sur une table. Pour le reste: enregistrez et lisez des baisses de touches. Appuyez sur Esc pour effacer la macro actuelle.ctrl-o - Ouvrez un menu de commande avec des actions qui peuvent être effectuées.ctrl-x - Coupez la ligne actuelle. Appuyez deux fois pour couper un bloc de texte (vers la ligne vide suivante).ctrl-c - Copiez une ligne. Appuyez deux fois pour copier un bloc de texte.ctrl-v - Collez une ligne taillée. Appuyez deux fois pour coller plusieurs lignes non raccordées.ctrl-space - Création du programme, rendez-vous vers PDF ou page Exporter vers l'homme (voir le tableau ci-dessous). Pour Markdown: Toggle Coched Boxs ou Double Appuyez pour exporter vers HTML.ctrl-j - Joinez les lignes (ou sautez dans le signet, si défini).ctrl-u - UNDO ( ctrl-z est également possible, mais peut se présenter l'application).ctrl-l - Sautez à un numéro ou un pourcentage de ligne spécifique. Appuyez sur return pour sauter en haut. Si en haut, appuyez sur return pour sauter en bas. Appuyez sur l'une des lettres à l'écran en surbrillance pour sauter à cet endroit.ctrl-f - Recherchez une chaîne. La recherche s'enroule et est sensible à la casse. Appuyez sur tab au lieu de return à la recherche et remplacer. Pour trouver des fautes de frappe, recherchez la lettre t , puis appuyez sur ctrl-n pour le mot suivant, ctrl-a pour l'ajouter ou ctrl-i pour l'ignorer.ctrl-b - sauter en arrière après avoir sauté à une définition avec ctrl-g . Basculez un signet pour la ligne actuelle, ou si définie: sautez dans un signet sur une autre ligne.ctrl-w - Formater le fichier actuel (voir le tableau ci-dessous), ou par cycle Git Rebase Mots-clés. Pour Markdown, formatez le tableau sous le curseur.ctrl-g - Sautez à la définition, pour certains langages de programmation (caractéristique expérimentale), ou basculez la barre d'état.ctrl- - commenter dans ou sortir un bloc de code.ctrl-~ - Sautez vers une parenthèse ou un support assorti.esc - Redeminez tout et effacez la dernière recherche. ctrl-space pour créer ou exporter le fichier actuel.ctrl-w pour formater le fichier actuel, de manière avisée. Si le fichier actuel est vide, un "bonjour, monde!" Le modèle sera inséré, pour certaines extensions de fichiers.$(o -l) , pour obtenir plus de détails. o -l peut être utilisé pour prévisualiser la commande.| Langage de programmation | Extensions de fichiers | Sauter à l'erreur | Construire la commande | Commande de format |
|---|---|---|---|---|
| Ada | .adb , .gpr , .ads , .ada | Vider | Vider | Vider |
| Agda | .agda | Oui | agda -c $filename | N / A |
| Algol 68 | .a68 | Vider | a68g --compile $filename | Vider |
| Assemblée | .asm , .s , .S , .inc | Oui | yasm -f elf64 -o $output.o $filename | N / A |
| C | .c , .h | Oui | gcc $filename -o $output | clang-format -i --style=WebKit $filename |
| C ++ | .cpp , .cc , .cxx , .h , .hpp , .h++ , .c++ | Oui | g++ $filename -o $output | clang-format -i --style=WebKit $filename |
| C # | .cs | Oui | dotnet build $filename | astyle --mode=cs $filename |
| C3 | .c3 | Oui | c3c compile -o $output $filename | c3fmt --rewrite $filename |
| Se cacher | .clj , .cljs , .clojure | Vider | lein compile $filename | Vider |
| Cristal | .cr | Oui | crystal build $filename --release | crystal tool format $filename |
| CSS | .css | Vider | Non | prettier --tab-width 2 -w $filename |
| D | .d | Oui | dmd $filename -of$output | Vider |
| Dard | .dart | Oui | dart compile exe --output $output $filename | dart format $filename |
| Erlang | .erl | Oui | erlc $filename | Vider |
| FORTRAN77, FORTRAN90 | .f , .f90 | Oui | gfortran -o $output $filename | Vider |
| Grenat | .gt | Vider | garnetc -o $output $filename | Vider |
| Glsl | .glsl , .vert , .frag | Vider | glslangValidator -V -o $output $filename | Vider |
| Aller | .go | Oui | go build $filename | goimports -w $filename |
| lièvre | .ha | Oui | hare build $filename | N / A |
| Haskell | .hs | Oui | ghc -dynamic $filename | brittany --write-mode=inplace $filename |
| Html | .html | Vider | Non | tidy -m $filename |
| Lierre | .ivy | Vider | Vider | N / A |
| Java | .java | Oui | javac + jar , voir les détails ci-dessous | google-java-format -a -i $filename |
| Javascrip | .js | Vider | Non | prettier --tab-width 4 -w $filename |
| Jakt | .jakt | Vider | jakt $filename | Vider |
| Juste | justfile , .justfile | Non | Non | just --unstable --fmt -f $filename |
| Kotlin | .kt , .kts | Oui | kotlinc $filename -include-runtime -d $output.jar | ktlint -F $filename |
| Natif de Kotlin | .kt , .kts | Oui | kotlinc-native -nowarn -opt -Xallocator=mimalloc -produce program -linker-option --as-needed $filename -o $output | ktlint -F $filename |
| Lua | .lua | Oui | luac -o $output.luac $filename | lua-format -i --no-keep-simple-function-one-line --column-limit=120 --indent-width=2 --no-use-tab $filename |
| Réduction | .md | Vider | Non | prettier --write $filename |
| Nim | .nim | Vider | nim c -o:$output $filename | Vider |
| Objectif-c | .m | Oui | clang $filename -o $output | clang-format -i --style=WebKit $filename |
| Odin | .odin | Oui | odin build $filename | N / A |
| Pascal objectif | .pas , .pp , .lpr | Oui | fpc $filename | Vider |
| Ocaml | .ml | Vider | Non | ocamlformat $filename |
| Perler | .pl | Oui | perl $filename | /usr/bin/vendor_perl/perltidy -se -b -i=2 -ole=unix -bt=2 -pt=2 -sbt=2 -ce $filename |
| Python | .py | Oui | python -m py_compile $filename | black $filename |
| Rubis | .rb | Non | Non | rubocop -A $filename |
| Rouille (avec cargo.toml) | .rs | Oui | cargo build | rustfmt $filename |
| Rouiller | .rs | Oui | rustc $filename | rustfmt $filename |
| Scala | .scala | Oui | scalac $filename && jar cfe $output MainClass *.class | scalafmt $filename |
| Coquille | .sh , PKGBUILD , APKBUILD | Vider | makepkg | shfmt -s -w -i 2 -bn -ci -sr -kp $filename |
| ML standard | .sml , .fun , .mlb , .cm | Oui | mlton $filename | Vider |
| Rapide | .swift | Vider | Vider | Vider |
| Manuscrit | .ts | Vider | Non | prettier --tab-width 4 -w $filename |
| V | .v | Oui | v build $filename | v fmt $filename |
| Xml | .xml | Vider | Non | tidy -w 80 -q -i -utf8 --show-errors 0 --show-warnings no --tidy-mark no -xml -m $filename |
| Zigou | .zig | Oui | zig build-exe $filename | zig fmt $filename |
/etc/fstab , les fichiers JSON et HTML sont également pris en charge et peuvent être formatés avec ctrl-w .
o essaiera de passer à l'emplacement où se trouve l'erreur et affichera autrement Success .ctrl-w enveloppera les lignes à une longueur de 99.kotlinc-native n'est pas disponible, cette commande de construction sera utilisée à la place: kotlinc $filename -include-runtime -d $name.jarCXX peut être téléchargé ici: page du projet GitHub pour CXX.
| Type de fichier | Extensions de fichiers | Commande de construction ou d'exportation |
|---|---|---|
| Asciidoc | .adoc | asciidoctor -b manpage (écrit à out.1 ) |
| SCDOC | .scd , .scdoc | scdoc (écrit à out.1 ) |
| Réduction | .md | pandoc -N --toc -V geometry:a4paper (écrit à $filename.pdf ) |
Il s'agit d'une toute nouvelle fonctionnalité et a besoin de plus de tests.
gdb est installé, il est possible de sélectionner "Mode de débogage" dans le menu ctrl-o , puis de construire et de parcourir un programme avec ctrl-space , ou de définir un point d'arrêt avec ctrl-b et de continuer avec ctrl-space .Dans l'éditeur de table de Markdown:
tab peut être utilisé pour aller dans la cellule suivante, ou insérer de nouvelles cellules si la dernière cellule est atteinte.return peut être utilisé pour sauter dans la cellule vide ci-dessous ou pour insérer une nouvelle ligne ci-dessous.backspace peut être utilisé pour supprimer des lettres, mais aussi pour supprimer la ligne actuelle si elle est vide.ctrl-n peut être utilisé pour insérer une nouvelle colonne à droite.ctrl-d peut être utilisé pour supprimer la colonne actuelle (si toutes les cellules de la colonne sont vides).esc ou ctrl-t peut être utilisé pour fermer l'éditeur de table Markdown.ctrl-s peut être utilisé pour enregistrer. Les thèmes peuvent être sélectionnés avec le menu ctrl-o . Le menu de thème répertorie également les noms de thème, qui peuvent être spécifiés dans la variable d'environnement O_THEME .
La variable d'environnement O_THEME est une exception à l'affirmation selon laquelle o est sans configuration, mais elle est complètement facultative.
Pour utiliser IE. Le thème de synthwave, le Symlink Symlink to /usr/bin/sw à /usr/bin/o , ou cela peut être ajouté à ~/.profile :
export O_THEME=synthwave
æ , appuyez simplement sur ctrl-_ et tapez ae . Pour insérer µ , tapez My . git clone https://github.com/xyproto/orbiton
cd orbiton
make && sudo make install
Et éventuellement:
make gui && sudo make gui-install
Il est également possible d'installer les liens symboliques qui sont suggérés plus bas dans ce document.
Installez les dépendances (utilisez doas si nécessaire):
add_pkg git gmake go vte3
Construisez à la fois l'éditeur o et la GUI Frontend og :
gmake CXX="clang++ -w" o og
Installez les deux exécutables, une page man, une icône et un fichier de raccourci de bureau (utilisez doas si nécessaire '):
PREFIX=/usr/local gmake install og-install
Construire et installer o fonctionne également:
gmake
doas gmake install
Il est également possible d'installer les liens symboliques qui sont suggérés plus bas dans ce document.
C ++
ctrl-space , cxx doit être installé.ctrl-w , clang-format doit être installé.Aller
ctrl-space , le compilateur go doit être installé.ctrl-w , goimports doivent être installés.Zigou
zig est nécessaire.V
v est nécessaire.Rouiller
ctrl-space , Cargo.toml doit exister et cargo doit être installée.ctrl-w , rustfmt doit être installé.Haskell
ctrl-space , le compilateur ghc doit être installé.ctrl-w , brittany doit être installée.Python
ctrl-space ne vérifie que la syntaxe, sans s'exécuter. Cela nécessite que python soit disponible.ctrl-w , black doit être installé.Cristal
crystal est nécessaire.Kotlin
ctrl-space , kotlinc doit être installé. Un fichier .jar est créé si la compilation a réussi.ctrl-w , ktlint doit être installé.Java
ctrl-space , javac et jar doivent être installés. Un fichier .jar est créé si la compilation a réussi.ctrl-w , google-java-format doit être installé.Scala
ctrl-space , scalac et jar doivent être installés. Un fichier .jar est créé si la compilation a réussi.java -jar main.jar . Utilisez scalac -d main.jar MyFile.scala si vous souhaitez produire un pot qui peut être exécuté avec scala main.jar .ctrl-w , scalafmt doit être installé.D
ctrl-space , gdc doit être disponible.Json
fstab
fstab (généralement /etc/fstab ) est une fonction intégrée. Appuyez simplement sur ctrl-w . Si vous avez besoin d'un utilitaire autonome, fstabfmt est disponible.Javascrip
prettier doit être installée. Puisque kotlinc $filename -include-runtime -d se construit à un .jar , je pensais que je devrais faire de même pour Java. L'idée est de compiler facilement une seule ou une petite collection de fichiers .java , où l'un des fichiers a une fonction main .
Si vous connaissez un moyen plus facile de construire un fichier .jar à partir de *.java , sans utiliser quelque chose comme Gradle, veuillez me le faire savoir en soumettant une demande de traction. C'est assez verbeux ...
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 Pour Scala, c'est le code qui est utilisé pour produire un fichier main.jar qui peut être exécuté directement avec 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 n'est pas trouvé scalac -d run_with_scala.jar est utilisé à la place.scala-library.jar n'a pas été trouvé, le fichier jar résultant aura besoin de scala pour s'exécuter. ctrl-t fait apparaître un menu avec une sélection de symboles spéciaux.
Il y a aussi ces raccourcis:
⊤ en appuyant sur ctrl-t puis t .ℕ en appuyant sur ctrl-t puis n . Lors de la modification des fichiers PKGBUILD , il est possible d'appuyer sur ctrl-o et de sélectionner Call Guessica pour mettre à jour les champs pkgver= et source= , par une combinaison de conjectures et de recherche en ligne. Cette fonctionnalité dépend de l'installation de l'utilitaire de mise à jour du package devica et ne fonctionnera que pour certains fichiers PKGBUILD .
a68g - Pour compiler le code algol 68agda - pour compilation du code Agdaasciidoctor - pour écrire des pages d'hommeastyle - pour la mise en forme du code C #black - pour la mise en forme du code pythonbrittany - pour la mise en forme du code Haskellcargo - pour compiler la rouilleclang - pour la mise en forme du code C ++ avec clang-formatclojure - pour compiler Clojurecrystal - pour compiler le cristalcxx - pour compiler C ++fpc - Pour compilé l'objet Pascalg++ - pour compiler le code C ++gdc - pour compilation du code Dghc - pour compilation du code Haskellgo - pour compiler le code GOgo-tools - pour la mise en forme du code GO et la gestion des importations avec goimportsgoogle-java-format - pour la mise en forme du code Javajad - Décompile .class des fichiers à la volée lors de l'ouverture avec ojava-environment - Pour compiler le code Java et créer des fichiers .jar avec javac et jarkotlin - pour compilation Kotlinktlint - pour la mise en forme du code kotlinlua - pour compiller Lua à Bytecodelua-format - pour la mise en forme du code LUAmlton - pour compiler ML standardmono - pour compilation C # Codeocaml - pour compiller et formater le code OCAMLodin - pour compilé Odinpandoc - pour l'exportation de Markdown vers PDFprettier - pour la mise en forme javascript, dactylographié et CSSpython - pour compiler Python à Bytecoderustc - pour compiler la rouillerustfmt - pour la mise en forme de la rouillescala - pour compilation Scalasdoc - Pour écrire des pages d'hommetidy - pour la mise en forme XMLv - Pour compiller et formatage V code Vzig - pour compiller et formater le code zig o est de 1,5 m lorsqu'il est construit avec GCC 12 (pour Linux 64 bits) et compressé avec upx . Une façon de construire avec gccgo et upx (dans le répertoire v2 ):
go build -mod=vendor -gccgoflags '-Os -s' -o o && upx --best --lzma o
Si l'exécutable o est construit avec go à la place, la taille peut être de 8,7 m , ou seulement 2,8 m lorsqu'elle est remplie de upx :
go build -mod=vendor -ldflags='-s -w' -trimpath -o o && upx --best --lzma o
Ces quatre façons d'ouvrir file.txt à la ligne 7 sont prises en charge:
o file.txt 7o file.txt +7o file.txt:7o file.txt+7 Cela signifie également que les noms de fichiers contenant + ou : puis suivis d'un nombre, ne sont pas pris en charge.
-f peut être utilisé pour ouvrir un fichier, qu'il y ait des serrures. Il peut également être utilisé pour l'écrasement des fichiers avec -p .-c FILENAME peut être utilisé pour copier le contenu du fichier donné dans le presse-papiers, puis sortir.-p FILENAME peut être utilisé pour coller le contenu du presse-papiers au FILENAME donné (s'il n'existe pas déjà) puis à quitter.-n peut être utilisé pour éviter d'écrire des fichiers de verrouillage, de construire des fichiers, l'historique de localisation, l'historique de recherche et le jeu HighScore à $XDG_CACHE_DIR/cache/o ou ~/.cache/o . Non recommandé.-m peut être utilisé pour ouvrir un fichier en lecture seule, mais le surveiller pour les modifications.--help peut être utilisé pour obtenir un aperçu rapide des embounds clés pris en charge.--version imprimera la version actuelle puis quittera. Lors du chargement des fichiers grands ou à partir d'un disque lent, un spinner animé apparaîtra. L'opération de chargement peut être interrompue en appuyant sur esc , q ou ctrl-q .

Cette fonction de shell fonctionne en zsh et bash et peut être utile pour la recherche et l'ouverture d'un fichier au numéro de ligne donné (fonctionne mieux s'il n'y a qu'un seul fichier correspondant, sinon il ouvrira plusieurs fichiers successivement):
fo () { find . -type f -wholename " * $1 " -exec o {} $2 ; ; } Si trop de fichiers sont trouvés, il est possible d'arrêter de les ouvrir en sélectionnant Stop parent and quit without saving le menu ctrl-o , qui quittera l'éditeur et tuera également le processus find des parents.
Exemple d'utilisation:
fo somefile.cpp 123 Lorsque vous utilisez pandoc pour exporter de Markdown vers PDF:
PAPERSIZE est définie sur IE. a4 ou letter , il sera respecté lors de l'exportation de Markdown vers PDF à l'aide de Pandoc, à la presse de ctrl-space .--pdf-engine=xelatex et --listings sont utilisés, de sorte que xelatex et le package listings doivent être disponibles. Une installation standard de latex et de Pandoc devrait fournir les deux.Render to PDF with pandoc n'apparaîtra que dans le menu ctrl-o lors de l'installation d'un fichier de démarque et pandoc . ctrl-o pour démarrer un petit jeu idiot sur l'alimentation des créatures avec des pellets avant d'être mangés. Alternativement, créez un lien symbolique pour le démarrer directement, c'est-à-dire: ln -sf /usr/bin/o /usr/bin/feedgame .right, down, left ou left, down, right en succession rapide , suivie de down enregistrement ou up pour enregistrer et quitter. Le seul but de ce raccourci inhabituel est d'aider à éviter le douloureux Pinky Emacs. o - pour les émulateurs terminaux qui soutiennent au moins VT100og - pour la GUI de l'EVC (facultative) # 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/vgogConstruire:
make gui
Installer (Utilisez sudo ou doas , si nécessaire):
make gui-install
ctrl-f pour rechercher, puis tapez t et appuyez sur Retour pour rechercher le prochain T YPO.ctrl-a pour (temporairement) l'ajouter au dictionnaire ou ctrl-i à l'ignorer (temporairement).o est lancé par un lien symbolique ou un exécutable nommé nan ou nano ), ctrl-t recherche la faute de frappe suivante.Le cachet orthographique intégré utilise une liste de mots de ce projet qui est sous licence 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 dans les paramètres de profil, pour vous assurer que ctrl-s ne gèlera jamais le terminal.