v0.5 — dokumentacja ← back

hedit

Wbudowany edytor HackerOS — dokumentacja v0.5

Czym jest hedit

hedit to terminalowy edytor tekstu wbudowany w system HackerOS, inspirowany nano. Napisany w Go, działa w trybie pełnoekranowym (alt screen), oferuje podświetlanie składni przez bibliotekę chroma, cofanie/ponawianie zmian, schowek systemowy oraz zestaw skrótów klawiszowych zbliżonych do nano. hedit jest dostępny wyłącznie jako część systemu HackerOS — nie jest dystrybuowany osobno.

🎨
Podświetlanie składni
Obsługa 300+ języków przez bibliotekę chroma. Motywy kompatybilne z Pygments.
Undo / Redo
Pełny stos cofania z inteligentnym grupowaniem szybkiego pisania (batch 500 ms).
📋
Schowek systemowy
Ctrl+P / Ctrl+U (wewnętrzny) oraz Ctrl+Shift+C / Ctrl+Shift+V (systemowy).
🔍
Szukaj i zamień
Wyszukiwanie przyrostowe (Ctrl+W) oraz zamiana globalna (Ctrl+R).
💬
Komentowanie
Ctrl+/ przełącza komentarz linii. Prefix dostosowany do języka pliku.
Skoki po słowach
Ctrl+← / Ctrl+→ przeskakują o jedno słowo — jak w nowoczesnych edytorach.

Uruchomienie

hedit [opcje] <plik>
hedit plik.goOtwiera plik.go w domyślnym motywie (monokai)
hedit --theme dracula plik.pyOtwiera z motywem Dracula
hedit --theme github plik.mdJasny motyw GitHub

Budowa ekranu

hedit dzieli ekran na cztery strefy:

hedit - main.go *
1
2
3
4
5
6
7
8
package main

import "fmt"

func main() {
    msg := "hello, hedit"
    fmt.Println(msg)
}

Tryby pracy

TrybOpisWyjście
editNormalny tryb edycji tekstu
searchWyszukiwanie frazy (Ctrl+W)Esc lub Enter
replaceZnajdź i zamień (Ctrl+R)Esc lub Enter×2
gotolinePrzejście do linii (Ctrl+G)Esc lub Enter
promptPytanie o zapis przy wyjściuY / N / Ctrl+C

Skróty — plik

SkrótDziałanie
Ctrl+O
Zapisz plik (tworzy kopię .bak przed nadpisaniem)
Ctrl+X
Wyjdź — jeśli są zmiany, pyta o zapis (Y/N/^C)
Ctrl+C
Pokaż aktualną pozycję kursora (wiersz, kolumna)

Skróty — nawigacja

SkrótDziałanie
Ruch kursora o jeden znak / wiersz
Ctrl+
Skocz o słowo w lewo NEW
Ctrl+
Skocz o słowo w prawo NEW
Home / Ctrl+A
Początek linii
End / Ctrl+E
Koniec linii
PgUp / PgDn
Strona w górę / w dół
Ctrl+G
Przejdź do podanego numeru linii

Skróty — edycja tekstu

SkrótDziałanie
Enter
Nowa linia z auto-wcięciem (kopiuje wiodące spacje/tabulatory)
Tab
Wstaw wcięcie (4 spacje lub tabulatory — zależy od trybu)
Shift+Tab
Usuń wcięcie (un-indent)
Backspace
Usuń znak przed kursorem; na początku linii — scal z poprzednią
Delete
Usuń znak za kursorem; na końcu linii — scal z następną
Ctrl+D
Duplikuj bieżącą linię NEW
Ctrl+/
Przełącz komentarz linii (auto-prefix per język) NEW

Skróty — zaznaczanie

SkrótDziałanie
Shift+↑/↓/←/→
Rozszerz zaznaczenie
Ctrl+A
Zaznacz cały plik NEW

Zaznaczony tekst jest podświetlony szarym tłem. Wpisanie dowolnego znaku zastępuje zaznaczenie. Backspace / Delete usuwa zaznaczenie.

Skróty — schowek

SkrótDziałanie
Ctrl+K
Wytnij — zaznaczenie lub całą linię
Ctrl+P
Kopiuj — zaznaczenie lub całą linię
Ctrl+U
Wklej ze schowka wewnętrznego
Ctrl+Shift+C
Kopiuj do systemowego schowka NEW
Ctrl+Shift+V
Wklej z systemowego schowka NEW
Ctrl+K bez zaznaczenia usuwa całą bieżącą linię i umieszcza ją w schowku — tak samo jak nano.

Szukaj i zamień

SkrótDziałanie
Ctrl+W
Otwórz pole szukania lub znajdź następne wystąpienie
Ctrl+R
Znajdź i zamień (globalna podmiana w pliku) NEW

Jak działa Find & Replace

Po naciśnięciu Ctrl+R w stopce pojawia się dwuetapowy prompt:

  1. Find: wpisz szukaną frazę → Enter
  2. Replace with: wpisz zamiennik → Enter

Zamiana odbywa się globalnie (we wszystkich liniach pliku). W pasku statusu pojawi się liczba podmienionych wystąpień. Esc anuluje w każdym kroku.

Undo / Redo

SkrótDziałanie
Ctrl+Z
Cofnij ostatnią operację
Ctrl+Y
Ponów cofniętą operację

Szybkie pisanie (znaki wpisywane w odstępach < 500 ms) jest grupowane w jedną operację undo. Dzięki temu Ctrl+Z cofa całe „słowo", a nie pojedyncze litery.

Nowe funkcje — przegląd

Poniżej szczegółowy opis funkcji dodanych w v1.1.0, których brakowało względem nano:

Ctrl+/ — toggle komentarza

Automatycznie dobiera prefix w zależności od rozszerzenia pliku:

.go .c .cpp .js .ts .java//
.py .sh .bash .rb .yaml .yml .toml#
.sql .lua--
inne// (domyślnie)

Jeśli linia już zaczyna się od prefiksu — zostaje on usunięty. Operacja jest dodawana do stosu undo.

Ctrl+D — duplikowanie linii

Kopiuje bieżącą linię bezpośrednio pod nią i przenosi kursor na kopię. Odpowiednik Ctrl+D z VS Code czy nano's duplicate z wbudowanych skryptów. Operacja jest cofalna przez Ctrl+Z.

Ctrl+A — zaznacz wszystko

Ustawia kotwicę zaznaczenia na początku pierwszej linii i kursor na końcu ostatniej linii pliku. Po zaznaczeniu działa kopiowanie, wycinanie lub zastąpienie wpisanym tekstem.

Ctrl+← / Ctrl+→ — skoki po słowach

Ctrl+← cofa kursor do początku bieżącego (lub poprzedniego) słowa, pomijając białe znaki. Ctrl+→ przesuwa do końca następnego słowa. Działa zgodnie ze standardem terminali i edytorów pokroju nano/vim.

Flagi startowe

--theme <nazwa>Wybór motywu kolorów. Domyślnie: monokai

Motywy kolorów

hedit używa motywów biblioteki chroma (kompatybilnych z Pygments). Wybrane popularne motywy:

monokaiCiemny, klasyczny motyw Monokai (domyślny)
draculaCiemny motyw Dracula
nordZimny, północny motyw
githubJasny motyw GitHub
solarized-darkCiemny Solarized
solarized-lightJasny Solarized
vsVisual Studio (jasny)
onedarkOne Dark (ciemny)
autumnJesienny, ciepły motyw
Pełna lista dostępna na: xyproto.github.io/splash/docs