mcedit(1) | General Commands Manual | mcedit(1) |
NAZWA¶
mcedit - terminalowy edytor tekstowy dla systemów UnixowychSKŁADNIA¶
mcedit [[+liczba] plik [-bcCdfhstVx?]]OPIS¶
Uwaga! To tłumaczenie może być nieaktualne! mcedit jest dowiązaniem (link) do mc, Midnight Commandera, wymuszając na nim natychmiastowe uruchomienie wewnętrznego edytora. Edytor ten jest terminalową wersją cooledit, odrębnego edytora X-window.OPCJE¶
- +liczba
- Przechodzi do wiersza o zadanym numerze (nie należy umieszczać odstępu pomiędzy znakiem "+" a liczbą).
- -b
- Wymusza wyświetlanie czarno-białe.
- -c
- Wymusza tryb kolorowy na terminalach, dla których mcedit domyślnie używa trybu czarno-białego.
-
-C
- <słowo_kluczowe>=<kolor_znaku>,<kolor_tła>:<słowo_kluczowe>=...
Używane do definiowania innego zestawu kolorów, gdzie słowo_kluczowe jest jednym z:
normal, selected, marked, markselect, errors, reverse
menu, menusel, menuhot, menuhotsel i gauge.
Kolory są opcjonalne i mogą przyjmować wartości:
black, gray, red, brightred, green, brightgreen, brown,
yellow, blue, brightblue, magenta, brightmagenta, cyan, brightcyan, lightgray
oraz white.
Więcej informacji znajdziesz w sekcji Kolory w mc.1- -d
- Wyłącza obsługę myszy.
- -f
- Wyświetla wkompilowane ścieżki poszukiwania plików Midnight Commandera.
- -t
- Używane tylko, gdy kod został skompilowany ze Sland i terminfo; powoduje, że Midnight Commander użyje wartości zmiennej TERMCAP do uzyskania informacji o terminalu zamiast informacji o systemowej bazie danych terminali.
- -V
- Wyświetla wersję programu.
- -x
- Wymusza tryb xterm. Używane przy uruchamianiu na terminalach potrafiących obsłużyć xterm (dwa tryby ekranu i zdolne wysyłać sekwencje specjalne myszy).
FUNKCJE¶
Wewnętrzny edytor plików posiada większość funkcji powszechnie używanych edytorów pełnoekranowych. Ma rozszerzalny limit wielkości pliku (do szesnastu megabajtów) i bezproblemowo edytuje pliki binarne. Obecnie obsługuje funkcje: kopiowania, przesuwania, usuwania, wycinania i wstawiania bloków tekstu; klawisz dla klawisza cofania zmian ( key for key undo); rozwijalne menu; wstawianie pliku; definiowanie makr; wyszukiwanie i zastępowanie z obsługą wyrażeń regularnych (oraz własne wyszukiwanie i zastępowanie scanf-printf); przełącznik wstawianie-nadpisywanie; przenoszenie wyrazów (word-wrap); różnorodne funkcje tabulacji; podświetlanie składni dla różnych typów plików; oraz możliwość potokowania bloków tekstu poprzez polecenia powłoki jak indent czy ispell.KLAWISZE¶
Edytor jest bardzo prosty w użytkowaniu i nie wymaga szkolenia. Żeby zobaczyć, co robi który klawisz, po prostu zajrzyj do odpowiedniego menu rozwijalnego. A oto opis pozostałych klawiszy: Ruch kursora przy wciśniętym Shift podświetla tekst (tylko na konsoli Linuksa).-
#!/bin/sh # Użyj $HOME zamiast ~ jeśli nie działa. # Być może będziesz też musiał użyć innej składni # przekierowania wyjścia usr/bin/ident -kr -pcs ~/.cedit/cooledit.block >& /dev/null cat /dev/null > ~/.cedit/cooledit.error
-
#!/bin/sh # Użyj $HOME zamiast ~ jeśli nie działa. # Być może będziesz też musiał użyć innej składni # przekierowania wyjścia /usr/local/bin/ispell ~/.cedit/cooledit.block >& /dev/null cat /dev/null > ~/.cedit/cooledit.error
PRZEDEFINIOWYWANIE KLAWISZY¶
Klawisze mogą być redefiniowane w menu opcji Midnight Commandera.PODŚWIETLANIE SKŁADNI¶
Od wersji 3.6.0 cooledit posiada podświetlanie składni. Oznacza to, że słowa kluczowe i elementy języka (jak komentarze C, stałe łańcuchowe itd.) podświetlane są różnymi kolorami. Poniższy fragment wyjaśnia format pliku ~/.cedit/syntax. Plik ~/.cedit/syntax jest ponownie przeglądany przy otwieraniu w edytorze każdego nowego pliku. Zawiera on reguły podświetlania, każdą w osobnej linii, i definiuje, jakie słowa kluczowe będą podświetlane jakim kolorem. Plik jest podzielony na sekcje, z których każda rozpoczyna się linią z poleceniem file zakończonym wyrażeniem regularnym. Wyrażenie regularne określa nazwę pliku, do jakiego odnosi się dany zestaw reguł. Po nim następuje opis wyświetlany po lewej stronie okna edytora, objaśniający użytkownikowi typ pliku. Trzecim, opcjonalnym argumentem jest wyrażenie regularne dopasowujące pierwszą linię tekstu pliku. Dane reguły zostaną wczytane jeśli dopasowano nazwę pliku bądź pierwszą linię tekstu. Sekcja kończy się z początkiem kolejnej sekcji. Każda sekcja podzielona jest na konteksty, a każdy kontekst zawiera reguły. Kontekst jest zakresem wewnątrz tekstu, do którego odnosi się konkretny zestaw reguł. Na przykład, obszar w obrębie komentarza w stylu C (tj.pomiędzy /* a */) ma swój własny kolor. To jest kontekst, mimo iż nie będzie miał w środku innych reguł, gdyż raczej nie ma niczego, co chcelibyśmy podświetlić wewnątrz komentarza C. Prosta sekcja programu w C może wyglądać tak:file .\*\\.c C\sProgram\sFile (#include|/\\\*) wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_ # kolory domyślne context default keyword whole if 24 keyword whole else 24 keyword whole for 24 keyword whole while 24 keyword whole do 24 keyword whole switch 24 keyword whole case 24 keyword whole static 24 keyword whole extern 24 keyword { 14 keyword } 14 keyword '*' 6 # komentarze C context /\* \*/ 22 # dyrektywy preprocesora C context linestart # \n 18 keyword \\\n 24 # stałe łańcuchowe C context " " 6 keyword %d 24 keyword %s 24 keyword %c 24 keyword \\" 24Każdy kontekst rozpoczyna się linią postaci:
context [exclusive]
[whole|wholeright| wholeleft] [ linestart]
ogranicznik [ linestart] ogranicznik [
kolor_znaków] [ kolor_tła]
Jedynym wyjątkiem jest pierwszy kontekst. Musi on rozpoczynać
się poleceniem
context default
[kolor_znaków] [ kolor_tła]
albo cooledit zwróci błąd.
Opcja linestart nakazuje, by ogranicznik zaczynał
się od początku linii.
Opcja whole określa, że ogranicznik musi być
całym wyrazem. Całe wyrazy są tworzone z zestawu
znaków, który może zostać zmieniony w dowolnym
miejscu pliku przy pomocy polecenia wholechars. Polecenie
wholechars umieszczone na samym początku ustawia zestaw
znaków dokładnie na jego wartość
domyślną i w związku z tym mogłoby być
pominięte. Możesz użyć opcji wholeleft dla
wskazania, że słowo musi być pełne tylko z lewej
strony, i podobnie dla prawej. Lewy i prawy zestaw znaków może
być ustawiony odrębnie przy pomocy wholechars
[left| right] characters
Opcja exclusive powoduje, że podświetlony zostanie tekst
pomiędzy ogranicznikami, ale nie one same.
Każda reguła jest linią postaci:
keyword
[whole|wholeright|wholeleft] [ linestart]
łańcuch znakowy kolor_znaków
[kolor_tła]
Łańcuchy znakowe kontekstu i słów kluczowych
są interpretowane, tak że możesz użyć
tabulatorów i spacji przy pomocy sekwencji \t i \s. Znaki nowej linii i
\ są wyszczególniane przy pomocy odpowiednio \n i \\. Wynika to
z tego, że separatorem jest biały znak, zatem nie może on
zostać użyty wprost. Również znak * musi
być podany jako \*. Samo * jest znakiem uogólniającym,
który dopasowuje dowolną liczbę znaków. Na
przykład
keyword '*' 6
koloruje wszystkie jednoznakowe stałe C na zielono.
Mógłbyś również użyć
keyword "*" 6
do pokolorowania stałych łańcuchowych, z wyjątkiem
tego, że dopasowany łańcuch nie może
kończyć się w innej linii. Znaki
uogólniające mogą być też użyte
wewnątrz ograniczników kontekstu, ale nie
możesz użyć znaku uogólniającego
jako pierwszego lub ostatniego.
Godna uwagi jest linia
keyword \\\n 24
Linia ta definiuje słowo kluczowe zawierające znak \ oraz znak
nowej linii. Ponieważ słowa kluczowe mają wyższy
priorytet niż ograniczniki kontekstu, to słowo kluczowe
zapobiega temu, by kontekst kończył się na końcu
linii, jeśli linia kończy się na \. Umożliwia
zatem prawidłowe podświetlenie dyrektywy preprocesora C
nakazującej kontynuację w kolejnej linii.
Kolory są numerowane od 0 do 26. Możesz też
posłużyć się dowolną z nazw
kolorów wyszczególnionych w pliku /usr/lib/X11/rgb.txt,
ale tylko w wersji jednowyrazowej. Lepiej jest pozostać przy kolorach
wyrażonych liczbowo, by ograniczyć użycie palety
kolorów.
Komentarza mogą być umieszczane w odrębnych liniach;
zaczynają się one od znaku #.
Z powodu prostoty rozwiązania, jest w nim trochę
zawikłań, które nie zostaną poprawnie
obsłużone, ale nie są one zbyt irytujące. Na
ogół przy pomocy powyższych prostych reguł
obsługiwany jest szeroki wachlarz całkiem skomplikowanych
sytuacji. Dobrze jest przyjrzeć się plikowi składni, by
zaczerpnąć pomysły prostych trików, jakie
można wykorzystać przy odrobinie wyobraźni. Jeżeli
nie możesz uporać się z regułami, jakie
zakodowałem, a sądzisz, że masz regułę,
która może być przydatna, wyślij mi,
proszę, e-mail ze swoim życzeniem. Nie proś jednak o
obsługę wyrażeń regularnych, gdyż jest to
stanowczo niemożliwe.
Użyteczną wskazówką może być praca
przy maksymalnym wykorzystywaniu możliwości zamiast
prób robienia rzeczy, z którymi ta implementacja sobie nie
radzi. Pamiętaj również, że celem
podświetlania składni jest zmniejszenie
błędów przy programowaniu, a nie pokazanie
ładnego kodu.
KOLORY¶
Domyślne kolory mogą być zmienione przez dodanie do zmiennej środowiska MC_COLOR_TABLE. Pary kolorów znaków i tła mogą być określone na przykład przy pomocyMC_COLOR_TABLE="$MC_COLOR_TABLE:editnormal=lightgray,black:editbold=yellow,black:editmarked=black,cyan"
OPCJE¶
Obecnie większość opcji może zostać ustawiona w oknie dialogowym opcji edytora. Patrz menu Options (Opcje). Objaśnione poniżej opcje zdefiniowane są w .mc.ini i mają oczywiste odpowiedniki w oknie dialogowym. Możesz je zmieniać, by zmienić zachowanie edytora, zmieniając plik. Jeżeli nie podano inaczej, to tradycyjnie 1 ustawia włącza opcję, 0 ją wyłącza.- use_internal_edit
- Ignorowana przy wywoływaniu mcedit.
- editor_key_emulation
- 1 dla klawiszy Emacsa, 0 dla zwykłych klawiszy Cooledit.
- editor_tab_spacing
- Długość znaku tabulacji. Domyślnie 8. Powinieneś unikać używania innych wartości, gdyż większość innych edytorów i przeglądarek tekstu zakłada tabulatory długości 8. Posłuż się opcją editor_fake_half_tabs chcąc symulować mniejsze odstępy tabulacji.
- editor_fill_tabs_with_spaces
- Nigdy nie wstawiaj znaków tabulacji. Wstaw zamiast nich odstępy (ASCII 20h) wypełniające zadany rozmiar tabulacji.
- editor_return_does_auto_indent
- Automatyczne wcięcia. Naciśnięcie Return przesuwa kolejnymi pozycjami tabulacji aż do osiągnięcia takiego samego wcięcia, jak w pierwszej poprzedzającej linii zawierającej tekst.
- editor_backspace_through_tabs
- Pojedyncze naciśnięcie Backspace usuwa wszystkie odstępy aż do lewego marginesu (jeśli nie ma tekstu pomiędzy kursorem a lewym marginesem).
- editor_fake_half_tabs
- Emuluje połówki tabulacji. Dla potrzebujących tabulacji z krokiem 4, ale bez zmiany rozmiaru tabulacji z domyślnego 8 (kod będzie tak samo sformatowany przy wyświetlaniu przez inne programy). W trakcie edycji pomiędzy tekstem a lewym marginesem przesuwanie i wstawianie tabulacji będzie zachowywać się tak, jakby krokiem tabulacji było 4. W rzeczywistości do optymalnego wypełniania będą używane odstępy i zwykłe tabulatory. Przy edycji w innych miejscach wstawiany jest zwykły tabulator.
- editor_option_save_mode
- (0, 1 lub 2.) Tryb zachowywania (patrz również menu opcji) pozwala na zmianę metody zapisywania pliku. Zachowywanie szybkie (0) zapisuje plik natychmiast, obcinając (trunctate) plik dyskowy do długości zerowej (tj.wymazując go) i zapisując do niego zawartość edytora. Metoda ta jest szybka, ale niebezpieczna, gdyż błąd systemowy podczas zapisu pliku pozostawi częściowo zapisany plik, prawdopodobnie uniemożliwiając odzyskanie danych. Użycie opcji zachowywania bezpiecznego (1) włącza tworzenie pliku tymczasowego, do którego wstępnie zapisywana jest zawartość zmienionego pliku. W przypadku kłopotów pierwotny plik jest nienaruszony. Po pomyślnym zapisaniu pliku tymczasowego zmieniana jest jego nazwa na nazwę pliku pierwotnego, powodując jego zastąpienie. Najbezpieczniejszą metodą jest tworzenie kopii zapasowych (2). Kopia zapasowa tworzona jest przed dokonaniem jakichkolwiek zmian. W oknie dialogowym możesz podać własne rozszerzenie plików kopii. Zauważ, że podwójne zachowanie pliku zastąpi zarówno kopię zapasową jak i pierwotny plik.
RÓŻNE¶
(Wyszukiwanie i zastępowanie scanf poprzednio nie działało poprawnie. W obecnej edycji problemy z wyszukiwaniem i zastępowaniem zostały usunięte.) Możesz użyć wyszukiwania i zastępowania typu scanf do wyszukania i zastąpienia łańcucha znakowego w formacie C. Przejrzyj najpierw strony podręcznika systemowego omawiające sscanf i sprintf, by zapoznać się z opisem budowy formatu łańcuchowego i jego działaniem. A oto przykład: załóżmy, że chcesz zamienić wszystkie wystąpienia, powiedzmy, otwierającego nawiasu, trzech oddzielonych przecinkami liczb i nawiasu zamykającego, na słowo czerwone, trzecią z liczb, słowo czarne i drugą z liczb. Powinieneś wówczas wypełnić okno dialogowe Replace (zastąp) jak niżej:Enter search string
(%d,%d,%d)
Enter replace string
czerwone %d czarne %d
Enter replacement argument order
3,2
Ostatnia linia nakazuje, by w miejsce pierwszej i drugiej liczby zostały
użyte trzecia a następnie druga z liczb.
Zaleca się użycie tej funkcji z włączonym
potwierdzaniem zastępowania (Prompt On Replace), gdyż
dopasowanie jest znalezione, gdy liczba znalezionych argumentów
odpowiada liczbie podanych, co nie zawsze jest rzeczywistym dopasowaniem.
Ponadto scanf traktuje białe znaki jako "rozciągliwe".
Zauważ, iż format scanf %[ jest bardzo przydatny do wyszukiwania
łańcuchów znakowych i białych znaków.
Edytor wyświetla także znaki spoza USA (non-US) (o kodach od 160).
Przy modyfikacji plików binarnych powinieneś w menu opcji
Midnight Commandera ustawić liczbę bitów
wyświetlania ( display bits) na 7, co zapewni porządne
wyświetlanie odstępów.
PLIKI¶
/opt/gnome/mc.hlp- Plik pomocy programu.
- Ogólnosystemowy plik konfiguracyjny Midnight Commandera, używany wyłącznie, gdy użytkownik nie posiada własnego pliku ~/.mc.ini.
- Globalne ustawienia Midnight Commandera. Ustawienia w tym pliku są globalne dla każdej sesji Midnight Commandera. Przydatny do zdefiniowania ustawień terminala obowiązujących dla całego systemu (site-global).
- Prywatna konfiguracja użytkownika. Jeśli istnieje, to konfiguracja odczytywana jest z tego właśnie pliku, zamiast z ogólnosystemowego pliku startowego.
- Tymczasowy katalog użytkownika. Przetwarzane i zapisywane są w nim polecenia operujące na blokach tekstu.
LICENCJA¶
Niniejszy program jest rozpowszechniany na warunkach licencji GNU General Public Licence opublikowanych przez Free Software Foundation. Wbudowana pomoc Midnight Commandera zawiera Licencję, w szczególności zastrzeżenie dotyczące braku gwarancji.DOSTĘPNOŚĆ¶
Najświeższą wersję programu odnajdziesz naftp.nuclecu.unam.mx w katalogu /linux/local
na sunsite.mff.cuni.cz w katalogu /GNU/mc
i na ftp.teuto.de w katalogu /lmb/mc. Wersję dla X Window można znaleźć na
sunsite.unc.edu w katalogu /pub/Linux/apps/editors/X
lub też na argeas.argos.hol.gr w /pub/unix/cooledit.
PATRZ TAKŻE¶
cooledit(1), mc(1), gpm(1), terminfo(1), scanf(3).AUTORZY¶
Twórcą edytora wbudowanego w program Midnight Commander jest Paul Sheer (psheer@obsidian.co.za).BŁĘDY¶
Więcej szczegółów znajdziesz w pliku README.edit dostarczanym w pakiecie dystrybucyjnym.INFORMACJE O TŁUMACZENIU¶
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i może nie być aktualne. W razie zauważenia różnic między powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia:- man --locale=C 1 mcedit
30 stycznia 1997 |