Orbiton是文本编辑器,也是一个简单的IDE,考虑到以下目标:
VT100的范围内)如果可以改进任何东西以帮助实现这些目标,请提交公关。
Orbiton可能非常适合:
EDITOR=o git commit )。README.md和TODO.md文件。EDITOR=o visudo ,并且具有内置的支持,用于整洁的格式化/etc/fstab文件。ctrl-g查看单词计数来切换状态栏)。 VTE GUI应用程序的屏幕截图(可以在gtk3目录中找到),运行o编辑器:

通过使用ctrl-o菜单输入调试模式,然后使用ctrl-n踏入rust程序的汇编指令:

使用“ Synthwave”主题编辑og中的C源文件:

也有轻松的主题:


| 轨道 |
|---|
使用GO 1.21,可以像这样安装o的开发版本:
go install github.com/xyproto/orbiton/v2@latest && mv -i ~/go/bin/orbiton ~/go/bin/o
根据需要调整mv标志和~/go/bin路径。也许go install会有一个-o标志。
或者,下载并安装发行版。例如,对于Raspberry Pi 2、3或4运行Linux:
curl -sL 'https://github.com/xyproto/orbiton/releases/download/v2.68.6/orbiton-2.68.6-linux_armv7_static.tar.xz' | tar JxC /tmp && sudo install -Dm755 /tmp/orbiton-2.68.6-linux_armv7_static/o /usr/bin/o && sudo install -Dm644 /tmp/orbiton-2.68.6-linux_armv7_static/o.1.gz /usr/share/man/man1/o.1.gz
o设置为git的默认编辑器可执行设置:
git config --global core.editor o
不设置:
git config --global --unset core.editor
通过设置MANPAGER环境变量,可以使用o来查看人页:
export MANPAGER=o
在o中查看人页面的一种替代方法是less使用:
export MANPAGER='less -s -M +Gg'
o手动安装o ,直到存在opensuse包:
git clone https://github.com/xyproto/orbiton
cd orbiton
make && sudo make install
并非严格需要以下内容,但它设定了所有内容以充分利用o :
将其添加到~/.alias :
alias o=/usr/bin/o
将其添加到~/.profile :
export MANPAGER=/usr/bin/o
export EDITOR=/usr/bin/o
注销并再次激活更改。
据我所知,这些功能是o的独特之处:
ctrl-v一次粘贴一行,然后按ctrl-v再次粘贴其余部分。ctrl-c一次复制一行,再次按ctrl-c复制一条线(直到空白行)。ctrl-r打开或关闭门户。打开门户时,用ctrl-v复制跨文件(或同一文件中)的行。ctrl-space和格式代码构建代码,并使用ctrl-w构建多种编程语言。ctrl-w或ctrl-r循环GIT重新构想关键字。ctrl-l跳到一条线。要么输入一个数字跳到一条线,要么只按return (或t )跳到顶部。按ctrl-l ,然后再次return (或b )跳到底部。按c跳到中心。ctrl-l的文件中的特定行时,也可以跳到百分比(例如50% )或分数(例如0.5或.5 )。也可以跳到突出显示的字母之一。main.不存在的文件,但是main.cpp和main.o确实存在,然后将打开main.cpp 。ctrl-f ,输入文本并按return搜索。通过按下tab而不是return替换,然后输入替换文本,然后按return 。还支持搜索u+0000表格上的Unicode runes。iferr ,然后按return以根据Koron/Iferr插入合适的if err != nil { return ... }块。ctrl-t使用内置的Markdown表编辑器。这最适合不太宽的桌子。ctrl-w来格式化标记表。if , for ,for while返回时的语句中。ctrl-f两次搜索光标下的单词。ctrl-space ,就可以用许多流行的编程语言编译"Hello, World" 。o main.c ,按ctrl-w ,然后使用双ctrl-space来创建,构建和运行一个简单的程序。.png , .jpg , .jpeg , .gif , .ico , .bmp或.webp映像直接在终端中(使用缩放版本和最多16种颜色)。-p标志之后的文件名可用于将剪贴板粘贴到新文件,而不是编辑文件。ctrl-t可以在C ++标头和源文件之间跳跃。ctrl-t显示了Markdown表编辑器,当编辑Markdown和光标在Markdown表上。vim和emacs更快。pandoc呈现给PDF的文本。alacritty , konsole , st , urxvt , xfce4-terminal , xterm和zutty测试。NO_COLOR环境变量设置为禁用所有颜色。ctrl-a和ctrl-e之类的Hotkeys而不是Home和End 。为了上下浏览,可以使用ctrl-n和ctrl-p 。go或gccgo编译。/dev/tty可用。wl-clipboard的xclip ,或者需要安装MACOS的pbcopy以访问系统剪贴板。+或:前缀。COMMIT_EDITMSG ,则将调整外观和感觉,以供GIT提交消息。UTF-8 ,但某些符文可能会错误地显示。n )。rn )转换为Unix行末尾(Just n )。0x20 )的非破坏空间( 0xc2 0xa0 )。0xcc 0x88 )替换为常规式tilde( ~ )。; )替换看起来像半隆( 0xcd 0xbe )的希腊问号。git rebase -i启动了交互式折叠,则ctrl-w或ctrl-r将循环当前行的关键字( fixup , drop ,DROV, edit等)。r开头的单词(或与该名称具有符号链接),则默认主题将为红色/黑色。l开头的单词(或与该名称具有符号链接),则默认主题适用于光背景。s开头的单词(或与该名称具有符号链接),则默认主题将是“ Synthwave”主题。o filename.md ,两次按ctrl-space ,然后使用ctrl-q退出。ctrl-space或ctrl-t在Markdown中的- [ ] TODO item box中切换复选标记。.gz扩展为结尾的GZPICTION文本文件或MAN页面。ctrl-w格式化代码时,可以为Java和Kotlin组织进口。ctrl-f ,然后t搜索错字, ctrl-n进行下一场比赛,然后添加ctrl-a并ctrl-i以忽略它)。ctrl-l时,可以直接跳入屏幕上的突出显示字母。 tmux和调整终端模拟器窗口大小可能触发文本渲染问题。尝试按esc重绘文本,或ctrl-f以搜索文本。正确设置TERM可能会有所帮助。o忙于执行操作,则按ctrl-s可以锁定终端。一些终端模拟器(例如konsole )可以配置为关闭此行为。按ctrl-q再次解锁终端(不幸的是退出o的风险)。要回避此问题,可以使用ctrl-o菜单来保存和退出。mosh可能会导致文本渲染问题(在nvim和o中)。cmd-v , cmd-x和cmd-c仅在使用og GUI/VTE前端时起作用。对于o , ctrl-v , ctrl-x和ctrl-c可以使用。有很少的热键要记住:
ctrl-s保存。ctrl-q退出。ctrl-r打开或关闭门户。文本可以从门户网站粘贴到使用ctrl-v的另一个(或同一)文件中。对于“ git Interactive rebase”模式( git rebase -i ),这将循环循环折叠关键字。ctrl-a转到文本开始,然后开始行,然后转到上一行。ctrl-e转到线的结尾,然后进入下一行ctrl-n向下滚动10行,或者如果搜索活动处于活动状态,请转到下一场比赛。在Markdown表编辑器中插入列。ctrl-p滚动10行,或者如果搜索活动活动,请转到上一场比赛。在Markdown表编辑器中删除空列。ctrl-k将字符删除到行末尾,然后删除行。ctrl-_跳到匹配的括号或括号,如果光标在一个上,则通过在2个字母的Digraph中键入符号,否则会插入符号。ctrl-d删除一个字符。ctrl-t对于C和C ++:在当前标题和源文件之间跳跃。对于Agda和Ivy,插入一个符号。对于MARKDOWN:切换复选框,或者如果光标在表格上,请启动表编辑器。其余的:记录并播放按键。按Esc清除当前的宏。ctrl-o打开一个可以执行的操作的命令菜单。ctrl-x切割当前线。按两次将文本块切割(到下一个空白行)。ctrl-c复制一行。按两次复制文本块。ctrl-v粘贴一条修剪线。按两次粘贴多个未修剪线。ctrl-space - 构建程序,渲染到PDF或导出到MAN页面(请参见下表)。用于MARKDOWN:切换复选框,或双按以导出到HTML。ctrl-j连接行(或跳到书签,如果设置为书签)。ctrl-u -undo(也可以使用ctrl-z ,但可以背景应用程序)。ctrl-l跳到特定的行号或百分比。按return以跳到顶部。如果在顶部,请按return以跳到底部。按下突出显示的屏幕上的字母跳到该位置。ctrl-f搜索字符串。搜索缠绕着案例敏感。按选项tab ,而不是return搜索和替换。要查找错别字,请搜索字母t ,然后按ctrl-n以获取下一个单词, ctrl-a将其添加或ctrl-i忽略。ctrl-b跳到ctrl-g的定义后跳回去。为当前行切换书签,或者如果设置:跳到另一行上的书签。ctrl-w格式化当前文件(请参见下表)或循环git rebase关键字。对于Markdown,将光标下方的表格式化。ctrl-g对于某些编程语言(实验功能)或切换状态栏。ctrl- - 注释或输入一个代码块。ctrl-~跳到匹配的括号或括号。esc重新绘制所有内容并清除最后的搜索。 ctrl-space构建或导出当前文件。ctrl-w以自以为是的方式将当前文件格式化。如果当前文件为空,则是“ Hello,World!”对于某些文件扩展,将插入模板。$(o -l)从命令行运行最后一个叫做的命令,以获取更多详细信息。 o -l可用于预览命令。| 编程语言 | 文件扩展 | 跳到错误 | 构建命令 | 格式命令 |
|---|---|---|---|---|
| 艾达 | .adb , .gpr , .ads , .ada | WIP | WIP | WIP |
| Agda | .agda | 是的 | agda -c $filename | N/A。 |
| Algol 68 | .a68 | WIP | a68g --compile $filename | WIP |
| 集会 | .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 | WIP | lein compile $filename | WIP |
| 水晶 | .cr | 是的 | crystal build $filename --release | crystal tool format $filename |
| CSS | .css | WIP | 不 | prettier --tab-width 2 -w $filename |
| d | .d | 是的 | dmd $filename -of$output | WIP |
| 镖 | .dart | 是的 | dart compile exe --output $output $filename | dart format $filename |
| Erlang | .erl | 是的 | erlc $filename | WIP |
| Fortran77,Fortran90 | .f , .f90 | 是的 | gfortran -o $output $filename | WIP |
| 石榴石 | .gt | WIP | garnetc -o $output $filename | WIP |
| glsl | .glsl , .vert , .frag | WIP | glslangValidator -V -o $output $filename | WIP |
| 去 | .go | 是的 | go build $filename | goimports -w $filename |
| 野兔 | .ha | 是的 | hare build $filename | N/A。 |
| 哈斯克尔 | .hs | 是的 | ghc -dynamic $filename | brittany --write-mode=inplace $filename |
| html | .html | WIP | 不 | tidy -m $filename |
| 常春藤 | .ivy | WIP | WIP | N/A。 |
| 爪哇 | .java | 是的 | javac + jar ,请参见下面的详细信息 | google-java-format -a -i $filename |
| JavaScript | .js | WIP | 不 | prettier --tab-width 4 -w $filename |
| jakt | .jakt | WIP | jakt $filename | WIP |
| 只是 | justfile , .justfile | 不 | 不 | just --unstable --fmt -f $filename |
| 科特林 | .kt , .kts | 是的 | kotlinc $filename -include-runtime -d $output.jar | ktlint -F $filename |
| 科特林本地人 | .kt , .kts | 是的 | kotlinc-native -nowarn -opt -Xallocator=mimalloc -produce program -linker-option --as-needed $filename -o $output | ktlint -F $filename |
| 卢阿 | .lua | 是的 | luac -o $output.luac $filename | lua-format -i --no-keep-simple-function-one-line --column-limit=120 --indent-width=2 --no-use-tab $filename |
| 降价 | .md | WIP | 不 | prettier --write $filename |
| 尼姆 | .nim | WIP | nim c -o:$output $filename | WIP |
| Objective-C | .m | 是的 | clang $filename -o $output | clang-format -i --style=WebKit $filename |
| 奥丁 | .odin | 是的 | odin build $filename | N/A。 |
| 客观帕斯卡 | .pas , .pp , .lpr | 是的 | fpc $filename | WIP |
| OCAML | .ml | WIP | 不 | ocamlformat $filename |
| 珀尔 | .pl | 是的 | perl $filename | /usr/bin/vendor_perl/perltidy -se -b -i=2 -ole=unix -bt=2 -pt=2 -sbt=2 -ce $filename |
| Python | .py | 是的 | python -m py_compile $filename | black $filename |
| 红宝石 | .rb | 不 | 不 | rubocop -A $filename |
| 锈(带货物。汤姆尔) | .rs | 是的 | cargo build | rustfmt $filename |
| 锈 | .rs | 是的 | rustc $filename | rustfmt $filename |
| Scala | .scala | 是的 | scalac $filename && jar cfe $output MainClass *.class | scalafmt $filename |
| 壳 | .sh , PKGBUILD , APKBUILD | WIP | makepkg | shfmt -s -w -i 2 -bn -ci -sr -kp $filename |
| 标准ML | .sml , .fun , .mlb , .cm | 是的 | mlton $filename | WIP |
| 迅速 | .swift | WIP | WIP | WIP |
| 打字稿 | .ts | WIP | 不 | prettier --tab-width 4 -w $filename |
| v | .v | 是的 | v build $filename | v fmt $filename |
| XML | .xml | WIP | 不 | tidy -w 80 -q -i -utf8 --show-errors 0 --show-warnings no --tidy-mark no -xml -m $filename |
| ZIG | .zig | 是的 | zig build-exe $filename | zig fmt $filename |
/etc/fstab ,JSON和HTML文件也得到支持,可以使用ctrl-w格式化。
o将尝试跳到错误的位置,否则会显示Success 。ctrl-w将线条将线包装为99。kotlinc-native ,则将使用此构建命令: kotlinc $filename -include-runtime -d $name.jarCXX可以在此处下载:CXX的GitHub项目页面。
| 文件类型 | 文件扩展 | 构建或出口命令 |
|---|---|---|
| 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可用于关闭Markdown表编辑器。ctrl-s可用于保存。 可以使用ctrl-o菜单选择主题。主题菜单还列出了主题名称,可以在O_THEME环境变量中指定。
O_THEME环境变量是O_THEME环境变量的例外,即o不含配置,但它是完全可选的。
用于使用IE。可以使用Synthwave主题, /usr/bin/sw符号链接到/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
也可以安装本文档中进一步建议的符号链接。
安装依赖项(需要使用doas ):
add_pkg git gmake go vte3
同时构建编辑器o和GUI前端og :
gmake CXX="clang++ -w" o og
同时安装可执行文件,一个人页面,图标和桌面快捷方式文件(如果需要时使用doas ):
PREFIX=/usr/local gmake install og-install
只是构建和安装o也有效:
gmake
doas gmake install
也可以安装本文档中进一步建议的符号链接。
C ++
ctrl-space构建代码,必须安装cxx 。ctrl-w的格式代码,必须安装clang-format 。去
ctrl-space构建代码,必须安装go编译器。ctrl-w进行格式化代码,必须安装goimports 。ZIG
zig命令。v
v命令。锈
ctrl-space的建筑代码,必须存在Cargo.toml 。必须安装cargo 。ctrl-w的格式代码,必须安装rustfmt 。哈斯克尔
ctrl-space构建当前文件,必须安装ghc编译器。ctrl-w的格式代码,必须安装brittany 。Python
ctrl-space仅检查语法,而无需执行。这只需要python可用。ctrl-w格式化代码,必须安装black 。水晶
crystal命令。科特林
ctrl-space构建代码,必须安装kotlinc 。如果汇编成功,则创建一个.jar文件。ctrl-w格式代码,必须安装ktlint 。爪哇
ctrl-space构建代码,必须安装javac和jar 。如果汇编成功,则创建一个.jar文件。ctrl-w进行格式化代码,必须安装google-java-format 。Scala
ctrl-space的构建代码,必须安装scalac和jar 。如果汇编成功,则创建一个.jar文件。java -jar main.jar执行JAR文件。如果要产生可以使用scala main.jar main.jar执行的JAR,请使用scalac -d main.jar MyFile.scala 。ctrl-w的格式代码,必须安装scalafmt 。d
ctrl-space构建代码,必须可用gdc 。JSON
FSTAB
fstab文件(通常/etc/fstab )是内置功能。只需按ctrl-w即可。如果您需要独立的实用程序,则可以使用fstabfmt 。JavaScript
prettier 。 由于kotlinc $filename -include-runtime -d build to a a jar build to a .jar ,尽管我应该为java做同样的事情。这个想法是轻松编译单个或少量的.java文件,其中一个文件具有main函数。
如果您知道从*.java构建.jar文件的一种更简单的方法,而无需使用Gradle之类的东西,请通过提交拉动请求让我知道。这是冗长的...
javaFiles= $( find . -type f -name ' *.java ' )
for f in $javaFiles ; do
grep -q ' static void main ' " $f " && mainJavaFile= " $f "
done
className= $( grep -oP ' (?<=class )[A-Z]+[a-z,A-Z,0-9]* ' " $mainJavaFile " | head -1 )
packageName= $( grep -oP ' (?<=package )[a-z,A-Z,0-9,.]* ' " $mainJavaFile " | head -1 )
if [[ $packageName != " " ]] ; then
packageName= " $packageName . "
fi
mkdir -p _o_build/META-INF
javac -d _o_build $javaFiles
cd _o_build
echo " Main-Class: $packageName$className " > META-INF/MANIFEST.MF
classFiles= $( find . -type f -name ' *.class ' )
jar cmf META-INF/MANIFEST.MF ../main.jar $classFiles
cd ..
rm -rf _o_build对于Scala,这是用于生成main.jar文件的代码,该文件可以直接使用java -jar main.jar :
#! /bin/sh
scalaFiles= $( find . -type f -name ' *.scala ' )
for f in $scalaFiles ; do
grep -q ' def main ' " $f " && mainScalaFile= " $f "
grep -q ' extends App ' " $f " && mainScalaFile= " $f "
done
objectName= $( grep -oP ' (?<=object )[A-Z]+[a-z,A-Z,0-9]* ' " $mainScalaFile " | head -1 ) ;
packageName= $( grep -oP ' (?<=package )[a-z,A-Z,0-9,.]* ' " $mainScalaFile " | head -1 ) ;
if [[ $packageName != " " ]] ; then
packageName= " $packageName . "
fi
mkdir -p _o_build/META-INF
scalac -d _o_build $scalaFiles
cd _o_build
echo -e " Main-Class: $packageName$objectName nClass-Path: /usr/share/scala/lib/scala-library.jar " > META-INF/MANIFEST.MF
classFiles= $( find . -type f -name ' *.class ' )
jar cmf META-INF/MANIFEST.MF ../main.jar $classFiles
cd ..
rm -rf _o_build/usr/share/scala/lib/scala-library.jar scalac -d run_with_scala.jarscala-library.jar ,则结果jar文件将需要scala才能运行。 ctrl-t提出了一个菜单,其中包括一些特殊符号。
还有这些捷径:
ctrl-t然后⊤ t 。ctrl-t n然后插入ℕ 。 在编辑PKGBUILD文件时,可以通过猜测工作和在线搜索的组合,按ctrl-o并选择Call Guessica来更新pkgver=和source=字段。此功能取决于已安装的Guessica软件包更新实用程序,并且仅适用于某些PKGBUILD文件。
a68g用于编译Algol 68代码agda用于编译AGDA代码asciidoctor写人页面astyle用于格式化C#代码black - 用于格式化Python代码brittany - 用于格式化Haskell代码cargo - 用于编译生锈clang使用clang-format格式化C ++代码clojure用于编译Clojurecrystal - 用于编译晶体cxx用于编译C ++fpc用于编译对象Pascalg++ - 用于编译C ++代码gdc用于编译D代码ghc用于编译Haskell代码go用于编译GO代码go-tools - 用于格式化GO代码并用goimports处理导入google-java-format用于格式化Java代码jad用o打开它们时即时的编译.classjava-environment用于编译Java代码并使用javac和jar创建.jar文件kotlin用于编译Kotlinktlint用于格式化Kotlin代码lua将LUA编译为字节码lua-format用于格式化LUA代码mlton用于编译标准MLmono - 用于编译C#代码ocaml用于编译和格式化OCAML代码odin - 用于编译奥丁pandoc将降价导出到PDFprettier用于格式化JavaScript,Typescript和CSSpython将Python汇编为字节码rustc用于编译生锈rustfmt用于格式化锈蚀scala用于编译Scalasdoc写人页面tidy - 用于格式化XMLv用于编译和格式化V代码zig用于编译和格式化曲折代码upx压缩时, o可执行文件为15m 。使用gccgo和upx (在v2目录中)建造的一种方法:
go build -mod=vendor -gccgoflags '-Os -s' -o o && upx --best --lzma o
如果o可执行文件是用go构建的,则尺寸可以为87m ,或者在包装upx时只有2.8m :
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可用于避免编写锁定文件,构建文件,位置历史记录,搜索历史记录和游戏高点至$XDG_CACHE_DIR/cache/o或~/.cache/o 。不建议。-m可以用来打开一个只读的文件,但可以对其进行监视以进行更改。--help可用于快速概述受支持的键键的快速概述。--version将打印当前版本,然后退出。 当加载大型或从慢速磁盘中加载文件时,会出现动画旋转器。可以通过按esc , q或ctrl-q来中断加载操作。

此Shell功能在zsh和bash中起作用,对于在给定的行号上搜索和打开文件可能很有用(如果只有一个匹配文件,则可以使用几个文件,它将连续打开几个文件):
fo () { find . -type f -wholename " * $1 " -exec o {} $2 ; ; }如果找到太多的文件,可以通过选择Stop parent and quit without saving从ctrl-o菜单中保存而停止打开它们,这将退出编辑器并杀死父级find过程。
示例使用:
fo somefile.cpp 123当使用pandoc从Markdown出口到PDF时:
PAPERSIZE环境变量设置为IE。 a4或letter ,在ctrl-space的印刷机中,使用Pandoc从降级到PDF的导出时,它将受到尊重。--pdf-engine=xelatex和--listings标志,因此需要可用xelatex和listings软件包。乳胶和潘多克的标准安装应两者都提供。pandoc时, Render to PDF with pandoc仅在ctrl-o菜单上出现。 ctrl-o菜单中,按Konami Code键,以开始在食用之前用颗粒喂养生物的愚蠢的小游戏。或者,创建一个直接启动的符号链接,即: ln -sf /usr/bin/o /usr/bin/feedgame 。right, down, left或left, down, right然后迅速连续,然后down或up以保存和退出。这种异常快捷方式的唯一目的是帮助避免痛苦的emacs小指。 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建造:
make gui
安装(如果需要,请使用sudo或doas ):
make gui-install
ctrl-f进行搜索,然后输入t ,然后按返回以搜索下一个T YPO。ctrl-a (暂时)将其添加到字典或ctrl-i中,以(暂时)忽略它。o启动o当符号或可执行文件名为nan或nano )时, ctrl-t搜索下一个错别字。内置的SpellChecker使用此项目中的单词列表,该单词已获得此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永远不会冻结终端。