mcedit

Autres langues

Langue: pl

Autres versions - même langue

Version: 30 stycznia 1997 (openSuse - 09/10/07)

Section: 1 (Commandes utilisateur)

NAZWA

mcedit - terminalowy edytor tekstowy dla systemów Unixowych

SK£ADNIA

mcedit [[+liczba] plik [-bcCdfhstVx?]]

OPIS

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).
Ctrl-Ins kopiuje do pliku ~/.cedit/cooledit.clip, za¶
Shift-Ins wkleja z pliku ~/.cedit/cooledit.clip.
Shift-Del wycina do ~/.cedit/cooledit.clip,
a Ctrl-Del usuwa pod¶wietlony tekst - wszystkie tylko na konsoli Linuksa.

Klawisz uzupe³nienia (completion key) (patrz mc.1) wykonuje równie¿ twardy Return bez automatycznego wciêcia. Dzia³a tak¿e pod¶wietlanie myszk± i mo¿esz uniewa¿niæ je jak zwykle przytrzymuj±c klawisz Shift podczas ci±gniêcia myszk±, by w³±czyæ normalne pod¶wietlanie mysz± terminala.

W celu zdefiniowania makra naci¶nij Ctrl-R i u¿yj sekwencji klawiszy, jak± chcia³by¶ zarejestrowaæ. Na koniec naci¶nij powtórnie Ctrl-R. Mo¿esz teraz przypisaæ makro do dowolnego klawisza naciskaj±c go. Makro zostanie wykonane, gdy naci¶niesz Ctrl-A a nastêpnie przypisany klawisz. Makro wykonywane jest równie¿ po naci¶niêciu Meta, Ctrl lub Esc i przypisanego klawisza, pod warunkiem, ¿e sekwencja ta nie jest u¿ywana do obs³ugi innej funkcji. Po zdefiniowaniu makra zapisywane s± w pliku ~/.cedit/cooledit.macros. Nie modyfikuj go, chyba ¿e nie zamierzasz ponownie u¿ywaæ makr w tej samej sesji edycji, gdy¿ mcedit buforuje definicje makr w pamiêci. mcedit nadpisuje makro je¿eli makro przypisane do tego samego klawisza ju¿ istnieje, wiêc nie bêdziesz musia³ zmieniaæ tego pliku. Musisz ponownie uruchomiæ inne dzia³aj±ce procesy edytora, by zadzia³a³y zmienione makra.

F19 sformatuje pod¶wietlony kod C. W celu w³±czenia tej cechy stwórz plik wykonywalny .cedit/edit.indent.rc w swoim katalogu domowym zawieraj±cy:


#!/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

C-p w podobny sposób uruchomi ispell na bloku tekstu. Odpowiednim plikiem jest .cedit/edit.spell.rc.


#!/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  \\"   24

Ka¿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 pomocy
MC_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.

/opt/gnome/lib/mc/mc.ini

Ogólnosystemowy plik konfiguracyjny Midnight Commandera, u¿ywany wy³±cznie, gdy u¿ytkownik nie posiada w³asnego pliku ~/.mc.ini.

/opt/gnome/lib/mc/mc.lib

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).

$HOME/.mc.ini

Prywatna konfiguracja u¿ytkownika. Je¶li istnieje, to konfiguracja odczytywana jest z tego w³a¶nie pliku, zamiast z ogólnosystemowego pliku startowego.

$HOME/.cedit/

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 na
   ftp.nuclecu.unam.mx w katalogu /linux/local
oraz w Europie:

   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.