VIM gcc make gdb
Transkrypt
VIM gcc make gdb
Programowanie w Systemie Linux. rc1.03.10 Jacek Lach VIM Poruszanie się h jkl bw ^$ nG, ngg % ^F ^B mp `p :marks ruch kursora (←, ↓, ↑, →) słowo / token w lewo / prawo pierwszy / ostatni znak w wierszu przejdź do linii n (pierwsza / ostatnia linia) przejdź do pasującego nawiasu, komentarza przesuń jeden ekran w przód / tył oznaczenie pozycji w tekście przejście do oznaczonej pozycji pokaż listę oznaczeń Polecenia Ex :e f :q :q! :w :w nazwa :r f :r! p edycja pliku f wyjście wyjście z pominięciem zmian zapisz plik zapisz plik z podaną nazwą wstaw plik pod kursorem wstaw wynik polecenia p pod kursorem Różne v włączenie trybu podświetlania gv rozpoczęcie podświetlania od poprzedniego ~ zamień wielkość znaku i przesuń kursor g~m zamień wielkość znaków określonych ruchem Wstawianie / usuwanie tekstu <m >m przesuń wiersz w lewo / prawo o ruch m aA wstaw za kursorem / na końcu wiersza cofnij ostatnią operację iI wstaw przed kursorem / na początku wiersza u . powtórz ostatnią operację o wstaw wiersz pod kursorem qa zapisz sekwencję znaków w rejestrze a O wstaw wiersz nad kursorem q zakończ wprowadzanie sekwencji cm zamień, m - określenie ruchu @a wykonaj zawartość rejestru a rc zamień znak pod kursorem na c ^G pokaż status R edycja w trybie zamiany znaków g^G pokaż pozycję kursora xX kasuj znak pod / przed kursorem ga pokaż kod ASCII znaku pod kursorem dm kasuj, m - ruch nK pokaż stronę man(n) dla słowa pod kursorem dd kasuj bieżący wiersz ^] ^T skocz do oznaczenia pod kursorem, wróć D kasuj do końca wiersza :!p wykonaj polecenie ym kopiuj do bufora, m - ruch :make wykonaj make, skocz do pierwszego błędu yy Y kopiuj aktualny wiersz do bufora :cn :cp następny / poprzedni błąd pP kopiuj z bufora po / przed kursorem :cl lista błędów “x użyj rejestru x do operacji kopiowania ESC ESC odwołanie polecenia Wyszukiwanie / zamiana gcc /w ?w szukaj w w przód / tył nN powtórz wyszukiwanie w przód / tył #* szukaj słowa pod kursorem w tyl / przód -c tylko kompilacja gd gD lokalna / globalna definicja symbolu -E zatrzymaj przed kompilacją :s/s1/s2 zamień następny s1 przez s2 -S zatrzymaj przed asemblacją :%s/s1/s2/g zamień wszystkie s1 na s2 -Dnazwa=wart zdefiniowane stałej nazwa :%s/s1/s2/gc zamień wszystkie s1 na s2 z potwierdzeniem -o nazwa określenie nazwy pliku wynikowego -llib dołącz bibliotekę lib Obsługa okien -g[gdb] dołącz informacje dla debuggera ^Ws podziel okno -pg dołącz informacje dla profilera ^Wn utwórz nowe okno -Wall włącz ostrzeżenia ^Wo okno na pełny ekran -Ikat szukaj plików nagłówkowych w kat ^Wj ^Wk przejdz do okna poniżej / powyżej -Lkat szukaj bibliotek w kat ^Ww ^WW przejdź do okna powyżej / poniżej -MM wydruk zależności make SRC = s1.c s2.c # definicja zmiennej OBJ = $(SRC:.c=.o) #definicja zmiennej na podstawie innej .c.o: # przedefiniowanie wbudowanej reguły <tab> akcja #określenie akcji cel: zależności # do utworzenia celu muszą być spełnione zal <tab> akcja $(ZMIENNA) clean: # cel wykonywany bezwarunkowo -rm -f *.o bin #zignorowanie wyniku akcji (-k) @echo “Czysto” #pominięcie druku akcji reguły domyślne: .c -> .o: $(CC) -c $(CPPFLAGS) $(CFLAGS) .cc -> .o: $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) n.o ->n:$(CC) $(LDFLAGS) n.o $(LOADLIBES) $(LDLIBS) zmienne automatyczne: $@ nazwa pliku celu $< nazwa pierwszej zależności $? nazwy wszystkich zależności nowszych od celu $^ nazwy wszystkich zależności gdb show/set args/env - wyświetl/ustaw argumenty/środowisko run [argumenty] - uruchomienie [z argumentami] kill - zakończenie śledzonego programu [t]break [plik:]N - ustawienie pułapki we wskazanym wierszu break ... if wyr - pułapka warunkowa delete [N]-usunięcie wszystkich pułapek [o danym numerze] disable [n] / ignore N c - wyłączenie / pominięcie c razy info break - wyświetla ustawione pułapki bt - wydrukowanie stosu up / down / frame N - przełączenie aktywnej ramki stosu p[rint]/f - wydrukowanie wartości zmiennej / funkcji (/format) display - automatyczne drukowanie wartości po zatrzymaniu set var vname=expr - ustawienie wartości zmiennej vname c[ontinue] - kontynuacja działania programu n[ext]/s[tep] - następny wiersz przechodząc przez / do funkcji info address | func | var, whatis, ptype list [-], list a,b -wydrukuj 10 kolejnych, pop wierszy, przedział quit - zakończ działanie