Orbiton é um editor de texto e um IDE simples com os seguintes objetivos em mente:
VT100 )Envie um PR se algo puder ser aprimorado para ajudar a alcançar esses objetivos.
Orbiton pode ser um bom ajuste para:
EDITOR=o git commit ).README.md e TODO.mdEDITOR=o visudo e possui suporte embutido para formatação perfeitamente /etc/fstab .ctrl-g para ver a contagem de palavras). Captura de tela do aplicativo VTE GUI (que pode ser encontrado no diretório gtk3 ), executando o o Editor:

Passando pelas instruções de montagem de um programa de ferrugem inserindo o modo de depuração com o menu ctrl-o e depois pisando com ctrl-n :

Editando um arquivo de origem C em og usando o tema "Synthwave":

Também existem temas leves disponíveis:


| Orbiton |
|---|
Com o Go 1.21, a versão de desenvolvimento de o pode ser instalada assim:
go install github.com/xyproto/orbiton/v2@latest && mv -i ~/go/bin/orbiton ~/go/bin/o
Ajuste os sinalizadores mv e o caminho ~/go/bin conforme necessário. Talvez go install tenha uma bandeira -o no futuro.
Como alternativa, faça o download e instale uma versão de lançamento. Por exemplo, para Raspberry Pi 2, 3 ou 4 em execução 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 como o editor padrão executável para gitPara definir:
git config --global core.editor o
Para desmembrar:
git config --global --unset core.editor
Ao definir a variável de ambiente MANPAGER , é possível usar o para visualizar as páginas do homem:
export MANPAGER=o
Uma alternativa para ver as páginas do homem em o é usar less :
export MANPAGER='less -s -M +Gg'
o OpenSuse Instale o manualmente, até que exista um pacote de openSUSE:
git clone https://github.com/xyproto/orbiton
cd orbiton
make && sudo make install
O seguinte não é estritamente necessário, mas define tudo para fazer o uso total de o :
Adicione isso a ~/.alias :
alias o=/usr/bin/o
Adicione isso a ~/.profile :
export MANPAGER=/usr/bin/o
export EDITOR=/usr/bin/o
Faça logon e novamente para ativar as alterações.
Esses recursos são exclusivos do o , até onde eu sei:
ctrl-v uma vez para colar uma linha, pressione ctrl-v novamente para colar o restante.ctrl-c uma vez para copiar uma linha, pressione ctrl-c novamente para copiar um bloco de linhas (até uma linha em branco).ctrl-r . Quando um portal estiver aberto, copie linhas entre arquivos (ou dentro do mesmo arquivo) com ctrl-v .ctrl-space e Format com ctrl-w , para uma ampla gama de linguagens de programação.ctrl-w ou ctrl-r , quando uma sessão interativa de rebase Git está em andamento.ctrl-l . Digite um número para pular para uma linha ou apenas pressione return (ou t ) para pular para o topo. Pressione ctrl-l e return novamente (ou b ) para pular para o fundo. Pressione c para pular para o centro.ctrl-l , também é possível pular para uma porcentagem (como 50% ) ou uma fração (como 0.5 ou .5 ). Também é possível pular para uma das letras destacadas.main. O arquivo que não existe, mas main.cpp e main.o existe, main.cpp será aberto.ctrl-f , inserindo o texto e pressionando return . Substitua pressionando tab em vez de return , digite o texto de substituição e pressione return . A busca de runas Unicode no formulário u+0000 também é suportada.iferr em uma única linha em um programa GO ou ODIN e pressione return para inserir um bloco adequado if err != nil { return ... } , com base em Koron/iferr.ctrl-t quando o cursor estiver em uma tabela. Isso funciona melhor para tabelas que não são muito amplas.ctrl-w .if , for e while quando o retorno for pressionado.ctrl-f pesquisas duas vezes a palavra sob o cursor."Hello, World" em muitas linguagens de programação populares simplesmente pressionando ctrl-space .o main.c , pressionando ctrl-w e, em seguida, um ctrl-space duplo..png , .jpg , .jpeg , .gif , .ico , .bmp ou .webp imagens diretamente no terminal (usando uma versão reduzida e até 16 cores).-p seguido de um nome de arquivo pode ser usado para apenas colar a área de transferência em um novo arquivo, em vez de editar um arquivo.ctrl-t pode pular entre um cabeçalho C ++ e o arquivo de origem, ao editar o código C ++.ctrl-t mostra o editor da tabela de marcação, ao editar o Markdown e o cursor está em uma tabela de marcha.vim e emacs , para arquivos pequenos.pandoc .alacritty , konsole , st , urxvt , xfce4-terminal , xterm e zutty .NO_COLOR pode ser definida para desativar todas as cores.ctrl-a e ctrl-e podem precisar ser usadas em vez de Home e End . E para navegar para cima e para baixo, ctrl-n e ctrl-p podem ser usados.go ou gccgo ./dev/tty esteja disponível.xclip para x, wl-clipboard para Wayland ou pbcopy para MacOS precisa ser instalado para acessar a área de transferência do sistema.+ ou :COMMIT_EDITMSG , a aparência será ajustada para mensagens com comprometimento do git.UTF-8 , mas algumas runas podem ser exibidas incorretamente.n ).rn ) em terminações de linha UNIX (apenas n ), sempre que possível.0xc2 0xa0 ) por um espaço regular ( 0x20 ) sempre que possível.0xcc 0x88 ) por um tilde regular ( ~ ) sempre que possível.0xcd 0xbe ) por um semicolon regular ( ; ) sempre que possível.git rebase -i , o ctrl-w ou ctrl-r demitirá as palavras-chave para a linha atual ( fixup , Drop, drop , edit etc).r (ou tiver um link simbólico com esse nome), o tema padrão será vermelho/preto.l (ou tiver um link simbólico com esse nome), o tema padrão será adequado para fundos leves.s (ou tiver um symblink com esse nome), o tema padrão será o tema "Synthwave".o filename.md , pressione ctrl-space duas vezes e desista com ctrl-q .ctrl-space ou ctrl-t para alternar a marca de seleção- - [ ] TODO item.gz .ctrl-w .ctrl-f e depois t procurar um erro de digitação, ctrl-n para a próxima partida e depois ctrl-a para adicioná-lo e ctrl-i para ignorá-lo).ctrl-l foi pressionado. tmux e o redimensionamento da janela do emulador de terminal pode desencadear problemas de renderização de texto. Tente pressionar esc para redesenhar o texto, ou ctrl-f para procurar texto. Definir TERM corretamente pode ajudar.o estiver ocupado realizando uma operação, pressionar ctrl-s pode bloquear o terminal. Alguns emuladores terminais, como konsole , podem ser configurados para desativar esse comportamento. Pressione ctrl-q para desbloquear o terminal novamente (juntamente com o infeliz risco de desistir o ). Para evitar esse problema, o menu ctrl-o pode ser usado, para salvar e desistir.mosh pode causar problemas de renderização de texto (tanto no nvim quanto o ).cmd-v , cmd-x e cmd-c no macOS só funciona ao usar o frontend og GUI/VTE. Para o , ctrl-v , ctrl-x e ctrl-c podem ser usados.Existem poucas teclas de atalho para lembrar:
ctrl-s - Salvar.ctrl-q - Sair.ctrl-r - Abra ou feche um portal. O texto pode ser colado do portal em outro arquivo (ou o mesmo) com ctrl-v . Para o modo "Git Interactive Rebase" ( git rebase -i ), isso pedalará as palavras -chave Rebase.ctrl-a - Vá para o início do texto, depois inicie a linha e depois para a linha anterior.ctrl-e - Vá para o final da linha e depois para a próxima linhactrl-n - Role para baixo 10 linhas ou vá para a próxima partida se uma pesquisa estiver ativa. Insira uma coluna quando estiver no editor da tabela de marcação.ctrl-p - Role para cima 10 linhas ou vá para a partida anterior se uma pesquisa estiver ativa. Remova uma coluna vazia quando estiver no editor da tabela de marcação.ctrl-k - Exclua caracteres ao final da linha e exclua a linha.ctrl-_ salte para um parêntese ou suporte correspondente, se o cursor estiver em um, insira um símbolo digitando em um DiDraph de 2 letras.ctrl-d - Exclua um único caractere.ctrl-t - para C e C ++: salte entre o cabeçalho atual e o arquivo de origem. Para AGDA e Ivy, insira um símbolo. Para o markdown: alterne as caixas de seleção ou inicie o editor de tabela se o cursor estiver acima de uma tabela. Para o resto: gravar e reproduzir as teclas de KeyPresses. Pressione Esc para limpar a macro atual.ctrl-o - Abra um menu de comando com ações que podem ser executadas.ctrl-x - Corte a linha atual. Pressione duas vezes para cortar um bloco de texto (para a próxima linha em branco).ctrl-c - Copie uma linha. Pressione duas vezes para copiar um bloco de texto.ctrl-v - Cole uma linha aparada. Pressione duas vezes para colar várias linhas não aparadas.ctrl-space - Programa Build, renderize para PDF ou exporta para a página Man (consulte a tabela abaixo). Para o marcador: alterne as caixas de seleção ou pressione duas vezes para exportar para HTML.ctrl-j - Junte linhas (ou pule para o marcador, se definido).ctrl-u -Desfazer ( ctrl-z também é possível, mas pode pagar o aplicativo).ctrl-l - Jump para um número ou porcentagem de linha específica. Pressione return para pular para o topo. Se estiver no topo, pressione return para pular para o fundo. Pressione uma das letras destacadas na tela para pular para esse local.ctrl-f - Pesquise uma string. A pesquisa envolve e é sensível ao minúsculo. Pressione tab em vez de return para pesquisar e substituir. Para encontrar erros de digitação, procure a letra t e pressione ctrl-n para a próxima palavra, ctrl-a para adicioná-la ou ctrl-i para ignorá-la.ctrl-b -Vá de volta depois de pular para uma definição com ctrl-g . Alterne um marcador para a linha atual ou se definido: pule para um marcador em uma linha diferente.ctrl-w - Formate o arquivo atual (consulte a tabela abaixo) ou o Cycle Git Rebase Palavras -chave. Para o Markdown, formate a tabela sob o cursor.ctrl-g - salte para a definição, para algumas linguagens de programação (recurso experimental) ou alterne a barra de status.ctrl- - Comente dentro ou fora de um bloco de código.ctrl-~ - Pule para um parêntese ou suporte correspondente.esc - redesenhe tudo e limpe a última pesquisa. ctrl-space para construir ou exportar o arquivo atual.ctrl-w para formatar o arquivo atual, de maneira opinativa. Se o arquivo atual estiver vazio, um "Olá, mundo!" O modelo será inserido para algumas extensões de arquivo.$(o -l) , para obter mais detalhes. o -l pode ser usado para visualizar o comando.| Linguagem de programação | Extensões de arquivo | Salte para o erro | Comando de construção | Comando de formato |
|---|---|---|---|---|
| Ada | .adb , .gpr , .ads , .ada | WIP | WIP | WIP |
| AGDA | .agda | Sim | agda -c $filename | N / D |
| Algol 68 | .a68 | WIP | a68g --compile $filename | WIP |
| Conjunto | .asm , .s , .S , .inc | Sim | yasm -f elf64 -o $output.o $filename | N / D |
| C | .c , .h | Sim | gcc $filename -o $output | clang-format -i --style=WebKit $filename |
| C ++ | .cpp , .cc , .cxx , .h , .hpp , .h++ , .c++ | Sim | g++ $filename -o $output | clang-format -i --style=WebKit $filename |
| C# | .cs | Sim | dotnet build $filename | astyle --mode=cs $filename |
| C3 | .c3 | Sim | c3c compile -o $output $filename | c3fmt --rewrite $filename |
| Clojure | .clj , .cljs , .clojure | WIP | lein compile $filename | WIP |
| Cristal | .cr | Sim | crystal build $filename --release | crystal tool format $filename |
| CSS | .css | WIP | Não | prettier --tab-width 2 -w $filename |
| D | .d | Sim | dmd $filename -of$output | WIP |
| Dardo | .dart | Sim | dart compile exe --output $output $filename | dart format $filename |
| Erlang | .erl | Sim | erlc $filename | WIP |
| Fortran77, fortran90 | .f , .f90 | Sim | gfortran -o $output $filename | WIP |
| Granada | .gt | WIP | garnetc -o $output $filename | WIP |
| Glsl | .glsl , .vert , .frag | WIP | glslangValidator -V -o $output $filename | WIP |
| Ir | .go | Sim | go build $filename | goimports -w $filename |
| lebre | .ha | Sim | hare build $filename | N / D |
| Haskell | .hs | Sim | ghc -dynamic $filename | brittany --write-mode=inplace $filename |
| Html | .html | WIP | Não | tidy -m $filename |
| Hera | .ivy | WIP | WIP | N / D |
| Java | .java | Sim | javac + jar , veja os detalhes abaixo | google-java-format -a -i $filename |
| JavaScript | .js | WIP | Não | prettier --tab-width 4 -w $filename |
| Jakt | .jakt | WIP | jakt $filename | WIP |
| Apenas | justfile , .justfile | Não | Não | just --unstable --fmt -f $filename |
| Kotlin | .kt , .kts | Sim | kotlinc $filename -include-runtime -d $output.jar | ktlint -F $filename |
| Kotlin Nativo | .kt , .kts | Sim | kotlinc-native -nowarn -opt -Xallocator=mimalloc -produce program -linker-option --as-needed $filename -o $output | ktlint -F $filename |
| Lua | .lua | Sim | luac -o $output.luac $filename | lua-format -i --no-keep-simple-function-one-line --column-limit=120 --indent-width=2 --no-use-tab $filename |
| Markdown | .md | WIP | Não | prettier --write $filename |
| Nim | .nim | WIP | nim c -o:$output $filename | WIP |
| Objective-C | .m | Sim | clang $filename -o $output | clang-format -i --style=WebKit $filename |
| Odin | .odin | Sim | odin build $filename | N / D |
| Pascal objetivo | .pas , .pp , .lpr | Sim | fpc $filename | WIP |
| OCAML | .ml | WIP | Não | ocamlformat $filename |
| Perl | .pl | Sim | perl $filename | /usr/bin/vendor_perl/perltidy -se -b -i=2 -ole=unix -bt=2 -pt=2 -sbt=2 -ce $filename |
| Python | .py | Sim | python -m py_compile $filename | black $filename |
| Rubi | .rb | Não | Não | rubocop -A $filename |
| Ferrugem (com carga.toml) | .rs | Sim | cargo build | rustfmt $filename |
| Ferrugem | .rs | Sim | rustc $filename | rustfmt $filename |
| Scala | .scala | Sim | scalac $filename && jar cfe $output MainClass *.class | scalafmt $filename |
| Concha | .sh , PKGBUILD , APKBUILD | WIP | makepkg | shfmt -s -w -i 2 -bn -ci -sr -kp $filename |
| ML padrão | .sml , .fun , .mlb , .cm | Sim | mlton $filename | WIP |
| Swift | .swift | WIP | WIP | WIP |
| TypeScript | .ts | WIP | Não | prettier --tab-width 4 -w $filename |
| V | .v | Sim | v build $filename | v fmt $filename |
| Xml | .xml | WIP | Não | tidy -w 80 -q -i -utf8 --show-errors 0 --show-warnings no --tidy-mark no -xml -m $filename |
| Zig | .zig | Sim | zig build-exe $filename | zig fmt $filename |
/etc/fstab , os arquivos JSON e HTML também são suportados e podem ser formatados com ctrl-w .
o tentará pular para o local onde o erro está e exibirá Success .ctrl-w Word encerrará as linhas para um comprimento de 99.kotlinc-native não estiver disponível, este comando de compilação será usado: kotlinc $filename -include-runtime -d $name.jarO CXX pode ser baixado aqui: página do projeto do github para CXX.
| Tipo de arquivo | Extensões de arquivo | Comando de construção ou exportação |
|---|---|---|
| Asciidoc | .adoc | asciidoctor -b manpage (grava para out.1 ) |
| SCDOC | .scd , .scdoc | scdoc (grava para out.1 ) |
| Markdown | .md | pandoc -N --toc -V geometry:a4paper (grava em $filename.pdf ) |
Este é um recurso novo e precisa de mais testes.
gdb estiver instalado, é possível selecionar "Modo de depuração" no menu ctrl-o e depois construir e passar por um programa com ctrl-space , ou definir um ponto de interrupção com ctrl-b e continuar com ctrl-space .Enquanto estiver no editor de tabela de marcação:
tab pode ser usada para ir para a próxima célula ou inserir novas células se a última célula for atingida.return pode ser usado para pular para a célula em branco abaixo ou inserir uma nova linha abaixo.backspace pode ser usado para excluir letras, mas também para excluir a linha atual, se estiver vazia.ctrl-n pode ser usado para inserir uma nova coluna à direita.ctrl-d pode ser usado para excluir a coluna atual (se todas as células da coluna estiverem vazias).esc ou ctrl-t pode ser usado para fechar o editor de tabela de marcação.ctrl-s pode ser usado para salvar. Os temas podem ser selecionados com o menu ctrl-o . O menu temático também lista os nomes do tema, que podem ser especificados na variável de ambiente O_THEME .
A variável de ambiente O_THEME é uma exceção à alegação de que o é livre de configuração, mas é completamente opcional.
Para usar o IE. O tema Synthwave, o symlink /usr/bin/sw para /usr/bin/o pode ser usado, ou isso pode ser adicionado a ~/.profile :
export O_THEME=synthwave
æ , basta pressionar ctrl-_ e digitar ae . Para inserir µ , digite My . git clone https://github.com/xyproto/orbiton
cd orbiton
make && sudo make install
E opcionalmente:
make gui && sudo make gui-install
Também é possível instalar os links simbólicos que são sugeridos mais abaixo neste documento.
Instale dependências (use doas , se necessário):
add_pkg git gmake go vte3
Construa o editor o e o Frontend da GUI og :
gmake CXX="clang++ -w" o og
Instale os dois executáveis, uma página do homem, um ícone e um arquivo de atalho de mesa (use doas se necessário`):
PREFIX=/usr/local gmake install og-install
Basta construir e instalar o também funciona:
gmake
doas gmake install
Também é possível instalar os links simbólicos que são sugeridos mais abaixo neste documento.
C ++
ctrl-space , cxx deve ser instalado.ctrl-w , clang-format deve ser instalado.Ir
ctrl-space , o compilador go deve ser instalado.ctrl-w , goimports deve ser instalado.Zig
zig é necessário.V
v é necessário.Ferrugem
ctrl-space , Cargo.toml deve existir e cargo deve ser instalada.ctrl-w , rustfmt deve ser instalado.Haskell
ctrl-space , o compilador ghc deve ser instalado.ctrl-w , brittany deve ser instalada.Python
ctrl-space verifica apenas a sintaxe, sem executar. Isso exige que python esteja disponível.ctrl-w , black deve ser instalado.Cristal
crystal é necessário.Kotlin
ctrl-space , kotlinc deve ser instalado. Um arquivo .jar é criado se a compilação for bem -sucedida.ctrl-w , ktlint deve ser instalado.Java
ctrl-space , javac e jar devem ser instalados. Um arquivo .jar é criado se a compilação for bem -sucedida.ctrl-w , google-java-format deve ser instalado.Scala
ctrl-space , scalac e jar devem ser instalados. Um arquivo .jar é criado se a compilação for bem -sucedida.java -jar main.jar . Use scalac -d main.jar MyFile.scala se você deseja produzir um frasco que possa ser executado com scala main.jar .ctrl-w , scalafmt deve ser instalado.D
ctrl-space , gdc deve estar disponível.JSON
fstab
fstab (geralmente /etc/fstab ) é um recurso interno. Basta pressionar ctrl-w . Se você precisar de um utilitário independente, fstabfmt está disponível.JavaScript
prettier deve ser instalado. Como kotlinc $filename -include-runtime -d se constrói para um .jar , eu acho que devo fazer o mesmo com Java. A idéia é compilar facilmente uma única ou uma pequena coleção de arquivos .java , onde um dos arquivos tem uma função main .
Se você souber sobre uma maneira mais fácil de criar um arquivo .jar a partir de *.java , sem usar algo como Gradle, entre em contato enviando uma solicitação de tração. Isso é muito detalhado ...
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 Para Scala, este é o código usado para produzir um arquivo main.jar que pode ser executado diretamente com 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ão for encontrado scalac -d run_with_scala.jar é usado.scala-library.jar , o arquivo jar resultante precisará de scala para ser executado. ctrl-t traz um menu com uma seleção de símbolos especiais.
Existem também esses atalhos:
⊤ pressionando ctrl-t e depois t .ℕ pressionando ctrl-t e depois n . Ao editar arquivos PKGBUILD , é possível pressionar ctrl-o e selecionar Call Guessica para atualizar o pkgver= e source= campos, por uma combinação de adivinhação e pesquisa on-line. Essa funcionalidade depende do utilitário de atualização do pacote de adivinhação que está sendo instalado e só funcionará para alguns arquivos PKGBUILD .
a68g - para compilar o código Algol 68agda - Para compilar o código AGDAasciidoctor - para escrever páginasastyle - Para formatar código C#black - para formatar o código Pythonbrittany - para formatar o código Haskellcargo - para compilar ferrugemclang - para formatar código C ++ com clang-formatclojure - para compilar Clojurecrystal - para compilar cristalcxx - para compilar C ++fpc - para compilar Pascalg++ - para compilar o código C ++gdc - para compilar o código Dghc - para compilar o código Haskellgo - para compilar o código GOgo-tools - Para formatar código GO e manusear importações com goimportsgoogle-java-format -para formatar código Javajad o Decompile .classjava-environment - Para compilar o código Java e criar arquivos .jar com javac e jarkotlin - para compilar Kotlinktlint - Para formatar o código Kotlinlua - para compilar Lua em Bytecodelua-format - Para formatar o código Luamlton - Para compilar ML padrãomono - para compilar o código C#ocaml - Para compilar e formatar o código OCAMLodin - para compilar Odinpandoc - para exportar Markdown para PDFprettier - para formatar JavaScript, TypeScript e CSSpython - Para compilar Python em Bytecoderustc - para compilar ferrugemrustfmt - para formatar ferrugemscala - para compilar scalasdoc - para escrever páginastidy - para formatar xmlv - para compilar e formatar o código Vzig - para compilar e formatar o código ZIG o é de 1,5 m quando construído com o GCC 12 (para Linux de 64 bits) e comprimido com upx . Uma maneira de construir com gccgo e upx (no diretório v2 ):
go build -mod=vendor -gccgoflags '-Os -s' -o o && upx --best --lzma o
Se o executável o for construído com go , o tamanho pode ser de 8,7m ou apenas 2,8m quando embalado com upx :
go build -mod=vendor -ldflags='-s -w' -trimpath -o o && upx --best --lzma o
Essas quatro maneiras de abrir file.txt na linha 7 são suportadas:
o file.txt 7o file.txt +7o file.txt:7o file.txt+7 Isso também significa que os nomes de arquivos que contêm + ou : e depois seguidos por um número, não são suportados.
-f pode ser usado para abrir um arquivo, independentemente de se houver algum bloqueio. Também pode ser usado para substituir arquivos junto com -p .-c FILENAME pode ser usado para copiar o conteúdo do arquivo fornecido para a área de transferência e depois sair.-p FILENAME pode ser usado para colar o conteúdo da área de transferência no FILENAME fornecido (se ainda não existir) e depois sair.-n pode ser usado para evitar gravar arquivos, criar arquivos, histórico de localização, histórico de pesquisa e o jogo Highscore para $XDG_CACHE_DIR/cache/o ou ~/.cache/o . Não recomendado.-m pode ser usado para abrir um arquivo como somente leitura, mas monitorá-lo para alterações.--help pode ser usado para obter uma visão geral rápida dos pedidos de chaves suportados.--version imprimirá a versão atual e depois sairá. Ao carregar arquivos grandes ou de um disco lento, um spinner animado aparecerá. A operação de carregamento pode ser interrompida pressionando esc , q ou ctrl-q .

Essa função do shell funciona em zsh e bash e pode ser útil para procurar e abrir um arquivo no número da linha especificada (funciona melhor se houver apenas um arquivo correspondente, se não abrirá vários arquivos em sucessão):
fo () { find . -type f -wholename " * $1 " -exec o {} $2 ; ; } Se muitos arquivos forem encontrados, é possível parar de abri-los selecionando Stop parent and quit without saving no menu ctrl-o , que deixará o editor e também matará o processo find os pais.
Exemplo de uso:
fo somefile.cpp 123 Ao usar pandoc para exportar de Markdown para PDF:
PAPERSIZE for definida como IE. a4 ou letter , será respeitado ao exportar de Markdown para PDF usando Pandoc, na imprensa do ctrl-space .--pdf-engine=xelatex e --listings são usados, portanto, o pacote xelatex e o pacote listings precisam estar disponíveis. Uma instalação padrão de látex e pandoc deve fornecer os dois.Render to PDF with pandoc aparecerá apenas no menu ctrl-o ao editar um arquivo de marcação e pandoc está instalado. ctrl-o para iniciar um pequeno jogo bobo sobre alimentação de criaturas com pellets antes de serem comidas. Como alternativa, crie um link simbólico para iniciá -lo diretamente, isto é.: ln -sf /usr/bin/o /usr/bin/feedgame .right, down, left ou left, down, right em rápida sucessão, seguida de down para salvar ou up para salvar e desistir. O único objetivo deste atalho incomum é ajudar a evitar o doloroso Emacs Pinky. o - para emuladores terminais que suportam pelo menos VT100og - para a GUI do VTE (opcional) # 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/vgogConstruir:
make gui
Instale (use sudo ou doas , se necessário):
make gui-install
ctrl-f para pesquisar e digite t e pressione Retornar para pesquisar o próximo T YPO.ctrl-a para (temporariamente) adicione-o ao dicionário ou ctrl-i para (temporariamente) ignorá-lo.o é lançado por um symblink ou executável chamado nan ou nano ), ctrl-t procura o próximo erro de digitação.O verificador ortográfico embutido usa uma lista de palavras deste projeto licenciado sob esta licença do 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 nas configurações do perfil, para garantir que ctrl-s nunca congelasse o terminal.