Natrag   Forum.hr > Informatička tehnologija > Za napredne korisnike > Linux, UNIX i ostali unixoidi

Linux, UNIX i ostali unixoidi Open source OS-ovi i sve o njima

Odgovor
 
Tematski alati Opcije prikaza
Old 09.05.2017., 19:25   #1
Vim - drugi bog uređivača tekstova

Vidim da još nitko (ili rijetko) nije pisao o tekst editorima pa stavljam ovu temu.
Počeo sam učiti Vim nedavno, nakon što sam dosta čitao o raznim editorima, od Sublime texta, Notepad ++, Atom-a, Emacs-a, Nano-a itd...

Kakva su vaša iskustva i preporuke, i naravno korisni linkovi, knjige, filmovi, trikovi, one-lineri?

Evo, ja ću za početak staviti link za Vim Adventures - igricu (koja završava na 3. levelu za one kojiima se ne da platiti 25$),..www.vim-adventures.com
Iako besplatno igranje igrice završava s trećim nivoom, i to je već dovoljno za uvježbati osnovno navigiranje tekstom i riječima - a za nastavak učenja (malo manje zabavan, doduše), bolje je prijeći na Vimtutor tutorijal koji dolazi s instalacijom Vim-a.

Još jedan resurs za nastavak učenja Vim-a je i Vimgolf (http://www.vimgolf.com/), kojim se može oštriti vještina u Vim-u i natjecati u konkretnim zadacima uz korištenje što manje udaraca tipki, što namjeravam probati, čim izučim osnove...

Jedan kratak video zašto Vim? https://youtu.be/F6-phM56H-Q

Jedan strip na temu tekst editora budućnosti:



Jedan kratak one-liner za traženje/zamjenu teksta u cijeloj datoteci uz potvrdu:

:%s/staro2005/novo2025/gc

It is your turn now...
__________________
There is absolutely no cause for alarm.

Zadnje uređivanje sotonik123 : 09.05.2017. at 20:02.
sotonik123 is offline  
Odgovori s citatom
Old 09.05.2017., 21:28   #2
Jel dovoljno da u Notepad++ počesto upišem : wq pa se čudim šta je sad?
grogo bolger is offline  
Odgovori s citatom
Old 09.05.2017., 23:38   #3
To ti je kad mažeš beluga kavijar švicarskim nožem iz konzerve gavrilović paštete, eto šta!
__________________
There is absolutely no cause for alarm.
sotonik123 is offline  
Odgovori s citatom
Old 10.05.2017., 10:53   #4
Cekajte da vam dodje Annatar i objasni kako je Vim smece, i samo orginal vi je pravi.

Vim sam probao, samo sto mi nikako nije sjedao u kombinaciji sa hrvatskom tipkovnicom. Na kraju sam otisao na Emacs.
__________________
Our imagination is stretched to the utmost, not, as in fiction, to imagine things which are not really there, but just to comprehend those things which are there.
--Richard P. Feynman
UrchinStar47 is offline  
Odgovori s citatom
Old 10.05.2017., 11:17   #5
Možeš dati primjer koja kombinacija tipki posebno usporava/ometa rad u Vim-u, znam da defaultne postavke odražavaju privrženost engleskoj/američkoj tipkovnici, možda je stvar navike ili se možda dade prilagoditi?
__________________
There is absolutely no cause for alarm.
sotonik123 is offline  
Odgovori s citatom
Old 10.05.2017., 11:26   #6
Quote:
sotonik123 kaže: Pogledaj post
Možeš dati primjer koja kombinacija tipki posebno usporava/ometa rad u Vim-u, znam da defaultne postavke odražavaju privrženost engleskoj/američkoj tipkovnici, možda je stvar navike ili se možda dade prilagoditi?
Stvarno se vise ne sjecam sto je tocno bio problem. IIRC, bio je problem u stvarima tipa []{}, i sl. U medjuvremenu sam se prebacio na americku tipkovnicu, pa sam uvidio da je jako losa za tipkanje vece kolicine teksta na engleskom, pa sam presao na Colemak, koja ima neke prednosti cak i za hrvatski.
__________________
Our imagination is stretched to the utmost, not, as in fiction, to imagine things which are not really there, but just to comprehend those things which are there.
--Richard P. Feynman
UrchinStar47 is offline  
Odgovori s citatom
Old 10.05.2017., 11:34   #7
Kak se na Colemak-u upisuju hrvatski znakovi: jel isto kao i kod upisivanja njemačkog ö, ü, ä, znači prvo dijakritički znak pa slovo, ili nekako drukčije?

Moram primjetiti da u svom postu ne koristiš hrvatske znakove, da li je to namjerno?

Interesantno je to s aspekta razmatranja alternativnih tipkovnica tipa Dvorak i Colemak, no čini se da nema konkluzivnih rezultata o nedvojbenoj prednosti istih u odnosu na klasični Querty, čak je i Dvorak u svom istraživanju primjetio da se ljudi jednostavno ne žele mijenjati, odnosno teško prihvaćaju odstupanje od norme. Kad se sagleda glavna prednost Dvorak tipkovnice u odnosu na klasičnu, vidimo da je tek marginalno poboljšano korištenje home-row-a u odnosu na istu.
__________________
There is absolutely no cause for alarm.

Zadnje uređivanje sotonik123 : 10.05.2017. at 12:00.
sotonik123 is offline  
Odgovori s citatom
Old 10.05.2017., 11:56   #8
Quote:
UrchinStar47 kaže: Pogledaj post
Cekajte da vam dodje Annatar i objasni kako je Vim smece, i samo orginal vi je pravi.

Vim sam probao, samo sto mi nikako nije sjedao u kombinaciji sa hrvatskom tipkovnicom. Na kraju sam otisao na Emacs.
a ono vi je standard i trebalo bi se znat vi zato kaj je na svim sustavima, ok nije na svim, na starom unix V7 na PDP 11 ed je standardni editor, vi-a uopce nema, to me neki dan zacudilo

sto ne znaci da ne valja koristit nes drugo ak ti to drugo vise pase jel
random101 is offline  
Odgovori s citatom
Old 10.05.2017., 12:21   #9
Dobro, da uklonimo nedoumice: nije li u Vim-u uključeno sve što je u Vi-u i još k tome dodana dodatna razina funkcionalnosti? Odnosno, nije li Vim ustvari nabrijana verzija Vi-a?
__________________
There is absolutely no cause for alarm.
sotonik123 is offline  
Odgovori s citatom
Old 10.05.2017., 18:52   #10
Quote:
sotonik123 kaže: Pogledaj post
:%s/staro2005/novo2025/gc

It is your turn now...
Kod:
1G
O
.ad
.nh
[ESC][ESC]
:1,$!nroff -t -man
Unos,
Quote:
This is the speed-improved and generally-fixed CP/M distribution for the
C128. If you just want to use it, use StarCommander to transfer the
CPMFAST.D71 to a 1571 disk and you're all set! If you don't have a 1571
that you can use with StarCommander (e.g. you only have a 128D and no
external 1571) type the following in this directory:
ispis nakon gornjih komandi,
Kod:
This  is the speed‐improved and generally‐fixed CP/M distribution
for the C128. If you just want to use it,  use  StarCommander  to
transfer  the  CPMFAST.D71  to a 1571 disk and you’re all set! If
you don’t have a 1571 that you can use with  StarCommander  (e.g.
you  only have a 128D and no external 1571) type the following in
this directory:
Je li primjer jasan?
__________________
Alas for the weakness of the great! Mighty king is Gil-Galad, and wise in all lore is master Elrond, and yet they will not aid me in my labors. Can it be that they do not desire other lands to become as blissful as their own, nay, even as Valinor?

Zadnje uređivanje Annatar : 10.05.2017. at 19:59. Reason: "o" ("umetni ispod") promijenjen v "O" ("umetni iznad").
Annatar is offline  
Odgovori s citatom
Old 10.05.2017., 19:13   #11
Quote:
UrchinStar47 kaže: Pogledaj post
Cekajte da vam dodje Annatar i objasni kako je Vim smece, i samo orginal vi je pravi.
Ja koristim vi(1) a ne vim(1), da, to je istina. I prvo kaj na Linaks-žbljinaksu napravim jest
Kod:
% unalias vi
a v vimu prvo kaj opalim jest
Kod:
:syntax off
jer nebu meni neki geek-nerd-retard određival kak bum ja uređival tekst. Boje su katastrofa, niš se ne vidi!!!

Međutim, vi(1) na Solarisu ima jedan iritirajući bug, a taj je da ponekad uneredi buffer tokom yy-p kombinacije, te da se nemre nositi z linijom dužom od 1 KB (bug uredno prijavljen Snoraclu). Samo zbog ta dva razloga bum morti enega dana prešel na vim(1). Kaj je najveća ironija, skompiliral sem si i zlinkal vim(1) na Solarisu 10 još davne 2009.

Kad sam na Amigi, onda koristim samo i jedino vim(1) (ali naravno kao vi(1)), iako OS dolazi z Amigificiranim GUI microEMACS-om. Inače, Commodore Amiga to jest AmigaOS je odakle vim(1) izvorno potječe. Kdo je tu od vas to znal, da vidimo!

EMACS v bilo kojem obliku mi nikad nije sjel, a najveća mana, zakaj je na kraju zgubl od vi(1)-a je da nije dolazl z OS-om, te da treba hrpetinu X biblioteka da bi uopće proradl, bar oni EMACS editori koje sem ja pokušal koristiti.

I jebiga onda, kad si v sobi za servere v 01:47 ujutro i hoćeš samo jednostavno urediti tekst jer si umoran, spava ti se i hoćeš što prije doma, jebe ti se za EMACS, ovo-ono, daj samo da popraviš kaj treba popraviti z vi(1) i peri doma!

Da ironija bude još veća, budući da mi je prvi shell ikad bil csh(1) a poslije tcsh(1), na komandnoj liniji koristim EMACS bindings...
Quote:
Na kraju sam otisao na Emacs.
Očigledno se onda nikad nisi našel v situaciji opisanoj gore, NULL-modem kablom povezan na serijski port od server konzole... jer te v protivnom brzo više ne bi bilo briga za EMACS. To su bolne lekcije navčene na vlastitoj koži...
__________________
Alas for the weakness of the great! Mighty king is Gil-Galad, and wise in all lore is master Elrond, and yet they will not aid me in my labors. Can it be that they do not desire other lands to become as blissful as their own, nay, even as Valinor?
Annatar is offline  
Odgovori s citatom
Old 10.05.2017., 19:19   #12
Quote:
grogo bolger kaže: Pogledaj post
Jel dovoljno da u Notepad++ počesto upišem : wq pa se čudim šta je sad?
- ŠTA RADIŠ TO TAMO VOJNIČE!?!

- NIŠTA DRUŽE KAPETANE!!!

- Dobro je, naš čovek!
__________________
Alas for the weakness of the great! Mighty king is Gil-Galad, and wise in all lore is master Elrond, and yet they will not aid me in my labors. Can it be that they do not desire other lands to become as blissful as their own, nay, even as Valinor?
Annatar is offline  
Odgovori s citatom
Old 10.05.2017., 19:28   #13
Quote:
UrchinStar47 kaže: Pogledaj post
U medjuvremenu sam se prebacio na americku tipkovnicu, pa sam uvidio da je jako losa za tipkanje vece kolicine teksta na engleskom
Bez US rasporeda tipki popizdim, a brzina tipkanja se svede na brzinu ubrizgavanja 75W90 ulja v getribu.

Američki raspored tipki je najjednostavniji.

US raspored zauvijek
__________________
Alas for the weakness of the great! Mighty king is Gil-Galad, and wise in all lore is master Elrond, and yet they will not aid me in my labors. Can it be that they do not desire other lands to become as blissful as their own, nay, even as Valinor?
Annatar is offline  
Odgovori s citatom
Old 10.05.2017., 19:36   #14
Quote:
Annatar kaže: Pogledaj post
Je li primjer jasan?
Moram priznat da sam se izgubio nakon "o"...
I nisam dobio dolje navedeni rezultat - da li nakon svakog retka u kodu ide ENTER?
*goes back to study*

edit: skužio sam, radi, ali još ne znam na koji način, bolje da se vratim tutorijalu...
__________________
There is absolutely no cause for alarm.

Zadnje uređivanje sotonik123 : 10.05.2017. at 19:49.
sotonik123 is offline  
Odgovori s citatom
Old 10.05.2017., 19:38   #15
Quote:
random101 kaže: Pogledaj post
a ono vi je standard i trebalo bi se znat vi zato kaj je na svim sustavima, ok nije na svim, na starom unix V7 na PDP 11 ed je standardni editor, vi-a uopce nema, to me neki dan zacudilo
Je, ali budući da je vi(1) visual editor, većina komandi v vi(1)-u delaju v ed(1)-u, odnosno 100% komandi v ed(1)-u su implementirane v vi(1)-u.

Kdo zna ed(1), automatski odmah zna i vi(1) te sed(1).

A z ed(1)-om se daju delati cool stvari, poput in-place edits, pa se onda ne moraju koristiti privremene datoteke unutar skripti,
Kod:
cat << _EOF_ | ed -s
r readme.txt
1i
Blabla
.
w
q
_EOF_
__________________
Alas for the weakness of the great! Mighty king is Gil-Galad, and wise in all lore is master Elrond, and yet they will not aid me in my labors. Can it be that they do not desire other lands to become as blissful as their own, nay, even as Valinor?
Annatar is offline  
Odgovori s citatom
Old 10.05.2017., 19:52   #16
Quote:
sotonik123 kaže: Pogledaj post
Moram priznat da sam se izgubio nakon "o"...
I nisam dobio dolje navedeni rezultat - da li nakon svakog retka u kodu ide ENTER?
*goes back to study*
V navigacijskom modu, "1G" te pozicionira na sam početak teksta.

"o" otvara novu liniju ispod prve linije teksta i stavlja te u insert mod. Zapravo trebalo je biti "O", da otvori liniju iznad prve linije, ali nema veze.

".nh" i ".ad" su nroff(1) makroi, njih uneseš kao najnormalniji tekst (nroff(1) je v UNIX ugrađeni sustav za pripremu dokumenata za tisak, poput LaTeX-a). ".nh" makro zahtjev za formatiranje veli nroff(1)-u da ne umeće hyphens (zaboravl sem kak se to na hrvatskom zove, "crtice"?), a ".ad" makro zahtjev mu veli da napravi poravnanje teksta na obije margine (kratica za ".ad b", "adjust both").

[ESC] te vraća nazaj v navigacijski mod, a nas su na faksu navčili da furt keljnemo [ESC] v vi(1)-u dvaput, jer drugi put dinga, beepa ili blica, pa si onda i slušno odnosno vizualno sicher da si v navigacijskom modu.

":1,$!nroff -t -man" je naravno komandni mod, gdi naređuješ vi(1)-u da od prve do zadnje adrese ("1,$", tak se linije formalno zovu v njemu, adrese) proslijedi nroff -t -man komandi (uskličnik je v vi(1)-u isto kaj i šlauh na komandnoj liniji ("|"), te da nakon kaj komanda to vse odradi, stdout od komande učita nazad v memoriju.

I v tome se vidi klasični UNIX pristup odnosno filozofija alatima, a istovremeno, budući da je na tu foru dostupna baš vsaka komanda iz UNIX-ovog arsenala, vi(1) uz pomoć tog mehanizma ima mogućnost uređivanja jednaku celom UNIX operativnom sustavu, dok EMACS to mora implementirati v svojem programu, funkcionalnost-po-funkcionalnost.
__________________
Alas for the weakness of the great! Mighty king is Gil-Galad, and wise in all lore is master Elrond, and yet they will not aid me in my labors. Can it be that they do not desire other lands to become as blissful as their own, nay, even as Valinor?

Zadnje uređivanje Annatar : 10.05.2017. at 20:06.
Annatar is offline  
Odgovori s citatom
Old 10.05.2017., 19:58   #17
Quote:
Annatar kaže: Pogledaj post
I v tome se vidi klasični UNIX pristup odnosno filozofija alatima, a istovremeno, budući da je na tu foru dostupna baš vsaka komanda iz UNIX-ovog arsenala, vi(1) uz pomoć tog mehanizma ima mogućnost uređivanja jednaku celom UNIX operativnom sustavu, dok EMACS to mora implementirati v svojem programu, funkcionalnost-po-funkcionalnost.
Ha, pretpostavljo sam da negdje leži krucijalna prednost Vi(m)-a u odnosu na Emacs (osim što je Vi u paketu vjerojatno sa svim UNIX/Linux/BSD sustavima)!

Primjer je super, kao i objašnjenje.

Samo jedno pitanje: zakaj uvijek vi(1), zakaj ne samo vi?
__________________
There is absolutely no cause for alarm.

Zadnje uređivanje sotonik123 : 10.05.2017. at 20:09.
sotonik123 is offline  
Odgovori s citatom
Old 10.05.2017., 20:10   #18
Quote:
sotonik123 kaže: Pogledaj post
Samo jedno pitanje: zakaj uvijek vi(1), zakaj ne samo vi?
Kod:
% man vi
VI(1)                           User Commands                          VI(1)
Odjeljak 1 v ugrađenom dokumentacijskom sustavu. Odjeljak 1 su korisničke komande, a notacija vi(1) te upućuje da postoji priručnik v odjeljku 1 koji možeš pogledati.

Pričekaj malo dok počneš formatirati dokumente z nroff(1)-om
__________________
Alas for the weakness of the great! Mighty king is Gil-Galad, and wise in all lore is master Elrond, and yet they will not aid me in my labors. Can it be that they do not desire other lands to become as blissful as their own, nay, even as Valinor?
Annatar is offline  
Odgovori s citatom
Old 10.05.2017., 20:22   #19
Quote:
sotonik123 kaže: Pogledaj post
Dobro, da uklonimo nedoumice: nije li u Vim-u uključeno sve što je u Vi-u i još k tome dodana dodatna razina funkcionalnosti? Odnosno, nije li Vim ustvari nabrijana verzija Vi-a?
Jest.
__________________
Alas for the weakness of the great! Mighty king is Gil-Galad, and wise in all lore is master Elrond, and yet they will not aid me in my labors. Can it be that they do not desire other lands to become as blissful as their own, nay, even as Valinor?
Annatar is offline  
Odgovori s citatom
Old 10.05.2017., 20:55   #20
Quote:
Annatar kaže: Pogledaj post
...da ne umeće hyphens (zaboravl sem kak se to na hrvatskom zove, "crtice"?)
Meni, a vjerojatno i starijim purgerima je možda najbolji prijevod njemački Bindestrich, jer osim nespretne spojnice i neprikladnog minusa u hrvatskom vjerojatno nema drugog prijevoda/sinonima.

:grammarnazi-mode-off:
__________________
There is absolutely no cause for alarm.

Zadnje uređivanje sotonik123 : 10.05.2017. at 21:12.
sotonik123 is offline  
Odgovori s citatom
Odgovor


Tematski alati
Opcije prikaza

Kreni na podforum




Sva vremena su GMT +2. Trenutno vrijeme je: 05:48.