Orbiton은 다음 목표를 염두에두고 텍스트 편집기이며 간단한 IDE입니다.
VT100 의 한계 내)이러한 목표를 달성하기 위해 개선 할 수있는 것이 있으면 PR을 제출하십시오.
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
git 용 기본 편집기 실행 파일로 o 설정합니다설정하려면 :
git config --global core.editor o
설정하지 않음 :
git config --global --unset core.editor
MANPAGER 환경 변수를 설정하면 MAN 페이지를보기 위해 o 사용할 수 있습니다.
export MANPAGER=o
o 에서 사람 페이지를 보는 대안은 less 사용하는 것입니다.
export MANPAGER='less -s -M +Gg'
o 설정 OpenSuse 패키지가 존재할 때까지 o 수동으로 설치하십시오.
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 Rebase 키워드를 사이클하십시오.ctrl-l 과의 라인으로 이동하십시오. 선으로 점프하려면 숫자를 입력하거나 return (또는 t )을 눌러 상단으로 점프하십시오. ctrl-l 누르고 다시 return b 으로 점프하십시오. c 눌러 중앙으로 점프하십시오.ctrl-l 이있는 파일의 특정 라인으로 점프 할 때는 백분율 ( 50% ) 또는 분수 ( 0.5 또는 .5 )로 점프하는 것도 가능합니다. 강조 표시된 글자 중 하나로 점프하는 것도 가능합니다.main. 존재하지 않는 파일이지만 main.cpp 및 main.o 가 존재하면 main.cpp 가 열립니다.ctrl-f 눌러 검색하고 텍스트를 입력하고 return 누르십시오. return 대신 tab 누른 후 교체 한 다음 교체 텍스트를 입력하고 return 누릅니다. u+0000 양식의 유니 코드 룬 검색도 지원됩니다.iferr 한 줄에 입력하고 return 눌러 Koron/Iferr를 기반으로 if err != nil { return ... } 적합한 경우 삽입하십시오.ctrl-t 눌러 내장 마크 다운 테이블 편집기를 사용하십시오. 이것은 너무 넓지 않은 테이블에 가장 적합합니다.ctrl-w 눌러 마크 다운 테이블을 형식으로 형식화하십시오.while if for 같은 명령문에 추가됩니다.ctrl-f 누르면 커서 아래 단어를 두 번 검색합니다.ctrl-space 눌러 많은 인기있는 프로그래밍 언어로 "Hello, World" 를 컴파일 할 수 있습니다.o main.c 실행하고 ctrl-w 누른 다음 이중 ctrl-space 누르면 C에서 간단한 프로그램을 작성, 빌드 및 실행하십시오..png , .jpg , .jpeg , .gif , .ico , .bmp 또는 .webp 이미지를 터미널에서 직접 미리 볼 수 있습니다 (스케일링 버전과 최대 16 색).-p 플래그에 이어 파일 이름을 편집하는 대신 클립 보드를 새 파일에 붙여 넣는 데 파일 이름을 사용할 수 있습니다.ctrl-t C ++ 코드를 편집 할 때 C ++ 헤더와 소스 파일 사이를 점프 할 수 있습니다.ctrl-t Markdown을 편집 할 때 Markdown 테이블 편집기와 커서가 Markdown 테이블에있을 때 표시됩니다.vim 과 emacs 보다 빠르게로드됩니다.pandoc 사용하여 텍스트를 PDF로 렌더링 할 수 있습니다.alacritty , konsole , st , urxvt , xfce4-terminal , xterm 및 zutty 로 테스트했습니다.NO_COLOR 환경 변수는 모든 색상을 비활성화하도록 설정할 수 있습니다.ctrl-a 및 ctrl-e 와 같은 핫키는 Home 과 End 대신 사용해야 할 수 있습니다. 위아래로 탐색하기 위해 ctrl-n 및 ctrl-p 사용될 수 있습니다.go 또는 gccgo 로 컴파일합니다./dev/tty 사용할 수 있습니다.xclip , Wayland 용 wl-clipboard 또는 시스템 클립 보드에 액세스하려면 MacOS 용 pbcopy 설치해야합니다.+ 또는 : 접두사가있는 두 번째 인수로 줄 번호를 취할 수 있습니다.COMMIT_EDITMSG 인 경우 git 커밋 메시지에 대해 모양과 느낌이 조정됩니다.UTF-8 지원하지만 일부 룬은 잘못 표시 될 수 있습니다.n ).rn )을 가능할 때마다 유닉스 라인 엔딩 (Just n )으로 변환합니다.0xc2 0xa0 )을 가능할 때마다 일반 공간 ( 0x20 )으로 대체합니다.0xcc 0x88 )를 가능할 때마다 일반 tilde ( ~ )로 대체합니다.; )으로 세미콜론 ( 0xcd 0xbe )처럼 보이는 그리스어 물음표를 대체합니다.git rebase -i 로 시작되면 ctrl-w 또는 ctrl-r 현재 라인 ( fixup , drop , edit 등)의 키워드를 순환합니다.r 으로 시작되거나 해당 이름의 Symlink가있는 단어로 이름이 바뀌면 기본 테마는 빨간색/검정색입니다.l 으로 시작되거나 해당 이름의 Symlink가있는 단어로 이름이 바뀌면 기본 테마는 밝은 배경에 적합합니다.s 로 시작되거나 (또는 해당 이름의 Symlink가있는) 기본 테마는 "신디파"테마입니다.o filename.md 시도하고 ctrl-space 두 번 누르고 ctrl-q 로 종료하십시오.ctrl-space 또는 ctrl-t 눌러 마크 다운에서 체크 마크 in- - [ ] TODO item 상자를 전환합니다..gz 확장자로 끝나는 Gziped 텍스트 파일 또는 사람 페이지를로드, 편집 및 저장할 수 있습니다.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 )의 경우 대신 Rebase 키워드를 순환합니다.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 : Cursor가 테이블 위에있는 경우 테이블 편집기를 토글하거나 테이블 편집기를 시작하십시오. 나머지는 KeyPresses를 녹음하고 재생합니다. 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 문자열 검색. 검색은 주위를 감싸고 경우에 민감합니다. 검색 및 교체로 return 대신 tab 누릅니다. 오타를 찾으려면 문자 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 | 물티 | 물티 | 물티 |
| Agda | .agda | 예 | agda -c $filename | N/A |
| Algol 68 | .a68 | 물티 | a68g --compile $filename | 물티 |
| 집회 | .asm , .s , .S , .inc | 예 | yasm -f elf64 -o $output.o $filename | N/A |
| 기음 | .c , .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 |
| 기음# | .cs | 예 | dotnet build $filename | astyle --mode=cs $filename |
| C3 | .c3 | 예 | c3c compile -o $output $filename | c3fmt --rewrite $filename |
| Clojure | .clj , .cljs , .clojure | 물티 | lein compile $filename | 물티 |
| 결정 | .cr | 예 | crystal build $filename --release | crystal tool format $filename |
| CSS | .css | 물티 | 아니요 | prettier --tab-width 2 -w $filename |
| 디 | .d | 예 | dmd $filename -of$output | 물티 |
| 다트 | .dart | 예 | dart compile exe --output $output $filename | dart format $filename |
| Erlang | .erl | 예 | erlc $filename | 물티 |
| FORTRAN77, FORTRAN90 | .f , .f90 | 예 | gfortran -o $output $filename | 물티 |
| 석류석 | .gt | 물티 | garnetc -o $output $filename | 물티 |
| Glsl | .glsl , .vert , .frag | 물티 | glslangValidator -V -o $output $filename | 물티 |
| 가다 | .go | 예 | go build $filename | goimports -w $filename |
| 토끼 | .ha | 예 | hare build $filename | N/A |
| 하스켈 | .hs | 예 | ghc -dynamic $filename | brittany --write-mode=inplace $filename |
| HTML | .html | 물티 | 아니요 | tidy -m $filename |
| 여자 이름 | .ivy | 물티 | 물티 | N/A |
| 자바 | .java | 예 | javac + jar , 아래 세부 사항을 참조하십시오 | google-java-format -a -i $filename |
| 자바 스크립트 | .js | 물티 | 아니요 | prettier --tab-width 4 -w $filename |
| Jakt | .jakt | 물티 | jakt $filename | 물티 |
| 단지 | 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 | 물티 | 아니요 | prettier --write $filename |
| 님 | .nim | 물티 | nim c -o:$output $filename | 물티 |
| 대상 c | .m | 예 | clang $filename -o $output | clang-format -i --style=WebKit $filename |
| 오딘 | .odin | 예 | odin build $filename | N/A |
| 객관적인 파스칼 | .pas , .pp , .lpr | 예 | fpc $filename | 물티 |
| OCAML | .ml | 물티 | 아니요 | ocamlformat $filename |
| 펄 | .pl | 예 | perl $filename | /usr/bin/vendor_perl/perltidy -se -b -i=2 -ole=unix -bt=2 -pt=2 -sbt=2 -ce $filename |
| 파이썬 | .py | 예 | python -m py_compile $filename | black $filename |
| 루비 | .rb | 아니요 | 아니요 | rubocop -A $filename |
| 녹 (Cargo.toml 포함) | .rs | 예 | cargo build | rustfmt $filename |
| 녹 | .rs | 예 | rustc $filename | rustfmt $filename |
| 스칼라 | .scala | 예 | scalac $filename && jar cfe $output MainClass *.class | scalafmt $filename |
| 껍데기 | .sh , PKGBUILD , APKBUILD | 물티 | makepkg | shfmt -s -w -i 2 -bn -ci -sr -kp $filename |
| 표준 ML | .sml , .fun , .mlb , .cm | 예 | mlton $filename | 물티 |
| 스위프트 | .swift | 물티 | 물티 | 물티 |
| TypeScript | .ts | 물티 | 아니요 | prettier --tab-width 4 -w $filename |
| 다섯 | .v | 예 | v build $filename | v fmt $filename |
| XML | .xml | 물티 | 아니요 | tidy -w 80 -q -i -utf8 --show-errors 0 --show-warnings no --tidy-mark no -xml -m $filename |
| 급격한 변경 | .zig | 예 | zig build-exe $filename | zig fmt $filename |
/etc/fstab , json 및 html 파일도 지원되며 ctrl-w 와 함께 포맷 할 수 있습니다.
o 오류가있는 위치로 점프하려고 시도하고 그렇지 않으면 Success 표시합니다.ctrl-w 라인을 99의 길이로 랩핑합니다.kotlinc-native kotlinc $filename -include-runtime -d $name.jar 수 없으면이 빌드 명령이 대신 사용됩니다.CXX는 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 구성이 없다는 주장에 대한 예외이지만 완전히 선택 사항입니다.
IE를 사용합니다. 신디파 테마, /usr/bin/sw symlink to /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 Frontend 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 명령 만 필요합니다.다섯
v 명령 만 필요합니다.녹
ctrl-space 가있는 건축법의 경우 Cargo.toml 있어야하며 cargo 설치해야합니다.ctrl-w 사용하여 코드를 서식하려면 rustfmt 설치해야합니다.하스켈
ctrl-space 으로 현재 파일을 구축하려면 ghc 컴파일러를 설치해야합니다.ctrl-w 와 함께 코드를 서식하려면 brittany 설치해야합니다.파이썬
ctrl-space 실행하지 않고 구문 만 확인합니다. 이를 위해서만 python 만 사용할 수 있어야합니다.ctrl-w 로 코드를 서식하려면 black 설치해야합니다.결정
crystal 명령 만 필요합니다.코 틀린
ctrl-space 있는 건축 코드의 경우 kotlinc 설치해야합니다. 컴파일이 성공하면 .jar 파일이 작성됩니다.ctrl-w 사용하여 코드를 서식하려면 ktlint 설치해야합니다.자바
ctrl-space 있는 건축 코드의 경우 javac 및 jar 설치해야합니다. 컴파일이 성공하면 .jar 파일이 작성됩니다.ctrl-w 와 함께 코드를 작성하려면 google-java-format 설치해야합니다.스칼라
ctrl-space 있는 건축 코드의 경우 scalac 및 jar 설치해야합니다. 컴파일이 성공하면 .jar 파일이 작성됩니다.java -jar main.jar 로 실행할 수 있습니다. scala main.jar 로 실행할 수있는 항아리를 생산하려면 scalac -d main.jar MyFile.scala 사용하십시오.ctrl-w 사용하여 코드를 서식하려면 scalafmt 설치해야합니다.디
ctrl-space 있는 건축 코드의 경우 gdc 사용할 수 있어야합니다.JSON
fstab
fstab 파일 (일반적으로 /etc/fstab ) 서식은 내장 기능입니다. ctrl-w 누르십시오. 독립형 유틸리티가 필요한 경우 fstabfmt 사용할 수 있습니다.자바 스크립트
prettier 설치해야합니다. kotlinc $filename -include-runtime -d .jar 로 빌드되므로 Java에 대해서도 똑같이해야합니다. 아이디어는 파일 중 하나에 main 기능이있는 단일 또는 작은 .java 파일 모음을 쉽게 컴파일하는 것입니다.
Gradle과 같은 것을 사용하지 않고 *.java 에서 .jar 파일을 작성하는 더 쉬운 방법에 대해 알고 있다면 풀 요청을 제출하여 알려주십시오. 이것은 꽤 장방입니다 ...
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의 경우 이것은 java -jar main.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 /scala/lib/scala -library.jar가 찾을 수없는 경우 scalac -d run_with_scala.jar 대신 사용됩니다.scala-library.jar 찾을 수없는 경우 결과 jar 파일은 scala 실행해야합니다. ctrl-t 선택한 특수 기호가있는 메뉴를 제공합니다.
이러한 바로 가기도 있습니다.
ctrl-t 누른 다음 t 눌러 ⊤ 삽입하십시오.ctrl-t 누른 다음 ℕ 삽입하여 n . PKGBUILD 파일을 편집 할 때는 추측과 온라인 검색의 조합으로 pkgver= 및 source= fields를 업데이트하려면 ctrl-o 눌러 Call Guessica 선택할 수 있습니다. 이 기능은 설치중인 guessica 패키지 업데이트 유틸리티에 따라 다르며 일부 PKGBUILD 파일에서만 작동합니다.
a68g Algol 68 코드 컴파일 용agda AGDA 코드 컴파일 용asciidoctor 사람 페이지를 작성하기위한astyle C# 코드 포맷 용black - 파이썬 코드 포맷brittany Haskell 코드 포맷 용cargo - 녹 소환clang clang-format 과 함께 C ++ 코드를 형식화합니다clojure Clojure를 컴파일합니다crystal - 결정을위한cxx C ++ 컴파일 용fpc 개체를 컴파일하기위한 Pascalg++ - C ++ 코드를 컴파일하기위한 것입니다gdc D 코드 컴파일 용ghc Haskell 코드를 컴파일하기위한 것go -COMPING GO CODEgo-tools GO 코드 포맷 및 goimports 로 가져 오기 처리google-java-format Java 코드 포맷 용jad o 와 함께 열 때 플라이에 .class 파일을 디 컴파일합니다.java-environment Java 코드를 컴파일하고 javac 및 jar 로 .jar 파일 생성kotlin KOTLIN을 컴파일합니다ktlint KOTLIN 코드 포맷 용lua LUA를 바이트 코드로 컴파일하기 위해lua-format LUA 코드 포맷 용mlton 표준 ML 컴파일 용mono - C# 코드를 컴파일합니다ocaml OCAML 코드를 컴파일 및 서식합니다odin - 오딘을 컴파일하기 위해pandoc -PDF로 Markdown을 내보내기위한prettier JavaScript, TypeScript 및 CSS 형식python - 파이썬을 바이트 코드로 컴파일하는 경우rustc 녹을 컴파일합니다rustfmt 녹슬어 형식scala - 스칼라를 컴파일하기 위해sdoc 사람 페이지 작성tidy XML 포맷 용v v 코드를 컴파일하고 서식하기 위해zig zig 코드를 컴파일하고 서식합니다 o 실행 파일은 GCC 12 (64 비트 리눅스 용)로 제작되고 upx 로 압축 될 때 1.5m 입니다. gccgo 및 upx ( v2 디렉토리)로 구축하는 한 가지 방법 :
go build -mod=vendor -gccgoflags '-Os -s' -o o && upx --best --lzma o
o 실행 파일이 대신 go 로 제작되면 upx 로 가득한 경우 크기는 8.7m 또는 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 잠금 파일 작성, 파일 구축, 위치 기록, 검색 기록 및 게임 HighScore를 $XDG_CACHE_DIR/cache/o 또는 ~/.cache/o 로 작성하는 데 사용할 수 있습니다. 권장되지 않습니다.-m 사용하여 파일을 읽기 전용으로 열 수 있지만 변경 사항을 모니터링 할 수 있습니다.--help 사용하여 지원되는 키 바인딩에 대한 빠른 개요를 얻을 수 있습니다.--version 현재 버전을 인쇄 한 다음 종료합니다. 큰 디스크 또는 느린 디스크에서 파일을로드 할 때는 애니메이션 스피너가 나타납니다. esc , q 또는 ctrl-q 누르면 로딩 작업을 중단 할 수 있습니다.

이 쉘 기능은 zsh 및 bash 에서 작동하며 주어진 줄 번호로 파일을 검색하고 열면 유용 할 수 있습니다 (일치하는 파일이 하나만 있으면 가장 잘 작동하지 않으면 여러 파일을 연속으로 열면 다음과 같습니다.
fo () { find . -type f -wholename " * $1 " -exec o {} $2 ; ; } 너무 많은 파일이 발견되면 Stop parent and quit without saving ctrl-o 메뉴에서 저장하지 않고 종료하여 편집기를 종료하고 부모 find 프로세스를 죽일 수 있습니다.
예제 사용 :
fo somefile.cpp 123 pandoc 사용하여 Markdown에서 PDF로 내보낼 때 :
PAPERSIZE 환경 변수가 IE로 설정된 경우. a4 또는 letter 는 ctrl-space 누르는 시점에서 Pandoc을 사용하여 Markdown에서 PDF로 내보낼 때 존중됩니다.--pdf-engine=xelatex 및 --listings 플래그가 사용되므로 xelatex 와 listings 패키지를 사용할 수 있어야합니다. 라텍스와 팬더의 표준 설치는 두 가지를 모두 제공해야합니다.Render to PDF with pandoc Markdown 파일을 편집하고 pandoc 설치 될 때 ctrl-o 메뉴에만 나타납니다. ctrl-o 메뉴에있는 동안 Konami 코드 키를 누르면 먹기 전에 펠렛을 먹이는 생물을 먹이는 것에 대한 어리석은 작은 게임을 시작하십시오. 또는 직접 시작하기위한 Symlink를 만듭니다. 즉, ln -sf /usr/bin/o /usr/bin/feedgame .right, down, left 또는 left, down, right 빠르게 연속적으로 누르고 down 가거나 저장 및 종료하기 위해 up 십시오. 이 특이한 지름길의 유일한 목적은 고통스러운 Emacs Pinky를 피하는 것입니다. o 최소 VT100을 지원하는 터미널 에뮬레이터의 경우og VTE GUI의 경우 (선택 사항) # For starting o with the Light theme
ln -sf /usr/bin/o /usr/bin/li
# For starting o with the Red/Black theme
ln -sf /usr/bin/o /usr/bin/redblack
# For starting o with the Synthwave theme
ln -sf /usr/bin/o /usr/bin/sw
# For starting o with the Blue Edit theme
ln -sf /usr/bin/o /usr/bin/edi
# For starting o with the Light VS theme
ln -sf /usr/bin/o /usr/bin/vs # For starting the GUI version of o with the Light theme
ln -sf /usr/bin/og /usr/bin/lig
# For starting the GUI version of o with the Red/Black theme
ln -sf /usr/bin/og /usr/bin/redblackg
# For starting the GUI version of o with the Synthwave theme
ln -sf /usr/bin/og /usr/bin/swg
# For starting the GUI version of o with the Blue Edit theme
ln -sf /usr/bin/og /usr/bin/edg
# For starting the GUI version of o with the Light VS theme
ln -sf /usr/bin/og /usr/bin/vgog짓다:
make gui
설치 (필요한 경우 sudo 또는 doas 사용) :
make gui-install
ctrl-f 눌러 검색 한 다음 t 입력 한 다음 리턴을 눌러 다음 t ypo를 검색하십시오.ctrl-a 눌러 사전 또는 ctrl-i 에 (일시적으로) 추가하여 무시하십시오.o nan 또는 nano 라는 Symlink 또는 실행 파일에 의해 시작될 때) 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.
ctrl-s 터미널을 얼지 않도록 프로파일 설정에서 Flow control 옵션을 뽑아냅니다.