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

Podobne dokumenty