In randurile ce urmeaza, am sa va arat cum puteti sa utilizati vim pentru programarea C/C++ si cum puteti sa il utilizati …
1. Primul pas este sa intram in Terminal si sa tastam comanda vim.
Shortcut: Pentru a intra in Terminal este suficient sa apasati CTRL + ALT + T
2. In caz ca primim mesajul de mai sus, executam comanda
sudo apt-get install vim
*Atentie: Pentru cei care sunt noi in utilizarea Ubuntu: atunci cand scrieti parola, caracterele nu vor fi cenzurate cu “*”, ele pur si simplu nu vor aparea. Nu va panicati, ceea ce tastati este receptat de calculator.
3. Dupa ce am instalat programul, scriem “vim” si ar trebui sa se deschida cu succes. La finalul articolului am sa las mai multe shortcut-uri si comenzi utile pe care le puteti utiliza cat timp folositi vim. Pentru pasul urmator inchidem vim folosind comanda
:quit
4. Acum vom instala compilatorul gcc si g++ ruland comanda
sudo apt-get install build-essential
5. Continuam si instalam un vimrc personalizat (download: aici)
Multumiri speciale: Andrei Grigorean (wefgef)
6. Localizam locatia fisierului downloadat (la mine este /home/mihai/Downloads spre exemplu)
Odata ce am gasit locatia fisierului, scriem in Terminal urmatoarea comanda
sudo cp /home/mihai/Downloads/vimrc /etc/vim
Atentie: /home/mihai/Downlaods reprezinta locatia mea unde s-a downloadat fisierul!
7. Scriem “vim” si vom scrie un mic programel (vom apasa pe tasta I (intre U si O)), iar dupa ce am terminat de scris codul apasam ESC.
8. Dupa ce am terminat de scris (si am apasat ESC) scriem
:w fisier.cpp
Apoi apasam pe tasta F9.
La final ne afiseaza mesajul introdus de noi, precum si suma celor 2 numere citite de la tastatura.
Cursor movement | |
h | move left |
j | move down |
k | move up |
l | move right |
w | jump by start of words (punctuation considered words) |
W | jump by words (spaces separate words) |
e | jump to end of words (punctuation considered words) |
E | jump to end of words (no punctuation) |
b | jump backward by words (punctuation considered words) |
B | jump backward by words (no punctuation) |
0 | (zero) start of line |
^ | first non-blank character of line |
$ | end of line |
G | Go To command (prefix with number |
Note: | Prefix a cursor movement command with a number to repeat it. For example, 4j moves down 4 lines. |
Insert Mode | Inserting/Appending text |
i | start insert mode at cursor |
I | insert at the beginning of the line |
a | append after the cursor |
A | append at the end of the line |
o | open (append) blank line below current line (no need to press return) |
O | open blank line above current line |
ea | append at end of word |
Esc | exit insert mode |
Editing | |
r | replace a single character (does not use insert mode) |
J | join line below to the current one |
cc | change (replace) an entire line |
cw | change (replace) to the end of word |
c$ | change (replace) to the end of line |
s | delete character at cursor and subsitute text |
S | delete line at cursor and substitute text (same as cc) |
xp | transpose two letters (delete and paste, technically) |
u | undo |
. | repeat last command |
Marking text (visual mode) | |
v | start visual mode, mark lines, then do command (such as y-yank) |
V | start Linewise visual mode |
o | move to other end of marked area |
Ctrl+v | start visual block mode |
O | move to Other corner of block |
aw | mark a word |
ab | a () block (with braces) |
aB | a {} block (with brackets) |
ib | inner () block |
iB | inner {} block |
Esc | exit visual mode |
Visual commands | |
> | shift right |
< | shift left |
y | yank (copy) marked text |
d | delete marked text |
~ | switch case |
Cut and Paste | |
yy | yank (copy) a line |
2yy | yank 2 lines |
yw | yank word |
y$ | yank to end of line |
p | put (paste) the clipboard after cursor |
P | put (paste) before cursor |
dd | delete (cut) a line |
dw | delete (cut) the current word |
x | delete (cut) current character |
Exiting | |
:w | write (save) the file, but don’t exit |
:wq | write (save) and quit |
:q | quit (fails if anything has changed) |
:q! | quit and throw away changes |
Search/Replace | |
/pattern | search for pattern |
?pattern | search backward for pattern |
n | repeat search in same direction |
N | repeat search in opposite direction |
:%s/old/new/g | replace all old with new throughout file |
:%s/old/new/gc | replace all old with new throughout file with confirmations |
Working with multiple files | |
:e filename | Edit a file in a new buffer |
:bnext (or :bn) | go to next buffer |
:bprev (of :bp) | go to previous buffer |
:bd | delete a buffer (close a file) |
:sp filename | Open a file in a new buffer and split window |
ctrl+ws | Split windows |
ctrl+ww | switch between windows |
ctrl+wq | Quit a window |
ctrl+wv | Split windows vertically |
Sfarsit!
Speram ca ti-a placut tutorialul, daca ai intampinat probleme / dificultati nu ezita sa lasi un comentariu, pentru a primi ajutorul necesar!