mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-22 23:01:41 +03:00
add greek translation for vim
This commit is contained in:
parent
c85d93a5ed
commit
bd52393b70
266
el-gr/vim-gr.html.markdown
Normal file
266
el-gr/vim-gr.html.markdown
Normal file
@ -0,0 +1,266 @@
|
||||
---
|
||||
category: tool
|
||||
tool: vim
|
||||
contributors:
|
||||
- ["RadhikaG", "https://github.com/RadhikaG"]
|
||||
filename: LearnVim.txt
|
||||
---
|
||||
|
||||
|
||||
[Vim](http://www.vim.org)
|
||||
To (Vi IMproved) είναι ένας κλώνος του δημοφιλούς vi editor για Unix.
|
||||
Είναι ένας text editor σχεδιασμένος για ταχύτητα και αυξημένη παραγωγικότητα,
|
||||
και υπάρχει σχεδόν σε όλα τα Unix-based συστήματα. Έχει διάφορα keybindings
|
||||
(συντομεύσεις πλήκτρων) για να πλοηγούμαστε γρήγορα σε συγκεκριμένα σημεία ενός αρχείου,
|
||||
καθώς και για γρήγορη επεξεργασία.
|
||||
|
||||
## Τα βασικά της πλοήγησης στον Vim
|
||||
|
||||
```
|
||||
vim <filename> # Άνοιξε το <filename> στον vim
|
||||
:help <topic> # Άνοιξε το built-in βοήθημα για το <topic> αν υπάρχει
|
||||
:q # Βγες από τον vim
|
||||
:w # Αποθήκευσε το τρέχον αρχείο
|
||||
:wq # Αποθήκευσε το τρέχον αρχείο και βγες από τον vim
|
||||
ZZ # Αποθήκευσε το τρέχον αρχείο και βγες από τον vim
|
||||
:q! # Βγες χωρίς αποθήκευση
|
||||
# ! *αναγκάζει* το :q να εκτελεστεί, γι αυτό βγαίνει χωρίς saving
|
||||
:x # Ίδιο με το wq αλλά πιο σύντομο
|
||||
|
||||
u # Undo
|
||||
CTRL+R # Redo
|
||||
|
||||
h # Μετακινήσου κατά ένα χαρακτήρα αριστερά
|
||||
j # Μετακινήσου μια γραμμή κάτω
|
||||
k # Μετακινήσου μια γραμμή πάνω
|
||||
l # Μετακινήσου μια γραμμή δεξιά
|
||||
|
||||
Ctrl+B # Πήγαινε μία οθόνη πίσω
|
||||
Ctrl+F # Πήγαινε μία οθόνη μπροστά
|
||||
Ctrl+U # Πήγαινε μισή οθόνη πίσω
|
||||
Ctrl+D # Πήγαινε μισή οθόνη μπροστά
|
||||
|
||||
# Μετακινήσεις στην ίδια γραμμή
|
||||
|
||||
0 # Πήγαινε στην αρχή της γραμμής
|
||||
$ # Πήγαινε στο τέλος της γραμμής
|
||||
^ # Πήγαινε στον πρώτο μη κενό χαρακτήρα της γραμμής
|
||||
|
||||
# Αναζήτηση στο κείμενο
|
||||
|
||||
/word # Υπογραμμίζει όλες τις εμφανίσεις της λέξης μετά τον cursor
|
||||
?word # Υπογραμμίζει όλες τις εμφανίσεις της λέξης πριν τον cursor
|
||||
n # Μετακινεί τον cursor στην επόμενη εμφάνιση της λέξης
|
||||
N # Μετακινεί τον cursor στην προηγούμενη εμφάνιση της λέξης
|
||||
|
||||
:%s/foo/bar/g # άλλαξε το 'foo' σε 'bar' σε κάθε γραμμή του αρχείου
|
||||
:s/foo/bar/g # άλλαξε το 'foo' σε 'bar' στην τρέχουσα γραμμή
|
||||
|
||||
# Άλματα σε χαρακτήρες
|
||||
|
||||
f<character> # Άλμα μπροστά και προσγείωση στο επόμενο <character>
|
||||
t<character> # Άλμα μπροστά και προσγείωση αμέσως πριν το προηγούμενο <character>
|
||||
|
||||
# Για παράδειγμα,
|
||||
f< # Άλμα μπροστά και προσγείωση σε <
|
||||
t< # Άλμα μπροστά και προσγείωση αμέσως πριν <
|
||||
|
||||
# Μετακινήσεις κατά λέξεις
|
||||
|
||||
w # Πήγαινε μια λέξη μπροστά
|
||||
b # Πήγαινε μια λέξη πίσω
|
||||
e # Πήγαινε στο τέλος της λέξης στην οποία είσαι
|
||||
|
||||
# Άλλοι χαρακτήρες για να τριγυρνάμε
|
||||
|
||||
gg # Πήγαινε στην αρχή του αρχείου
|
||||
G # Πήγαινε στο τέλος του αρχείου
|
||||
:NUM # Πήγαινε στη γραμμή με αριθμό NUM (οποιοσδήποτε αριθμός)
|
||||
H # Πήγαινε στην κορυφή της σελίδας
|
||||
M # Πήγαινε στην μέση της σελίδας
|
||||
L # Πήγαινε στο κάτω άκρο της σελίδας
|
||||
```
|
||||
|
||||
## Help docs:
|
||||
Το Vim έχει built-in help documentation που μπορείς να δεις με `:help <topic>`.
|
||||
Για παράδειγμα το `:help navigation` θα σου εμφανίσει documentation σχετικό με
|
||||
το πως να πλοηγείσαι στο αρχείο!
|
||||
|
||||
To `:help` μπορεί να χρησιμοποιηθεί και χωρίς option. Αυτό θα εμφανίσει το default
|
||||
help dialog που σκοπεύει να κάνει το vim πιο προσιτό σε αρχάριους!
|
||||
|
||||
## Modes:
|
||||
|
||||
O Vim στηρίζεται στο concept των **modes**.
|
||||
|
||||
- Command Mode - ο vim εκκινεί σε αυτό mode, χρησιμοποιείται για πλοήγηση και εντολές
|
||||
- Insert Mode - χρησιμοποιείται για να κάνουμε αλλαγές στα αρχεία
|
||||
- Visual Mode - χρησιμοποιείται για να υπογραμμίζουμε κείμενα και να κάνουμε διάφορα σε αυτά
|
||||
- Ex Mode - χρησιμοποιείται για να πάμε στο κάτω μέρος με το ':' που δίνουμε εντολές
|
||||
|
||||
```
|
||||
i # Βάζει το vim σε insert mode, πριν τη θέση cursor
|
||||
a # Βάζει το vim σε insert mode, μετά τη θέση cursor
|
||||
v # βάζει τον vim σε visual mode
|
||||
: # Βάζει τον vim σε ex mode
|
||||
<esc> # φεύγει από όποιο mode είμαστε και πάει σε command mode
|
||||
|
||||
# Αντιγραφή-Επικόληση κειμένου
|
||||
|
||||
y # Yank (κάνε copy) ό,τι είναι επιλεγμένο
|
||||
yy # Yank την γραμμή στην οποία είσαι
|
||||
d # διάγραψε ό,τι είναι επιλεγμένο
|
||||
dd # Διάγραψε τη γραμμή στην οποία είσαι
|
||||
p # Κάνε Paste το αντεγραμένο κείμενο μετά την θέση του cursor
|
||||
P # Κάνε Paste το αντεγραμένο κείμενο πριν την θέση του cursor
|
||||
x # Διάγραψε τον χαρακτήρα που είναι κάτω από τον cursor
|
||||
```
|
||||
|
||||
## Η 'γραμματική' του Vim
|
||||
|
||||
Μπορείς να σκεφτείς τον Vim ως ένα σύνολο εντολών
|
||||
σε μορφή 'Verb-Modifier-Noun', όπου
|
||||
|
||||
- Verb - η ενέργεια που θες να κάνεις
|
||||
- Modifier - πώς κάνεις την ενέργεια
|
||||
- Noun - το αντικείμενο που δέχεται την ενέργεια
|
||||
|
||||
Μερικά παραδείγματα ''Ρημάτων', 'Modifiers' και 'Ουσιαστικών':
|
||||
|
||||
```
|
||||
# 'Ρήματα'
|
||||
|
||||
d # Διάγραψε
|
||||
c # Άλλαξε
|
||||
y # Yank (αντίγραψε)
|
||||
v # Επίλεξε οπτικά
|
||||
|
||||
# 'Modifiers'
|
||||
|
||||
i # Μέσα
|
||||
a # Γύρω
|
||||
NUM # Αριθμός (NUM = οποιοσδήποτε αριθμός)
|
||||
f # Ψάξε κάτι και πήγαινε εκεί που βρίσκεται
|
||||
t # Ψάξε κάτι και πήγαινε πριν από εκεί που βρίσκεται
|
||||
/ # Βρες κάποιο string μετά από τον cursor
|
||||
? # Βρες κάποιο string πριν τον cursor
|
||||
|
||||
# 'Ουσιαστικά'
|
||||
|
||||
w # Λέξη
|
||||
s # Πρόταση
|
||||
p # Παράγραφος
|
||||
b # Block
|
||||
|
||||
# Δείγματα 'προτάσεων' ή εντολών
|
||||
|
||||
d2w # Διάγραψε 2 λέξεις
|
||||
cis # Άλλαξε μέσα στην πρώταση
|
||||
yip # Αντίγραψε την παράγραφο στην οποία βρίσκεσαι
|
||||
ct< # Άλλαξε σε <
|
||||
# Άλλαξε το κείμενο από το οποίο είσαι πριν το επόμενο bracketChange the text from where you are to the next open bracket
|
||||
d$ # Διάγραψε μέχρι το τέλος της γραμμής
|
||||
```
|
||||
|
||||
## Μερικά shortcuts και κόλπα
|
||||
|
||||
<!--TODO: Βάλτε κι άλλα!-->
|
||||
```
|
||||
> # Στοίχισε προς τα δεξιά την επιλογή σου κατά ένα block
|
||||
< # Στοίχισε προς τα αριστερά την επιλογή σου κατά ένα block
|
||||
:earlier 15m # Κάνε το αρχείο όπως ήταν πριν 15 λεπτά
|
||||
:later 15m # Ακύρωση για την παραπάνω εντολή
|
||||
ddp # Αντάλλαξε τις θέσεις διαδοχικών γραμμών
|
||||
. # Επανάλαβε την προηγούμενη ενέργεια
|
||||
:w !sudo tee % # Σώσε το τρέχον αρχείο ως root
|
||||
:set syntax=c # Κάνε syntax highlighting για τη γλώσσα c
|
||||
:sort # Ταξινόμησε όλες τις γραμμές
|
||||
:sort! # Ταξινόμησε ανάποδα όλες τις γραμμές (αύξουσα σειρά)
|
||||
:sort u # Ταξινόμησε όλες τις γραμμές και διάγραψε τις διπλές γραμμές
|
||||
~ # Άλλαξε τα κεφαλαία σε μικρά στο επιλεγμένο κείμενο
|
||||
u # Το επιλεγμένο κείμενο να γίνει πεζά γράμματα
|
||||
U # Το επιλεγμένο κείμενο να γίνει κεφαλαία γράμματα
|
||||
|
||||
# Fold text
|
||||
zf # Διπλώνει (συμπιέζει τις γραμμές σε μία) το επιλεγμένο κείμενο
|
||||
zo # Ξεδιπλώνει το επιλεγμένο fold
|
||||
zc # Κλείνει το επιλεγμένο fold
|
||||
zR # Ανοίγει όλα τα folds
|
||||
zM # Κλείνει όλα τα folds
|
||||
```
|
||||
|
||||
## Macros
|
||||
|
||||
Τα macros βασικά είναι καταγραφή ενεργειών.
|
||||
Όταν ξεικάς να καταγράφεις ένα macro καταγράφονται **όλες** οι ενέργεις και οι
|
||||
εντολές που χρησιμοποιείς, μέχρι να σταματήσεις την καταγραφή. Όταν καλείς ένα macro,
|
||||
εκτελείται πάλι η ίδια σειρά από ενέργειες και εντολές στο επιλεγμένο κείμενο.
|
||||
|
||||
```
|
||||
qa # Ξεκίνα να καταγράφεις ένα macro που θα ονομαστεί 'a'
|
||||
q # Σταμάτα την καταγραφή
|
||||
@a # Τρέξε το macro
|
||||
```
|
||||
|
||||
### Configuring ~/.vimrc
|
||||
|
||||
Το αρχείο .vimrc μπορεί να χρησιμοποιηθεί για να κάνεις configure το Vim στο startup.
|
||||
|
||||
Εδώ βλέπουμε δείγμα ενός ~/.vimrc file:
|
||||
|
||||
```
|
||||
" Example ~/.vimrc
|
||||
" 2015.10
|
||||
|
||||
" Required for vim to be iMproved
|
||||
set nocompatible
|
||||
|
||||
" Determines filetype from name to allow intelligent auto-indenting, etc.
|
||||
filetype indent plugin on
|
||||
|
||||
" Enable syntax highlighting
|
||||
syntax on
|
||||
|
||||
" Better command-line completion
|
||||
set wildmenu
|
||||
|
||||
" Use case insensitive search except when using capital letters
|
||||
set ignorecase
|
||||
set smartcase
|
||||
|
||||
" When opening a new line and no file-specific indenting is enabled,
|
||||
" keep same indent as the line you're currently on
|
||||
set autoindent
|
||||
|
||||
" Display line numbers on the left
|
||||
set number
|
||||
|
||||
" Indentation options, change according to personal preference
|
||||
|
||||
" Number of visual spaces per TAB
|
||||
set tabstop=4
|
||||
|
||||
" Number of spaces in TAB when editing
|
||||
set softtabstop=4
|
||||
|
||||
" Number of spaces indented when reindent operations (>> and <<) are used
|
||||
set shiftwidth=4
|
||||
|
||||
" Convert TABs to spaces
|
||||
set expandtab
|
||||
|
||||
" Enable intelligent tabbing and spacing for indentation and alignment
|
||||
set smarttab
|
||||
```
|
||||
|
||||
### Αναφορές
|
||||
|
||||
[Vim | Home](http://www.vim.org/index.php)
|
||||
|
||||
`$ vimtutor`
|
||||
|
||||
[A vim Tutorial and Primer](https://danielmiessler.com/study/vim/)
|
||||
|
||||
[What are the dark corners of Vim your mom never told you about? (Stack Overflow thread)](http://stackoverflow.com/questions/726894/what-are-the-dark-corners-of-vim-your-mom-never-told-you-about)
|
||||
|
||||
[Arch Linux Wiki](https://wiki.archlinux.org/index.php/Vim)
|
Loading…
Reference in New Issue
Block a user