~Minden létező, non-windows os-en alapból* megtalálható karakteres felületű szövegszerkesztő, ami megkönnyíti az ember életét.
Ha már annyi parancs tartozik hozzá, akkor összegyűjtöm [idővel] - ha más is tud hozzáírni, akkor happy day.
kinézet:
VARÁZSLAT - RÖVID MAGYARÁZAT
[ code ] [ /code ] -ba rakjátok, ha lehet:
#########
wget -q "http://hup.hu/node/97489" -O - | sed "s/<pre class=\"bb-code-block\">/<pre class=\"bb-code-block\">################/g" | perl -E 'my $_ = do { local $/; <> }; say join qq!\n!, m!\Q<pre class="bb-code-block">\E\K(.*?)(?=\Q</pre>\E)!gs' | sed "s/</</g" | sed "s/>/>/g" | sed "s/&/\&/g"
#########
még egy dolog: a rövid magyarázatot magyarul írjuk [mert vannak, akik nem tudnak angolul, stb. nem én. ].
nem pont leírások linkelésére gondolok, hanem konkrét parancs/magyarázatra
lehetőleg ne zárjunk le commentet azzal, hogy válaszolunk rá, hátha az illető később módosítja, javítja, amit írt.
amit már egyszer leírtak, azt ne írja le más, viszont ha egyszer leírtál valami parancsot, akkor azt ne töröld.
köszi
*javítva - http://hup.hu/node/97489#comment-1193215
- 40067 megtekintés
Hozzászólások
kezdem:
Használata:
Fájl megnyitása: vim valami.conf
ESC - normál módba való visszatérés [vagy Ctrl++], ahol pl.: a parancsokat adhatod ki [két ESC pl. akkor kell, ha v-módból való kilépésnél, ki van jelölve valami]
i - "beillesztés mód" bekapcs [INSERT mód], "normálisan gépelhetsz"
I - ua., csak éppen a "whitespace" utáni résznél kezd a sorban [nagy " i "-betű] [tehát ha van TAB benne, akkor az után rögtön] [A - a sor legvégén kezd]
v - visual mode [ki tudsz jelölni kurzorral is szöveget, de ha átírod a ".vimrc"-t, akkor egérrel is jelölhetsz] [V - kijelöli a sort]
Mentés, megnyitás, stb:
:q! - kilépés mentés NÉLKÜL&kérdezés nélkül
:q - kilépés [ha nem módosítottuk a fájlt]
:w - mentés
:x - kilépés MENTÉSSEL&kérdezés nélkül [vagy :wq! vagy ZZ]
:sav filenev - mentés másként "filenev" néven, és azt megnyitja
:vsplit filenev - megnyit egy "filenev" nevezetű fájlt, függőleges vonallal elválasztva [:split filenev - vízszintesen]
:tabnew filenev - ua., csak egy új fülön nyitja meg [Ctrl+PgUp-al mozogsz köztük, vagy ":tabn" és ":tabp"-vel]
:call valami - a .vimrc-be írt funkció lefuttatása
Kurzor irányítása:
h,j,k,l - balra, le, fel, jobbra [vagy kurzorral is mozoghatsz, DE inkább ezt tanuld meg]
Ctrl+f, vagy Ctrl+b - oldal ugrása Előre, vagy Hátra [PgUp vagy PgDown] pl.: beírod, hogy "10", utána PgDown gomb = 10 oldalt ugrik lefele
G - a file végére ugrik [vagy :$]
gg - a file elejére ugrik
^ - az első nem "whitespace"-es karakteréhez ugrik
0 vagy $ - sor elejére vagy végére ugrani [Home vagy End]
w - egy szót előre [b - hátra]
{ - ugrás a bekezdés elejére [ } - bekezdés végére]
% - ha zárójelen állunk, átugrik a párjára [és fordítva]
fu - előre az első "u" betűig [soron belül]
Fu - vissza az utolsó "u" betűig [soron belül]
:300 - a 300. sorhoz ugrik [vagy "300G"]
20| - a 20. oszlophoz ugrik a soron belül
Ctrl+g - megmutatja, hogy módosított-e a fájl + hol vagy a fileon belül
w - a következő szó elejére ugrik [b - az előző szó elejére ugrik]
* - átugrik a következő szóra, ami egyezik azzal, amin álltál, mikor megnyomtad a *-ot [# -al visszafelé ugyanez]
Szerkesztés:
o - új sor nyitása a kurzor alatt [O - a kurzor felett]
x - kurzor alatti karakter törlése [3 karakter törlése pl.: 3x] [kurzor előtti karakter törlése: X]
dw - kurzortól a szó végéig törlés, Beleértve a szóközt [5dw - ua., csak 5-ször.]
de - kurzortól a szó végéig törlés, NEM beleértve a szóközt [mármint az utána levő szóközt]
d$ - kurzortól a sor végéig törlés
dd - sor törlése [2dd - 2 sor törlése pl.] [D - ua.]
%d - fájl tartalmának törlése
daw - kurzor pozíciótól függetlenül, ha a szón belül vagyunk, kitörli azt
d} - törlés a bekezdés végéig [csak egy "ötvözés" volt]
> - a kijelölt rész bentebb ""tolása"" [ - "kintebb"] - "olyan, mint egy csoportos TAB" :D
c0 - a kurzor és a sor eleje közti szöveg átírása [c$ - -||- és a sor vége -||- vagy C]
cw - átírás a szó végéig [3cw - a következő 3 szó átírása] [a "c" a "d" "párja", de nem csak töröl, hanem i-be is rak utána]
r - a kurzor alatti karakter cseréje egy másikkal [replace]
s - a kurzor alatti karakter helyettesítése bármennyi karakterrel [substitute, i módba tesz]
3s - a következő három karakter helyettesítése bármennyi karakterrel [i módba tesz]
d/valami - törlés előre, amíg "valami"-ig nem érünk, "valami" megmarad
d?valami - ua., csak vissza, & a "valami" törlésre kerül
Keresés:
/valami - keresés előre [a "valami" szót] [szó helyet akár regexp-eket is írhatunk! :)
?valami - keresés hátra
n - ugrás a következő találatra
N - ugrás az előző találatra
Csere:
:s/valami1/valami2 - az aktuális sorban a valami1 első előfordulását valami2-re cseréli
:s/valami1/valami2/g - az aktuális sorban a valami1 minden előfordulását valami2-re cseréli
:%s/valami1/valami2/g - a teljes fájlban
:.,$s/valami1/valami2/g - a kurzor sorától a fájl végéig
:1,.s/valami1/valami2/g - a fájl elejétől a kurzor soráig
:%s/valami/\U&\E/g - a "valami" szót nagybetűssé alakítja mindenhol
Indítás idejű kapcsolók:
vim +1000 valami.conf - az 1000. sornál nyitja meg a valami.conf fájlt
vim +/log - a "log"-szórészt tartalmazó sornál nyitja meg a fájlt
vim -b +/"Continue" valamiprocess - Bináris fájlok szerkesztése, példában a "Continue" szónál nyitja meg a fájlt, átírhatjuk [de azért ha lehet az eredeti hosszal, azaz ez esetben 8 karakterrel, különben segfault :D]
Egyéb:
u - utolsó parancs visszavonása
U - az egész sort helyreállítja
Ctrl+r - ismét [mármint visszavonás ellentettje]
yy - az egész sor a vágólapra [vagy Y] [5yy - öt sor a vágólapra]
d5d [majd p] - kivágja a kurzortól számított öt sort, és a p-vel beillesztheted később azt a kívánt helyre [~ugyan ezt teszi a ":1,5m$" - utóbbi a fájl végéhez fűzi hozzá a pl.: 5 sort :)]
p - vágólap tartalmának beillesztése a kurzor után, paste [P - elé]
yyp - aktuális sor másolása&beillesztése [vagy Yp]
y} - másolás a bekezdés végéig
gU - a kijelölésben szereplő szöveget átkonvertálja nagybetűssé [vagy U] [gu - kisbetűssé] [de lehet most is ötvözni pl.: gU10l - a következő 10 karaktert nagybetűssé alakítani]
- A hozzászóláshoz be kell jelentkezni
Windows OS-en is megtalálható a vi (vim).
. - utolsó módosítás ismétlése
- A hozzászóláshoz be kell jelentkezni
keresesnel nem kell a :, tehat nem :/valami es :?valami hanem /valami es ?valami
CTRL-C - ESC helyett hasznalhato (kenyelmesebben elerheto)
:!parancs - shell parancs vegrehajtasa (ha van kijelolve egy v. tobb sor, akkor azokra es a kimenetre csereli), pl kijelolsz tobb sort, majd: :!sort sorbarakja oket
-
Slackware current / OSX Snow Leopard
- A hozzászóláshoz be kell jelentkezni
THX, ez nagyon hasznos volt nekem!
A szokás hatalma, nem hét!!!
- A hozzászóláshoz be kell jelentkezni
:.!parancs - a parancs kimenetet beilleszti a kurzorhoz
:wq
- A hozzászóláshoz be kell jelentkezni
Van beépített sort is, tehát elég a :sort.
- A hozzászóláshoz be kell jelentkezni
csak pelda volt :)
de egyebkent a topicba siman illik a :sort (csakugy mint peldaul a :make)
-
Slackware current / OSX Snow Leopard
- A hozzászóláshoz be kell jelentkezni
Viszont a beepitett sort kevesbe... hmm... okos.
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
Viszont nagyon sok esetben nem is kell több, mint amit tud.
- A hozzászóláshoz be kell jelentkezni
ci" - idezojelek kozotti szoveg cserelese, ugyanigy hasznalhato di" a torleshez, ci( zarojelekhez, stb.
ca" - hasonlo az elozohoz annyi kulonbseggel, hogy az idezojelet is csereli/torli
cit - ez is hasonlo az elozohoz, viszont ez html/xml file-oknal hasznalhato, tagek kozotti szoveg cserejere
cat - lasd fentebb, ez is html/xml tagek szerkesztese kozben hasznos, ez a taget is lecsereli
- A hozzászóláshoz be kell jelentkezni
ezekről nem is tudtam, nagyon jó, köszi :)
- A hozzászóláshoz be kell jelentkezni
Ehhez kell valami plugin, nem? Ha igen, melyik?
---------------------------------------------------------------------------------------
Unix is simple. It just takes a genius to understand its simplicity. — Dennis Ritchie
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Bovitenem meg >i}
paranccsal. Igy lehet pl kodblokkokat indentalni. Termeszetesen a kisebb-nagyobb jel cserelheto, valamint az i is a-ra es meg a zarojel is a megfelelore.
--
HUP Firefox extension
- A hozzászóláshoz be kell jelentkezni
sign up
-------------
Használj GoboLinuxot!
http://mek.oszk.hu/05800/05895/
:::A #86-os sorszámú hivatalosan bejegyzett GoboLinux felhasználó
- A hozzászóláshoz be kell jelentkezni
+1
int getRandomNumber() { // ←ez itt már az aláírásom
return 4;//szabályos kockadobással választva.
} //garantáltan véletlenszerű. xkcd
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
+1.
- A hozzászóláshoz be kell jelentkezni
+1
---------------------------------------------------
Talisker Single Malt Scotch Whisky aged 10 years :)
- A hozzászóláshoz be kell jelentkezni
s
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
+1
Fuszenecker Róbert
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
"lehetőleg ne zárjunk le commentet azzal, hogy válaszolunk rá, hátha az illető később módosítja, javítja, amit írt."
köszi szépen srácok...
most hogy fogok leiratkozni? :D
- A hozzászóláshoz be kell jelentkezni
+1 ide is, csakazértis!
:)
--
Fight / For The Freedom / Fighting With Steel
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
+1
--
TH
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
+1
--
[citation needed]
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
+1
Sic Transit Gloria Mundi
- A hozzászóláshoz be kell jelentkezni
sub (combo breaker)
- A hozzászóláshoz be kell jelentkezni
+1
csak, hogy erre is legyen válasz :D
- A hozzászóláshoz be kell jelentkezni
hasznos, koszi
- A hozzászóláshoz be kell jelentkezni
Tényleg jó topik, egy dolog amit nem láttam:
kijelölni például egy zárójelen belüli szöveget
vi(
ha a zárójelen belül állsz, és command módban vagy.
v mint visual, i mint inner és utána hogy mit. Lehet w is, akkor az egész szót jelöli ki.
- A hozzászóláshoz be kell jelentkezni
mar volt, bar nem v-vel (kijeloles) hanem c-vel (change)
-
Slackware current / OSX Snow Leopard
- A hozzászóláshoz be kell jelentkezni
Na gyertek, mutassatok meg hogy mennyire tanultatok meg: VimGolf
- A hozzászóláshoz be kell jelentkezni
ezjó :)
- A hozzászóláshoz be kell jelentkezni
hmm. jó 5let
- A hozzászóláshoz be kell jelentkezni
Ha esetleg elkerülte volna a figyelmetek, van ilyen is: http://vimgolf.com/
- A hozzászóláshoz be kell jelentkezni
könyvjelző
--
unix -- több, mint kód. filozófia.
Life is feudal
- A hozzászóláshoz be kell jelentkezni
++
- A hozzászóláshoz be kell jelentkezni
hat mar szep szammal osszegyultek a parancsok / kombok mehetnek hupwiki-be
___
info
- A hozzászóláshoz be kell jelentkezni
Nem tudom, hogyan gondoltad, de a Vim szócikkbe beleraktam egy linket ide.
- A hozzászóláshoz be kell jelentkezni
:vs , :Vex - vertical split
:sp , :Hex - horizontal split
^[gt - tabok kozotti valtas
:tabnew - new tab
:n - next file (vim a b)
ctrl+p - code kiegeszites
___
info
- A hozzászóláshoz be kell jelentkezni
A split parancsoknak fajl is megadhato parameterkent, es akkor azt a fajlt nyitja be a megnyilo uj pufferbe.
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
Windowba. a megnyilo uj windowba.
- A hozzászóláshoz be kell jelentkezni
:set paste - beillesztes eseten formazas megtartasa
^w + kurzor nyilak - tobb split eseten kozottuk mozgas, akar vimdiff-ben is
___
info
- A hozzászóláshoz be kell jelentkezni
@pinyo_villany kurzor helyett szerintem ^w [hjkl]
sokkal szebb. :).
Plusz, ha mar spliteketrol beszelunk:
^ws - split horizontal
^wv - split vertical
Sot, igazabol a :h CTRL-W
a leghasznosabb.
- A hozzászóláshoz be kell jelentkezni
Insert mode-ban:
ctrl+n - File-ban található ismétlődő szavak kiegészítése.
De pl. ha .py fájlban importálsz egy modult, akkor a modul függvényeit is
kiegészíti. A többi programnyelvnél nem tudom mit csinál, ki kéne próbálni.
-----------
"Generally, Russian technology assumes dumb machines and smart humans, not the other way around." -- The Russian Tea HOWTO
- A hozzászóláshoz be kell jelentkezni
gf
Normál módban a kurzor alatti fájlt nyitja meg (ha tudja). Imádom.
- A hozzászóláshoz be kell jelentkezni
és hogy lehet visszalépni az előző fájlba? :)
- A hozzászóláshoz be kell jelentkezni
CTRL-o
- A hozzászóláshoz be kell jelentkezni
:r filenev.txt - a megadott file tartalmat beilleszti
-
Slackware current / OSX Snow Leopard
- A hozzászóláshoz be kell jelentkezni
kell
- A hozzászóláshoz be kell jelentkezni
parancs modban (kettospont utan) ctrl-v <specialis billentyu v. billenyukombo> "szo szerint vetel"
pl. :%s/bela/<ctrl-v><tab>/g
Minden belat tab karakterre cserel
:map <billentyu> <billentyusorozat>
billentyu megnyomasahoz billentyusorozat hozzarendelese normal modban. Lehet rekurziv is, pl:
:map e :%s/x/y/g<ctrl-v><enter>:wn<ctrl-v><enter>e
e gomb megnyomasara minden x-et y-ra cserel az egesz fajlban
fajlt menti (:w) majd kovetkezo fajlra ugrik (:n, egyutt :wn)
e, tehat kezdje elorol az egeszet
hasznos ilyen vim konyvtar/*.kiterjesztes tipusu dolgokhoz.
:imap <billentyu> <billentyusorozat>
ugyanez inzertmodra
pl. :imap <ctrl-v><ctrl-p> <ctrl-v><esc>:s/.*/<p>&<\/p>/<ctrl-v><enter>i
Az epp szerkesztett sort html <p> tagek koze rakja.
q<billentyu> <dolgokcsinalasa> q
makro rendelese billentyuhoz
(fontos: a masodik q-nal command modban kell lennunk)
majd:
@<billentyu>
makro lejatszasa billentyun
:colorscheme <tab> szinsema allitasa
:syntax on
:set filetype=<tipus>
:set softtabstop=4 - tab szelessege
:set shiftwidth=4 - indentalas szelessege
:set expandtab -> meglevo tabokat space-re konvertalja
vizualis modban > (kacsacsor) : indentalas
:paste - automatikus indentalas es egyeb viccek kikapcsolasa
:nopaste - ezek visszakapcsolasa
- A hozzászóláshoz be kell jelentkezni
set incsearch -- inkrementális keresés, miközben gépelem a keresendő szöveget, már keres, nem vár ENTER-re
set hlsearch -- és meg is mutatja :-)
set ruler -- mutatja a sor- és oszlopkoordinátákat
Fuszenecker Róbert
- A hozzászóláshoz be kell jelentkezni
Be szoktam állítani, hogy egy gombnyomásra tudjon XML-t rendberakni. (akinek így ismerős: autoident)
:map <F2> <Esc>:1,$!xmllint --format -<CR>
- A hozzászóláshoz be kell jelentkezni
En tobbek kozott ezeket irtam a .vimrc-mbe:
" automata zarojelek
inoremap ( ()<Esc>i
inoremap " ""<Esc>i
inoremap ' ''<Esc>i
inoremap [ []<Esc>i
inoremap } {}<Esc>i
inoremap { {<Esc>o}<Esc>O
" pl stringek felsorolasanal nagyon hasznos
" us billentyuzeten alt gr + ;(é)
inoremap » <Right>,<Space>
---------------------------------------------------------------------------------------
Unix is simple. It just takes a genius to understand its simplicity. — Dennis Ritchie
- A hozzászóláshoz be kell jelentkezni
Ez nagyon jó. Én még ezt szoktam:
" vimrc-be: C/C++-ban eleg #i -t és #d -t gepelni es kiegesziti
iab #i #include
iab #d #define
- A hozzászóláshoz be kell jelentkezni
@@ - utoljara vegrehajtott makro futtatasa
-
Slackware current / OSX Snow Leopard
- A hozzászóláshoz be kell jelentkezni
Parancs módban:
:e .
könyvtárstruktúra megnyitása, tallózásra
- A hozzászóláshoz be kell jelentkezni
vow
- A hozzászóláshoz be kell jelentkezni
Hoppá, ez nagyon jó!
- A hozzászóláshoz be kell jelentkezni
hát van, aki ezt nem ismeri? netrw FTW. (asszem így híjják) SSH-n, FTP-n is ezzel lehet okoskodni.
- A hozzászóláshoz be kell jelentkezni
Azt hiszem ez ugyanaz:
" Aktualis konyvtart listazza
:E
- A hozzászóláshoz be kell jelentkezni
Hogy lehet kikapcsolni a backup fájlokat? Win alatt nem akar működni, hiába van benne a vimrc-ben:
set nocompatible
set nobackup
set nowritebackup
--
Azt akarom, hogy az emberek ne kényszerből tanuljanak, hanem azért, mert tudni akarnak.
- A hozzászóláshoz be kell jelentkezni
pedig ezek utan nem szabad neki...
biztos hogy jol nevezted el a file-t? windows alatt nem .vimrc hanem _vimrc!
-
Slackware current / OSX Snow Leopard
- A hozzászóláshoz be kell jelentkezni
Jaja, a gyári rc-t manipulálom, más beállítások működnek. Annak igazából még nem néztem utána, hogy milyen kapcsolókkal van lefordítva, de mivel minden fórumozó, aki ugyanezzel próbálkozott sikerrel járt, így gyanítom, hogy nem a binárisban van a hiba, csak én nézek félre valamit...
Ha gondolod itt az rc, nézegesd: http://pastebin.com/kzQ2UBsY
--
Azt akarom, hogy az emberek ne kényszerből tanuljanak, hanem azért, mert tudni akarnak.
- A hozzászóláshoz be kell jelentkezni
A source direktivak a vegen esetleg?
- A hozzászóláshoz be kell jelentkezni
Köszi, valóban ez volt a hiba. :)
--
Azt akarom, hogy az emberek ne kényszerből tanuljanak, hanem azért, mert tudni akarnak.
- A hozzászóláshoz be kell jelentkezni
Ez igy nem igaz, 7.3-nal tuti mukodik a .vimrc is meg a _vimrc is, sot a .gvimrc es a _gvimrc is.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Vimrc-be való hasznosság:
" Sorvegi whitespace torlese; a fajl vegen mindenkepp csak egy ures sor
" legyen ( vim alapbol tesz egyet ), majd kurzor visszaallitasa eredeti helyere.
" ( :s miatt elmozdul )
autocmd bufwritepre * let save_cursor = getpos( '.' ) |
\ silent %s/[ \t]\+$//ge |
\ silent %s/\n*\%$//e |
\ call setpos( '.', save_cursor )
És még egy dolog, ami számomra hasznosnak bizonyul, az a tobbsoros mintailleszkedes.
:%s/EZ\_.AZ// EZzel kezdve minden sort torol AZzal bezarolag. ( bovitett * )
--
Azt akarom, hogy az emberek ne kényszerből tanuljanak, hanem azért, mert tudni akarnak.
- A hozzászóláshoz be kell jelentkezni
C-X C-F - automatikus fájlnév-kiegészítés insert módban
- A hozzászóláshoz be kell jelentkezni
xp - normál mód, két karakter kicserélése (elgépeléseknél hasznos)
C-G - normál mód, fájlról némi információ
- A hozzászóláshoz be kell jelentkezni
mX - normál mód, könyvjelző (mark) létrehozása (X lehet a-zA-Z)
'X - normál mód, az X könyvjelzőre ugrás
:marks - könyvjelzők listája
:y X - az X regiszterbe másolás (X megint a-zA-Z)
:"X p - az X regiszterből beillesztés (P-vel szintén)
- A hozzászóláshoz be kell jelentkezni
:wq -> :x :)
- A hozzászóláshoz be kell jelentkezni
en a ZZ parancs hive vagyok :D
(illetve ugyanez mentes nelkul ZQ)
es akkor meg mondja valaki, hogy nem lehet kilepni a vimbol, egy csomo megoldas van ra :D
-
Slackware current / OSX Snow Leopard
- A hozzászóláshoz be kell jelentkezni
egyik legalapvetobb kimaradt:
^j ^m - "kocsivissza soremeles"
az entert - foleg bizonyos bill.-eken - kicsit nehezebb elerni mint ezeket, raadasul nem mindig jelentik ugyanazt
en mindig ezeket hasznalom... (konzolban is, emacs-ben is, stb)
- A hozzászóláshoz be kell jelentkezni
Egy rendes statusline-ból szerintem megtudhatod, hogy épp mit is 'jelent' az Enter. Pl.:
set laststatus=2 " Mindig mutassa a statuszt.
set statusline=%F%m%r%w\ [%{&fenc}\ %{&ff}]%=[HEX:\ \%02B]\ [%4v\ %4l\ %3p%%]
No, itt a fileformat ( ff ) megmondja, hogy csak soremeles ( LF ), vagy kocsi-vissza ( CR ) is odakerül-e a sor végére.
--
Azt akarom, hogy az emberek ne kényszerből tanuljanak, hanem azért, mert tudni akarnak.
- A hozzászóláshoz be kell jelentkezni
amit irtal az is nagyon jo h itt all, de nem erre gondoltam:
a ^j es ^m mas funkciot valosithat meg
pl parancs modban a ^j a kovetkezo sorba lep de ugyanabba az oszlopban marad, mig a ^m a kovetkezo sor elso aszem nem white space karakterere ugrik
amugy nemtudom h hol es miben kulonbozik meg a ketto, sokat meg nem szerkesztettem forrast vi-al(eljon annak is az ideje), emacs-ben pl a ^j behuzassal(indent) csinal uj sort, a ^m-nel pedig az uj sor elejen lesz a kurzor, slime-ban ^m: evaluate, ^j: new line, lisp interaction mode-ban ^j: evaluate, ^m: new line
arra gondoltam h biztos a vi-nal is ennyire kulonbozo es egyenrangu(ugy ertem az egyik nem elsodlegesebb a masiknal mintha C-enter -rol es enter-rol lenne szo) a ketto, de mindenesetre esetenkent biztosan fannak funkcionalis kulonbsegek
szoval vi-ban nemtudom mennyire van igy, de emacs-ben a ^j es ^m (C-j C-m) inkabb olyan mintha lenne enter1 es enter2 (es tok kenyelmes :) )
- A hozzászóláshoz be kell jelentkezni
+s
- A hozzászóláshoz be kell jelentkezni
hjkl
--
NetBSD - Simplicity is prerequisite for reliability
- A hozzászóláshoz be kell jelentkezni
HJKL? :)
- A hozzászóláshoz be kell jelentkezni
__ VIMRC __
inoremap <expr> <C-H> CommentHeader()
" -- COMMENTHEADER --
" Insert modban a hivasa utan megadott karaterrel kitolti a sor veget.
" Pl.: ^H- hatasara a kurzor poziciojatol textwidth-ig kotojelek lesznek.
function CommentHeader()
let line = getline( '.' )
let trail = ''
let trailch = nr2char( getchar() )
let i = len( line )
while i < &textwidth
let trail .= trailch
let i += 1
endwhile
return trail . "\r"
endfunction
--
Azt akarom, hogy az emberek ne kényszerből tanuljanak, hanem azért, mert tudni akarnak.
- A hozzászóláshoz be kell jelentkezni
com! -nargs=? -range Li if <q-args>=="o"|<line1>,<line2>s#\(.*\)#<li>\1</li>#|<line2>s#$#</ol>#|<line1>s#^#<ol>#|elseif <q-args>=="d"|<line1>,<line2>s#\([^:]*\):\(.*\)#<dt>\1</dt><dd>\2</dd>#|<line2>s#$#</dl>#|<line1>s#^#<dl>#|else|<line1>,<line2>s#\(.*\)#<li>\1</li>#|<line2>s#$#</ul>#|<line1>s#^#<ul>#|endif
Első Vim parancsom, azóta se készült belőle több. Ha kijelölsz egy szöveget, akkor HTML formátumú listát gyárt belőle. Ha nincs paramétere, akkor UL tagek közé zárja, ha "o" paramétert kap, akkor OL tagek közé.
Ha "d" a paramétere, akkor az ilyen formátumú listát formázza meg DL tagek között:
fogalom1:definíció1
fogalom2:definíció2
…
Ezt a .vimrc-be kell rakni. Amúgy nem sűrűn használom. Cserébe minden kevésbé tech-savvy embert megrémít a kinézete, azért már megérte :D
int getRandomNumber() { // ←ez itt már az aláírásom
return 4;//szabályos kockadobással választva.
} //garantáltan véletlenszerű. xkcd
- A hozzászóláshoz be kell jelentkezni
__ VIMRC __
Gcc hibaüzenetek kiírása a hibaablakba, anélkül, hogy a makeprg-t meg kéne változtatni. ( így a makefile és a különálló források is lefordíthatóak )
" Make hiba eseten nyissa meg a hibaablakot.
autocmd QuickFixCmdPost * botright cwindow
command -nargs=* Gcc w | call GccCompile( '<args> -o %:r %' )
" -- GCCCOMPILE --
" Makefile nelkuli forditas.
function GccCompile( args )
let old_make = &makeprg
let &makeprg = 'gcc -Wall ' . a:args
make
let &makeprg = old_make
return
endfunction
Használat:
:Gcc [kapcsolók és egyéb források]
Ui.: Bocsi, hogy kicsit off hozzászólások, mivel nem alap parancsok, de Vim-hez kapcsolódnak.
--
Azt akarom, hogy az emberek ne kényszerből tanuljanak, hanem azért, mert tudni akarnak.
- A hozzászóláshoz be kell jelentkezni
__ VIMRC __
" Megjelenes beallitasa a terminal meretei szerint.
autocmd VimEnter * call AutoLayout()
" Vertikalis scrollbar kikapcsolasa - TlistToggle miatt elcsuszik a margo, ha
" nincsenek kikapcsolva.
set guioptions-=r
set guioptions-=l
set guioptions-=R
set guioptions-=L
" -- AUTOLAYOUT --------------------------------------------------------------
" Ures ablak nyitasa a jobb oldalon ( vagy ha van Tlist, akkor azt nyitja
" meg ), hogy jelolje a szovegszelesseget, ha a textwidth kissebb, mint a
" terminal szelessege. Ezenkivul ha van meg eleg hely a sorszamoknak, akkor
" azokat is jelenitsuk meg.
" Ismert hibaja, hogy nincs felkeszitve a terminal atmeretezesere.
function AutoLayout()
" Ha a szovegszelesseg be van allitva es ez kisseb az ablak / terminal
" meretenel, csak akkor van hatassal.
if (&textwidth == 0)
\ || (&textwidth > &columns)
return
endif
" Dokumentum + sorszamozas szelessege.
let margin = 0
" Ha nincs megadva a sorszamozas szelessege, akkor beallitjuk azt.
if &numberwidth == 0
let &numberwidth = 5
endif
" Ha a sorszamozas is belefer a terminalba, akkor kapcsoljuk be.
" A szelesseghez hozzaadjuk a sorszamozas es a szoveg kozti 1 karakter
" szeles elvalasztot is.
if (&textwidth + &numberwidth) <= &columns
set number
let margin += &numberwidth
endif
let margin += &textwidth
" Ha van Tlist, es van meg legalabb 4 ( Tlist minimum szelessege ? ),
" vagy ( ha a winminwidth nagyobb, akkor ) winminwidth szelessegu hely, es
" meg 1 a vertikalis ablakok elvalasztojanak, akkor a Tlist-et nyissuk
" meg, egyebkent meg egy ures dokumentumot rakjunk jobb oldalra.
" Azert szamit a winminwidth, mert kihatassal van a Tlist-re:
" ha bezarjuk azt, majd ujra megnyitjuk, akkor a winminwidth felulbiralja
" az altalunk beallitott Tlist_WinWidth szelesseget.
if exists( ':TlistOpen' )
\ && ((margin + (&winminwidth < 4 ? 4 : &winminwidth) + 1) <= &columns)
let g:Tlist_WinWidth = &columns - margin - 1
TlistOpen
" Visszavaltas az eredeti dokumentumra.
if g:Tlist_Use_Right_Window == 1
wincmd h
else
wincmd l
endif
elseif (margin + 1) <= &columns
" Vertical split es uj dokumentum nyitasa a jobb oldalon.
botright vnew
" A 0 ablakszelesseget is engedelyezzuk az ablak letrehozasanak
" idejeig, mert az ablakok kozti elvalaszto 1 karakter szeles, igy ezt
" is hasznalhatjuk margonak.
let old_wmw = &winminwidth
let &winminwidth = 0
" Mivel nem engedi a 'vertical resize' utan valtozok beirasat, igy egy
" sztringbe mentem a parancsot. ( ha valaki tudja, hogy hogy lehet
" helyben kiertekelni az osszeget, az kerem kozolje )
let resize_command = 'vertical resize ' . margin
" Valtsunk a bal oldali ( eredeti ) ablakra es meretezzuk at.
wincmd h | exe resize_command
" Visszaallitjuk az ablakok minimalis meretet az eredetire.
let &winminwidth = old_wmw
endif
" Fixaljuk a margo helyzetet, de ha pl. becsukjuk a Tlistet, atmeretezzuk
" a terminalt, majd megint kinyitjuk, akkor nem a megfelelo helyre kerul.
set winfixwidth
return
endfunction
--
Azt akarom, hogy az emberek ne kényszerből tanuljanak, hanem azért, mert tudni akarnak.
- A hozzászóláshoz be kell jelentkezni
... asszem kicsit túlbonyolítottam a dolgot, íme egy egyszerűbb megoldás, ami ugyan kicsit 'weird', de szerintem használható, mert minden buffer szövegszélességéhez egyénileg igazodik. Kíváncsi vagyok, ti is használhatónak találjátok-e?
__ VIMRC __
" Automatikus ablakszelesseg a textwidth szerint.
autocmd BufWinEnter * call AutoWidth()
autocmd WinEnter * call AutoWidth()
" -- AUTOWIDTH --------------------------------------------------------------
function AutoWidth()
if &textwidth == 0
return
endif
if winnr() == bufwinnr( g:TagList_title )
setlocal modifiable
let &winwidth = g:Tlist_WinWidth
setlocal nomodifiable
return
endif
let &winwidth = &textwidth
if &number
let &winwidth += &numberwidth
endif
let wincmd = 'vertical resize ' . &winwidth
exe wincmd
set winfixwidth
return
endfunction
--
Azt akarom, hogy az emberek ne kényszerből tanuljanak, hanem azért, mert tudni akarnak.
- A hozzászóláshoz be kell jelentkezni
ma pont kellett, ugyhogy berakom ide is
mindenki kedvenc vindoza szereti 2byte-os kodolassal tarolni a file-okat, mert miert is ne foglaljuk duplaannyi helyet mint amennyit kell, ugye...
alapbol (nalam legalabbis) windows alatt nem nyitja meg ezeket helyesen a vim
a megoldas a kovetkezo:
file-t megnyitni vimmel, majd a kovetkezo parancs kiadasa:
:e ++enc=ucs-2le
ettol hirtelen megjavul a file, es mar normalisan szerkesztheto \o/
-
Slackware current / OSX Snow Leopard
- A hozzászóláshoz be kell jelentkezni
Nekem linux alatt a .vimrc-ben a következő sor oldott meg minden karakterkódolási problémát:
set fileencodings=utf-8,latin2
A sorrend fontos, abban a sorrendben próbálkozik.
- A hozzászóláshoz be kell jelentkezni
ggVG= - reindent es retab a file-ra cmd modban
___
info
- A hozzászóláshoz be kell jelentkezni
gk; gj illetve g{up} g{dn} - hosszú sorokban a sorok törésein belül lépked
gq - kijelölt rész formázása (pl. sortörés)
CTRL-v - visual blokk (cmd módban), így lehet táblázatkezelõt csinálni a vimbõl. Pl. 0CTRL-vjjjIE az összes kijelölt sor elejére beteszi, hogy E
`. - az utoljára editált ponthoz ugrik vissza
`[ - a beillesztett szöveg elejére ugrik
`] - a beillesztett szöveg végére ugrik
g CTRL-g - info a bufferrõl
CTRL-a, CTRL-x- számot növel/csökkent. Én decimálisra használom, ezért kell hozzá: set nrformats=
Ez lehet környezetfüggõ, nekem Gnome/xfce alatt:
"+p es "+y - jobb gombos copy/paste regiszterbol/be
shift+insert - betesz a clipboardbol,
visual mód pedig pedig betesz a clipboarba (utána egér középsõ gomb visszaadja máshol)
Insert módban:
CTRL-p - kiegeszit, ha már volt úgy induló szó
CTRL-x CTRL-l - line complete, ha már volt úgy induló sor
CTRL-x CTRL-f - filenév kiegészítés aktuális könyvtárból
CTRL-v - ascii kódokat közvetlenül beír insert módban.
/CTRL-r CTRL-w - keresés mezõbe behúzza a cursor alatti szót
/CTRL-r" - az utoljára másolt szöveget behúzza a keresés mezõbe
:CTRL-r" - az utoljára másolt szöveget behúzza a cmd mezõbe
YankRing kiegészítõ:
http://www.vim.org/scripts/script.php?script_id=1234
CTRL-p, CTRL-n - váltogatja az utoljára beillesztett dolgokat
:tabv utasítás definícióm a .vimrc-bõl (a :tabe mintájára):
cabbrev tabv tabnew\|setlocal nomodifiable\|view
ezzel :tabv - új file-t nyit meg új tabban, read only és nomodifiable módban
.bashrc-be, mert nekem már a less is vim:
less(){
if [ $# -ne 0 ]; then vim "+noremap q :q<CR>" "+noremap <Space> <PageDown>" -p -M -R "$@"
else vim "+noremap q :q<CR>" "+noremap <Space> <PageDown>" -p -M -R -
fi
}
Lehet ám a bash-t is vim módban szerkeszteni, ez kell a .bashrc-be:
export EDITOR=vim
Ekkor bashban esc után élnek a vim parancsok, illetve v -re nálam behúz egy vimet, hogy szerkesszem a parancsot.
Ez pedig több filet egyszerre külön tabokban nyit meg, szintén bent van a .bashrc-mben:
alias vim="vim -p"
És: ismeritek a vimperator plugint firefoxhoz?
- A hozzászóláshoz be kell jelentkezni
hogy lehet a zárójelek párjára, blokkok másik végére ugrani?
a '%' nem működik jól:
fuggveny(pam,param,"string)blabla",2);
(ha számít a nyelv konkrétan mondjuk js-ben:) esetleg json-ban:) )
- A hozzászóláshoz be kell jelentkezni
99%-ig korrekt 7.1*-ben:
- ha egy sorba írom, mint itt, akkor a sztringből nem lát kifelé zárójelpárt, és a sztringben lévőt sem hiszi a függvényt nyitó párjának,
- ha külön sorba kerül a fv. neve és a sztring argumentum, akkor a sztringben állva a fv nyitóját a sztringbeli párjának veszi, de fordítva nem.
Szóval nem tökéletes, de érdektelen helyzetben vét.
*VIM - Vi IMproved 7.1 (2007 May 12, compiled Feb 11 2008 13:58:05)
Included patches: 1-242
- A hozzászóláshoz be kell jelentkezni
látja, (highlight), de nem oda ugrik
amíg egy sorban van nem is kell ez a funkció mert látom szemmel is, szóval pont hogy az az 1% számítana, de itt már egy sorban sem jó
asdf(['as(','df)','])']);
konkrétan hosszabb json-ban teljesen használhatatlan, épp amikor kellene
- A hozzászóláshoz be kell jelentkezni
Aha, ez a példa az összekuszált hamis párokkal szemléletesebb - ez tényleg megvadítja az ugrásokat.
- A hozzászóláshoz be kell jelentkezni
Szerintem a highlighternek nem sok koze van ehhez. Matchit plugin telepítve van? Az segithet ilyeneken.
--
HUP Firefox extension
- A hozzászóláshoz be kell jelentkezni
" matchit.vim: (global plugin) Extended "%" matching
" Last Change: Fri Jan 25 10:00 AM 2008 EST
" Maintainer: Benji Fisher PhD
" Version: 1.13.2, for Vim 6.3+
highlight alatt nem a syntaxhigltghtot értem hanem a kurzor mozgtásakor automatikusan kiszínezi a hátterét a _jó_ zárójelnek, bár ha a hamis zárózárójelen állok akkor is kiszínezi a nyitót, de ez már majdnem jól működik:
" Vim plugin for showing matching parens
" Maintainer: Bram Moolenaar
" Last Change: 2008 Sep 03
csak épp ugrani nem ugrik a matchit meg rosszul ugrik
- A hozzászóláshoz be kell jelentkezni
Nem tudom, melyik vim-et hasznalod, esetleg ujabb vimmel? Nekem 7.3-mal teljesen jol mukodik a matcheles.
--
HUP Firefox extension
- A hozzászóláshoz be kell jelentkezni
7.3 windows
f*ck, nem volt telepítve a matchit, most már működik :)
- A hozzászóláshoz be kell jelentkezni
http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
http://www.youtube.com/watch?v=_galFWwSDt0
http://vim.wikia.com/wiki/Vim_Tips_Wiki
Aktuális kedvenceim:
:sort
Ex módban adott regex-et tartalmazó sorok törlése/cut regiszterbe:
:let @a=''g/pattern/d A
- A hozzászóláshoz be kell jelentkezni
[+]
- A hozzászóláshoz be kell jelentkezni
'' - ez ket db szimpla ' legutolso poziciora ugras (pl. kereses, vagy bookmarkra ugras utan)
"*y - kijelolt szoveg masolasa clipboardra (windowson is)
"*p - clipboard tartalmanak beillesztese (windowson is)
-
Slackware current / OSX Snow Leopard
- A hozzászóláshoz be kell jelentkezni
Vágólapra másol linuxon. Na de melyikre? :) Ez a középső egérgombbal beilleszthetőbe pakolja.
- A hozzászóláshoz be kell jelentkezni
Nekem ezt egy szimpla visual is megteszi, miután második "v"-vel kikapcsoltam. (Visual line és visual block is tudja.)
- A hozzászóláshoz be kell jelentkezni
^e - gordites le (vagy fel, nezopont kerdese)
^y - gordites fel (vagy le, nezopont kerdese)
zz - a sor amiben a kurzor all az ablak kozepen lesz
zt - a sor amiben a kurzor all az ablak elso sora lesz; t mint top
zb - a sor amiben a kurzor all az ablak utolso sora lesz; b mint bottom
zh, zH, zl, zL - scroll egy karaktert/felkepernyot balra/jobbra
M - kurzort az ablak kozepere
L - kurzort az ablak aljara
H - kurzort az ablak tetejere
11j, 11k - csak sajat szokas, nalam a kepernyo felbontasa es a betumeret miatt nagyjabol negyedkepernyot fel/le
- A hozzászóláshoz be kell jelentkezni
Elnézést, nem olvastam végig, remélem még senki nem írta le...
inkrementális backup minden mentésnél (gyakran szörnyen hasznos volt...)
.vimrc-be
augroup vimrcEx
autocmd BufWritePre * let &bex = '_' . strftime("%y_%m_%d_%H%M%S") . '~'
augroup END
set backupdir=~/.vim_backup/
így értelem szerűen a ~/.vim_backup könyvtárba kerülnek szépen a fileok... Nem eszik olyan sokat, de nagyon hasznos akkor 1x... :)
másik amit gyakran használok:
:g/alma/d --> minden sor törlése amibe van alma...
:v/alma/d --> minden sor törlése amibe nincs alma...
- A hozzászóláshoz be kell jelentkezni
Így is lehet (a 'Enter' Enter lenyomást jelent):
1G!Ggrep -v alma'Enter'
1G!Ggrep alma'Enter'
a lehetőségeink innentől határtalanok, pl.:
1G!Gsort'Enter'
'Egy program egy dolgot csinál, de azt jól.'
- A hozzászóláshoz be kell jelentkezni
Ahh az összes kedvencemet irta mar valaki.. marad a
:Sex
;)
Na jó itt van még néhány trükk:
readonly fileok írása:
:w !sudo tee % > /dev/null
Ezekkel visszalehet hozni azt is amit már undo nem tud:
g- -- visszalép egy régebbi verzióra
g+ -- előrelép egy újabb verzióra
paste trükköt fentebb már irták, de mégegyszerűbb ha bevan állítva pl F5-re:
nnoremap <F5> :set invpaste paste?<Enter>
imap <F5> <C-O><F5>
set pastetoggle=<F5>
Tab-nak nemsok haszna van normal és visual módban ezért én indent-re használom:
nmap <TAB> ==
vmap <TAB> =
:r-t nemcsak fájlok beolvasására lehet használni hanem parancskimenekhez is:
:r! date
:.!date -- az aktuális sort cseréli le
^R insert módban:
% - aktuáls file neve
= - mini számológép ;) (akár hexet is lehet használni 0x előtaggal)
. - utoljára beillesztett szöveg
+ - rendszer vágólapján lévő szöveg
* - X11-es vágólap (kijelölés) -- bár ehhez IMHO egyszerűbb egy középső gombot nyomni egéren
/ - utolsó keresési minta
: - utolsó parancs
- A hozzászóláshoz be kell jelentkezni
subscribed
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni
Ha valahol egy nagyon bonyolult parancsot látsz, ez segíthet dekódolni:
- A hozzászóláshoz be kell jelentkezni
A
sort
akár domain-név szerint is sorba tudja rendezni az e-mail címeket:
foo@bar.com
jingle@bell.com
hibas sor
val@mi.hu
drink@bar.com
ez is egy hibas sor
:sort /^[^@]\+/
hibas sor
ez is egy hibas sor
foo@bar.com
drink@bar.com
jingle@bell.com
val@mi.hu
Magyarázat: a megadott regex-re illeszkedő sor eleji részeket figyelmen kívül hagyja, a mintára nem illeszkedő sorokat (jelen esetben a hibás sorok) pedig eredeti állapotukban hagyja, elkülönítve a rendezett soroktól. (itt a hibás sorokat azért nem rendezte, mert azok csak [^@] karakterből állnak, így figyelmen kívül hagyta őket)
További infó:
:help :sort
--
Azt akarom, hogy az emberek ne kényszerből tanuljanak, hanem azért, mert tudni akarnak.
- A hozzászóláshoz be kell jelentkezni
“1000k”-t beírva - visszaugrik 1000 sort
“1000” után enter - előre ugrik 1000 sort
--
https://www.youtube.com/watch?v=K_lg7w8gAXQ&feature=player_detailpage#t…
- A hozzászóláshoz be kell jelentkezni
<troll>
A vim elviselésével járó agykárosodás sokszorosan meghaladná az összes munkaidőt és fáradságot, amit eddig és ezután a joe telepítésére fordítottam és fordítani fogok, bárhol legyek is.
</troll>
- A hozzászóláshoz be kell jelentkezni
Valószínűleg a "bárhol" elképzelésekor nem elég erős a fantáziád.
- A hozzászóláshoz be kell jelentkezni
Egyetértek, valószínűleg így van. Ahol nem futtathatok fordítót, ill. ahol egy joe-t nem bír el a helyi fordító, ott én nem dolgozom.
Szerk: nem, fordító alatt nem kizárólag gcc-t értek.
- A hozzászóláshoz be kell jelentkezni
Lesz még olyan is, hogy gcc is van, futtathatod is, éppen csak módosítani kéne valamelyik .h-ban vagy .c-ben egy-két apróságot ahhoz, hogy minden gromek legyen.
Mire kikeresed more-ral/less-szel, hogy mit és megírod sed-ben, már ott is vagy, hogy az ehhez szükséges vimes tudomány felét ugyanúgy használnod is kellett.
- A hozzászóláshoz be kell jelentkezni
Valamelyest egyetértek a Vim "agykárosító" hatásával - a módok közti váltogatás és az egy-két betűs parancsokkal való munka nálam egy kis káoszt eredményezett: pl. egyéb texteditorokban és szövegszerkesztőken is a :w parancsra áll a kezem, ha menteni akarok, néha meg úgy nézhetek ki a sok parancskiadási szándékból elkövetett félregépeléssel, mint aki össze-vissza kapkod a billentyűk között, mert nem találja amit keres... Tény, hogy kicsit körülményes, de az is igaz, hogy némely tekintetben űbereli a kattingatós társait.
--
Azt akarom, hogy az emberek ne kényszerből tanuljanak, hanem azért, mert tudni akarnak.
- A hozzászóláshoz be kell jelentkezni
Meg kell tanulni a vim-mel bánni, és utána nem lesz agykárosodásod. A tudásért meg kell szenvedni :)
- A hozzászóláshoz be kell jelentkezni
Az Emacs learning curve szempontjából amúgy is neccesebb… ☺
int getRandomNumber() { return 4; } // ← aláírás
//szabályos kockadobással választva. garantáltan véletlenszerű. xkcd
- A hozzászóláshoz be kell jelentkezni
Ah, debian logó :)
- A hozzászóláshoz be kell jelentkezni
A vimmel bánni? Rongyra szórod, és súrol, súrol :)
(Nagyon fiatalok kedvéért: vimnek hívták Magyarországon a súrolóport a hatvanas, hetvenes években. Aztán, ahogy a nyolcvanas években kinyílott a világ, már kapható volt másmilyen is.)
- A hozzászóláshoz be kell jelentkezni
emacs-et, vi-t inkrementalisan kell megismerni
- A hozzászóláshoz be kell jelentkezni
:set rnu
Sorszamot a kurzhoz kepest relativen mutatja. Megkonnyiti a navigalast, igy konnyu kitalalni, hogy pl. a 10j
kell ahhoz, hogy a megfelelo sorba ugorj (ami jelen esetben eppen 10 sorral van lejjebb az aktualisnal).
- A hozzászóláshoz be kell jelentkezni
Nem vagyok benne biztos, hogy jó verziószámot mondok, de asszem ez a 7.3.46-tól lett bevezetve. Csak azért mondom, hogy aki egy release-el le van maradva, az ne csodálkozzon, ha a Vim nem ismeri ezt az opciót...
--
Azt akarom, hogy az emberek ne kényszerből tanuljanak, hanem azért, mert tudni akarnak.
- A hozzászóláshoz be kell jelentkezni
Multkor epp kellett:
:%!xxd - hex editor on
:%!xxd -r - hex editor off
- A hozzászóláshoz be kell jelentkezni
shift+d # kurzortól számítva törli a hátra lévő sort
--
https://www.youtube.com/watch?v=K_lg7w8gAXQ&feature=player_detailpage#t…
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
... új topic-ba rakva ...
--
Azt akarom, hogy az emberek ne kényszerből tanuljanak, hanem azért, mert tudni akarnak.
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
ctrl+ws - split windows
ctrl+ww - switch between windows
ctrl+wq - quit a window
- A hozzászóláshoz be kell jelentkezni
ctrl+wv - ablak felosztása (csak függőlegesen)
- A hozzászóláshoz be kell jelentkezni
:vsplit
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
- :split
-
- :wq
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
A :wq nem ide illik, úgy érzem :)
- A hozzászóláshoz be kell jelentkezni
dash billentyuparancsaihoz mellekeltem kettospontos parancsokat.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Épp ezért.
A :wq a kiír-kilép (write-quit). Mármint a vim-ből.
És nem ablakműveletet csinál (már persze a szó legszorosabb értelmében, mert az egész programból való kilépés végülis az összes ablak bezárását eredményezi :)). dash pedig ablakműveletekhez kapcsolódó parancsokat (hotkey-eket) írt.
- A hozzászóláshoz be kell jelentkezni
mielott leszolod a masikat, legalabb nezz utana hogy nem beszelsz-e hulyeseget (ebben az esetben DE :P)
egyebkent en :wq helyett a ZZ parancsot szoktam hasznalni
illetve :q! helyett a ZQ -t
-
Slackware current / OSX Snow Leopard
- A hozzászóláshoz be kell jelentkezni
Ehm, nem. A :wq az az _ablakot_ zárja be, nem pedig a vim-et. Aki egyablakos vim-et használ, annál nyilván a kilépés fog érvényre jutni, mert ablak nélkül a vim nem üzemképes.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Hopp, megakulpa...
De akkor is, hogy védjem a mundér becsületét:
a :wq -ban a w a "write", míg a c-wq -ban pedig a w a "window" :)
És igaz, a vim-et csak utolsó ablak esetén zárja be a ":wq"(ezt tényleg benéztem hirtelen, a :wqa zár mindent), de akkor ír is, míg c-wq-nál utolsó ablakot csak akkor lehet bezárni, ha nem módosult a fájl.
Na, mindegy, legyen 1-1 (nagy kegyesen :)).
- A hozzászóláshoz be kell jelentkezni
En mar hozzaszoktam a :wq -hoz. amikor zarok, akkor egyben ugyis mentek is.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
[feliratkozás]
- A hozzászóláshoz be kell jelentkezni
.vimrc-be
" mondatok első szavának nagybetüsítése
nnoremap <F2> ggvgU:%s:\([.?!] \)\(\w\):\1\u\2:gc<CR>
---------------------------------------------------------------------------------------
Unix is simple. It just takes a genius to understand its simplicity. — Dennis Ritchie
- A hozzászóláshoz be kell jelentkezni
:w !sudo tee %
Olyan fájl mentése melyre nincs írási jogunk.
- A hozzászóláshoz be kell jelentkezni
hat ez jo :)
en meg eddig ugy csinaltam h mentes home konyvtarba aztan kilepes utan feluliras az eredetivel
ez a tipikus megoldas
de ezentul mar nem igy kell csinalnom
ez jo ;)
- A hozzászóláshoz be kell jelentkezni
> de ezentul mar nem igy kell csinalnom
De, így kell. Én is már több éve ismerem ezt a megoldást, és hiába tudtam megjegyezni ennél bonyolultabb kombinációkat, ez egyszerűen nem megy :)
- A hozzászóláshoz be kell jelentkezni
set wildmode=longest,list
set wildmenu
Bash-szerűbb kiegészítés fájl megnyitásakor.
- A hozzászóláshoz be kell jelentkezni
Azt írta gbor hogy a nyilak helyett érdemesebb a hjkl -t használni a kurzur mozgatásához. Persze idővel azt tapasztaltam hogy inkább csak fel-le mozgásra lehet szükség az egyéb hasznos parancsoknak köszönhetően.
Utóbbitól függetlenül, I módban, hogyan oldjátok meg hogy NE a nyilakat kelljen használni?
- A hozzászóláshoz be kell jelentkezni
Tipp: ESC hjkl i :)
- A hozzászóláshoz be kell jelentkezni
Imádom a vim-et, mindent abban írok, de kövezzetek meg nem szoktam rá a hjkl -re, maradtam a nyilaknál. Nem találom kényelmetlenebbnek.
- A hozzászóláshoz be kell jelentkezni
Én sem használom. Nem is áll kézre: akkor már inkább:
o
j k l
csak az "o"-t át kell tenni máshova :P Mondjuk ezt sem használnám...
- A hozzászóláshoz be kell jelentkezni
WASD lenne a tuti, nem? :-)
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Most emiatt akarok egy szövegszerkesztő mod-ot a quake-be :)
--------------------------------------
Unix isn't dead. It just smells funny.
- A hozzászóláshoz be kell jelentkezni
Kényelmetlen!
- A hozzászóláshoz be kell jelentkezni
en sohasem hasznalom a nyilakat, sokkal kenyelmesebb a hjkl, nem kell a nyilakhoz kapkodni, tavol vannak, kenyelmetlen es idegesito is szamomra
a lenyeg:
inzert modban hasznald ezeket: M-h, M-j, M-k, M-l (M: meta, masneven alt)
ezek kilepnek inzert modbol es egyuttal leptetik is a kurzort a megfelelo iranyba
bar eszrevettem, h gvim-ben alapertelmezetten nincsenek ezek beallitva, ha nem mukodnek, keruljenek ezek a sorok a .gvimrc-dbe:
imap <M-h> <left><esc>
imap <M-l> <right><esc>
imap <M-j> <down><esc>
imap <M-k> <up><esc>
tipp: tokjol lehet hasznalni a zarojelezesnel:
(muveletek ezzel elvalasztva:"_")
i_()_M-h_a_irhatod amit akarsz
persze erre biztos tudnak az ide irogato nagy vi-os veteranok vmi elegansabb megoldast is :)
- A hozzászóláshoz be kell jelentkezni
ja es ne felejtsuk el h van egy nagyon regi es nagyon elterjedt bill. kombinacio, meg windowsban is sok helyen mukodik a beviteli mezokbe, parancssorban meg meg kitudja hol, ez pedig a: "C-h" (ahol C a control) (windowsban parancssorban a C-m is mukodik)
emacs-ben sajnos valamiert vmelyik verzio utan mar nem ez az alapertelmezett, ezert nalam a .emacs file-ba kotelezo ennek az S-kifejezesnek a szereplese: "(define-key global-map "\C-h" 'backward-delete-char)"
szoval a C-h termeszetesen vi-ban is mukodik es nagyon kenyelmes dolog inzert modban
- A hozzászóláshoz be kell jelentkezni
Én erre egy imap-ot csinálnék, hogy a bal-zárójel gomb nyomására írjon egyúttal egy jobb-zárójelet is, majd a kurzort kettővel ugrassza vissza.
Egy kicsit bonyolultabbat csináltam: kapcsos zárójelre új sort kezd, a következőbe (identálva) a zárójel párját írja, a kurzort a két zárójel közé helyezi :)
imap { {<Esc>o}<Esc>ko
- A hozzászóláshoz be kell jelentkezni
http://hup.hu/node/97489#comment-1194544
--------------------------------------
Unix isn't dead. It just smells funny.
- A hozzászóláshoz be kell jelentkezni
Ismétlés a tudás jóédesannya :)
- A hozzászóláshoz be kell jelentkezni
Köszi!
Még ezt találtam: http://objectmix.com/editors/394874-vim-navigating-text-withough-arrow-…
- A hozzászóláshoz be kell jelentkezni
most neztem meg csak meg az emacs viper modjat, a fenti hozzaszolasban szereplo keybinding az egyik legalapvetobb, nelkule elegge nyug lnenne a hasznalat. (lehet h meg a vi-t sem hasznalnam nelkule)
szoval megcsinaltam gyorsan emacs-re. (viper-re)
ez keruljon a ".emacs"-be:
(with-eval-after-load
'viper
(define-key viper-insert-global-user-map "\M-h" '(lambda nil (interactive) (backward-char) (viper-change-state-to-vi)))
(define-key viper-insert-global-user-map "\M-j" '(lambda nil (interactive) (next-line) (viper-change-state-to-vi)))
(define-key viper-insert-global-user-map "\M-k" '(lambda nil (interactive) (previous-line) (viper-change-state-to-vi)))
(define-key viper-insert-global-user-map "\M-l" '(lambda nil (interactive) (forward-char) (viper-change-state-to-vi))))
regebbi emacs eseten:
(eval-after-load
'viper
'(progn
(define-key viper-insert-global-user-map "\M-h" '(lambda nil (interactive) (backward-char) (viper-change-state-to-vi)))
(define-key viper-insert-global-user-map "\M-j" '(lambda nil (interactive) (next-line) (viper-change-state-to-vi)))
(define-key viper-insert-global-user-map "\M-k" '(lambda nil (interactive) (previous-line) (viper-change-state-to-vi)))
(define-key viper-insert-global-user-map "\M-l" '(lambda nil (interactive) (forward-char) (viper-change-state-to-vi)))))
enjoy
===
a világ legjobb editorja a vi es az emacs. ezen belül a vi a legkényelmesebb, az emacs pedig a leghatékonyabb. ezen kívül az emacs a legkényelmesebb es a vi a leghatékonyabb (csak saját tapasztalat)
- A hozzászóláshoz be kell jelentkezni
Emacs-ben igazából az M-f,b,n,p és s/S, ctrl-l és társaikat használják a navigációra, nem a "nyilakat".
- A hozzászóláshoz be kell jelentkezni
Kovezwzetek meg, de en amig emacsoztam, mindig a nyilakat hasznaltam, es amiota Vimezek, azota a nyilakat hasznalom...
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
Hát... vi alatt annyira kézre áll a jklé, hogy azért talán járhat a kövezés... :D
- A hozzászóláshoz be kell jelentkezni
en nyilakat hasznalok
irtatok itt hogy messze vannak, de mivel en csak notebooko(ka)t hasznalok, a sajat billentyuzetukkel, igy nem sok a kulonbseg :)
-
Slackware current / OSX Snow Leopard
- A hozzászóláshoz be kell jelentkezni
time machine
:earlier 2m
<- back by 2 minutes
:later 30s
<-forward 30 seconds
:undo 5
<- go back 5 changes
:undolist
<- show entire undo/redo list
- A hozzászóláshoz be kell jelentkezni
És a jövőbe nem lehet menni? :)
- A hozzászóláshoz be kell jelentkezni
parancssorbol:
vim -p <filelista>
a parameterkent megadott file-okat mind kulon TABon nyitja meg
-
Slackware current / OSX Snow Leopard
- A hozzászóláshoz be kell jelentkezni
Itt is megemlítem (remélem még nem volt) hogy a VIM-ről írt könyvem letölthető a MEK-ből (ingyen) e link alól:
http://mek.oszk.hu/09600/09648/
Remélem hasznára válik mindenkinek!
-------------
Használj GoboLinuxot: http://mek.oszk.hu/05800/05895/
Könyvem a VIM-ről: http://mek.oszk.hu/09600/09648/#
:::A #86-os sorszámú hivatalosan bejegyzett GoboLinux felhasználó
- A hozzászóláshoz be kell jelentkezni
Hasznos egy ilyen szöveg, azonban fontos a tartalom minősége is (korábbi javaslataim), leginkább a magyarított kifejezések:
pattern helyett minta
inzert helyett beszúró vagy insert (eredeti angol!)
buffer helyett puffer
stilisztikailag:
konvertál helyet alakít jobb lenne
egyéb:
^[[6~ helyett inkább <F6>
Működik a <PgUp>, stb. is
- A hozzászóláshoz be kell jelentkezni
Hát legalábbis a "puffer" szón én is gondolkoztam már írás közben is mert én azt szoktam meg, de MINDENÜTT buffert láttam a legkülönbözőbb (amúgy magyar nyelvű) szakszövegekben, így végül jobb meggyőződésem ellenére alkalmazkodtam hozzá. Bár nem szívesen.
Mindenesetre ez a leírás már így marad, mert fel van töltve a MEK-be, s ha megváltoztatnám, azzal plusz munkát adnék a MEK-könyvtárosoknak, holott nem szívesen terhelném le őket, mert van azoknak egyéb dolguk is.
-------------
Használj GoboLinuxot: http://mek.oszk.hu/05800/05895/
Könyvem a VIM-ről: http://mek.oszk.hu/09600/09648/#
:::A #86-os sorszámú hivatalosan bejegyzett GoboLinux felhasználó
- A hozzászóláshoz be kell jelentkezni
http://wiki.hup.hu/index.php/Buffer_overflow avagy puffer túlcsordulás, ahogy a szöveg írja
A másikat értem, csak nem értem meg, mert a könyvtár azokért van, akik letöltik a dokumentumokat, nem pedig a könyvtárosokért.
- A hozzászóláshoz be kell jelentkezni
"mert van azoknak egyéb dolguk is."
Nem, nincs, ezért fizetik öket.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Amúgyis a verziózás egy hasznos funkció. Nekik is csak használ, ha bevezetik.
--------------------------------------
Unix isn't dead. It just smells funny.
- A hozzászóláshoz be kell jelentkezni
feliratkozas
~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~
Zenwalk - Full featured GNU Linux Operating System
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
en ebbol tanultam mikor eldontottem hogy marpedig vimet fogok hasznalni :)
- A hozzászóláshoz be kell jelentkezni
Mi indított erre a végzetes elhatározásra?
Én akkor kezdtem el vele foglalkozni miután, OpenRTS routert kezdtem hasznánli - megrázó élmény volt, pedig én az ms "gyémánt" elrendezésén nevelkedtem.
* Én egy indián vagyok. Minden indián hazudik.
- A hozzászóláshoz be kell jelentkezni
oszinten szolva mar fogalmam sincs...
gondolom olvastam rola, hogy milyen hatekony, jofajta, ugyhogy nekialltam
nem is bantam meg :)
- A hozzászóláshoz be kell jelentkezni
:mksession! filename
Save your sessions in vim to resume later
Creates a full snapshot of your current vim session, including tabs, open buffers, cursor positions, everything. Can be resumed with vim -S . Useful for those times when you HAVE to close vim, but you don't want to lose all your hard-opened buffers and windows. The ! will cause vim to overwrite the file if it already exists. It is not necessary, but useful if you frequently save to the same file (like session.vim or something).
-----------------
inside vim try:
:help 42
- A hozzászóláshoz be kell jelentkezni
Nem alapparancs, hanem egy plugin, de nagyon hasznos lehet olyanoknak, akik valamilyen SQL-lel dolgoznak és az SQL-lekérdezéseik dinamikusak, és hát, hébe-hóba (hóba? ilyen melegben???) becsúszik némi kis hiba, és sokszor a kész SQL-lekérdezést csak jobb nézegetni, hol romlott el a dinamikus generálás. Ja, és de jó lenne, ha az SQL színezve lenne (oké, ft=sql oszt' kalap), meg nem egy sorban, hanem szépen tördelve, beljebb húzva, ahol kell. Nos, ez lenne az SQLUtilities SQLUFormatter parancsa...
- A hozzászóláshoz be kell jelentkezni
clang_complete
___
info
- A hozzászóláshoz be kell jelentkezni
Ilyet a ctags-szel is lehet.
- A hozzászóláshoz be kell jelentkezni
legalabb olvasd el a linkelt cikket...
ott is irjak, hogy igen, a ctags is tud ilyet, es azt is leirjak, miben jobb ez a megoldas :P
- A hozzászóláshoz be kell jelentkezni
Rég elolvastam.
De akkor világosíts fel, hogy miben jobb?
A sebességet nem tudom ellenőrizni, de ha csak abban jobb, hogy kiírja, hogy egy f betűt vagy bármit odabiggyeszt a listába illetve a függvények paraméterezését is kiírja, az mind lehetséges ctags esetén is. Vagy valami elkerülte a figyelmemet?
- A hozzászóláshoz be kell jelentkezni
"Sokkal gyorsabb, szebb, jobb és ha már egyszer a FreeBSD a jövőben clang-gal jön
alapból, akkor miért ne használnánki ezt a lehetőséget?!"
tessek
de amugy nem ertem a problemadat... senki nem mondta hogy mostantol kotelezo ezt hasznalni, nyugodtan hasznalhatod a ctags-et
vagy az faj neked, hogy masok hallanak arrol, hogy van a ctags-nek alternativaja? :S
- A hozzászóláshoz be kell jelentkezni
Mindenki azt használ, amit akar. Azért írtam oda a ctags-et, hogy valaki a cikk elolvasása után nehogy azt higgye, hogy a ctags milyen gáz és a clang milyen jó (tudod, téves információk).
A kép alapján úgy értelmeztem, hogy a szerző azért gondolja a clang-ot jobbnak, mert tudja azt, hogy kiegészítéskor odaírja, hogy a találat függvény, változó, típus, stb. illetve függvény esetén a paraméterezést. Erre írtam azt, hogy ilyet a ctags is tud. Pontosabb információ ilyen ügyben nincs a linkelt oldalon.
Az lehet, hogy gyorsabb, azt nem tudom (a ctags se lassú, legalábbis az a pár tizedmásodperc nem kritikus).
Ezért kérdeztem tőled, hogy miben jobb (olyan funkció, amit a ctags nem tud, vagy kevesebb bug, vagy mi), de erre nem írtál semmit, csak idézted a honlapon, hogy "jobb".
Szóval akkor: miben jobb? Tényleg kíváncsi vagyok rá, mert ha olyan valamiben jobb, ami nekem is hasznos lehet, kipróbálom. Az, hogy a freebsd-ben mi a default (jövőben?), nekem lényegtelen :)
- A hozzászóláshoz be kell jelentkezni
Szerzo en voltam, es a baj a ctags-szel, hogy ott elore le kell generalnod az index fileokat, miket a vim hasznal, mig clang-gal dinamikusan az include-ok fuggvenyeben tudsz kodot kiegesziteni.
Egy FreeBSD forras ctags-el csak az index olyan 1.5GB, ami azert nem kellemes, clang eseteben meg egy include es dinamikusan megkapom es nem zabal le 1.5GB disc space-t plusz a vim-nem nem kell azt memoriaba berantani. Es ez az igazi elonye.
___
info
- A hozzászóláshoz be kell jelentkezni
Na, ez már korrekt válasz :) Köszönöm.
(igazán beleírhattad volna a blogba, mert szerintem pont ez lenne a lényeg)
- A hozzászóláshoz be kell jelentkezni
+
- A hozzászóláshoz be kell jelentkezni
:se path=include,src
A find parancs keresi a fájlokat a path-ban megadott könyvtárakban, majd megnyitja szerkesztésre. A Tab-os kiegészítés (természetesen) működik.
Pl. a
:find main.c
az src könyvtárban levő main.c-t nyitja meg, a
:find main.h
pedig az include-ban levő main.h-t.
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni
:)
===
a világ legjobb editorja a vi es az emacs. ezen belül a vi a legkényelmesebb, az emacs pedig a leghatékonyabb. ezen kívül az emacs a legkényelmesebb es a vi a leghatékonyabb (csak saját tapasztalat)
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni
Ezt még nem láttam itt, van pár okos dolog, amit innen vettem át: http://stackoverflow.com/questions/164847/what-is-in-your-vimrc/171558
- A hozzászóláshoz be kell jelentkezni
Pár apróság, főleg keybinding:
" show trailing whitespaces, except EOL
highlight WhitespaceEOL ctermbg=red guibg=red
match WhitespaceEOL /\s\+$/
""" Key mappings...
" vim tab helper
nmap <S-F6> :tabprevious<CR>
imap <S-F6> <Esc>:tabprevious<CR>a
nmap <S-F7> :tabnext<CR>
imap <S-F7> <Esc>:tabnext<CR>a
nmap <S-F5> :tabnew<CR>
imap <S-F5> <Esc>:tabnew<CR>
nmap <S-F8> :tabclose<CR>
imap <S-F8> <Esc>:tabclose<CR>
" identation helper
nmap <C-j> <<
nmap <C-k> >>
vmap <C-j> <gv
vmap <C-k> >gv
" save
nnoremap <F2> :write<CR>
inoremap <F2> <Esc>:write<CR>a
nmap <F6> :set invpaste<CR>
imap <F6> <C-O><F6>
set pastetoggle=<F6>
" confirm quit
nnoremap <F10> :confirm quit<CR>
inoremap <F10> <Esc>:confirm quit<CR>
" toggle ling numbering
nnoremap <F12> :set invnumber<CR>
inoremap <F12> <Esc>:set invnumber<CR>a
" c&p between windows
vmap <silent> ,y y:new<CR>:call setline(1,getregtype())<CR>o<Esc>P:wq! ~/.vim/reg.txt<CR>
nmap <silent> ,y :new<CR>:call setline(1,getregtype())<CR>o<Esc>P:wq! ~/.vim/reg.txt<CR>
map <silent> ,p :sview ~/.vim/reg.txt<CR>"zdddG:q!<CR>:call setreg('"', @", @z)<CR>p
map <silent> ,P :sview ~/.vim/reg.txt<CR>"zdddG:q!<CR>:call setreg('"', @", @z)<CR>P
- A hozzászóláshoz be kell jelentkezni
json formázás:
:%!python -m json.tool
- A hozzászóláshoz be kell jelentkezni
Egy html tag kijelölése benne állva, parancs módban:
vat
- A hozzászóláshoz be kell jelentkezni
A matchit pluginnal meg egyszerubb, raalsz a tag elejere, Shift+V, %. Akar tobb soron at is.
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
Ezzel az a gond, hogy ha a html tag
<
karakteren allsz, akkor csak magara a zaro
>
karakterre fog ugrani. A
t
text object celszerubb.
(BTW. a visual mode az antipattern amugyis... ;-) )
- A hozzászóláshoz be kell jelentkezni
A matchit plugin ennel okosabb.
Miert antipattern a visual mode? Hogy masolsz ertelmesen vimbol, ha nem visual modban?
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
Lehet más verzióm van matchitből (Ubuntu 15.04 default), de nálam így viselkedik. Most kipróbáltam még egyszer.
> Hogy masolsz ertelmesen vimbol, ha nem visual modban?
Normal módban :-)
Mire vagy kíváncsi pontosan? Soron belül általában text objectet. HTML/C-szerű nyelvek esetén is (taget/blokkot).
Ha több sort akarok akkor relativenumber segít benne, kurzor plusz öt sor:
y5j
. Ne feledd, a vim nem a mellébeszélésről szól (Kezdjünk egy kijelölést, menjünk le 5 sorral, majd fejezzük be a kijelölést, jó, nagyonügyeees, és akkor most másoljunk...). Nem.
Ha több képernyőn keresztülcsúszik, akkor segíthet a visual mode (persze biztos lesz aki esküszik arra, hogy kopizzunk kurzortól KERESETTSZO végéig
y/KERESETTSZO\zs<CR>
, vagy mondjuk két bekezdést
y2ap
. A hardcore-abbak odatesznek egy markot a kezdőponthoz, lemennek két képernyőnyit, majd commandline-ból yankelnek:
mm<C-f><C-f>:'m,.y<CR>
, de persze ezek mÁr csak mentális maszturbációk.
A lényeg, hogy Visual mode nem is nagyon volt régen (a vi-ben nincs is visual mode, a vim visual módján a normál módot értjük, csakhogy megkavarjalak), szóval mindent meg lehet csinálni anélkül is, és az esetek egy részében valószínűleg gyorsabban. (Bírom amikor emberek html-ben jelölgetnek ki egérkével egy kibaszott
"+yit
helyett...)
- A hozzászóláshoz be kell jelentkezni
Oke, mondd el nekem, hogyan jelolsz ki blokkijelolessel ugy, hogy nem hasznalsz visual mode-t? Mert en eleg sokszor hasznalok ilyesmit.
Amugy meg tudom, hogy a vimben ezt ezerfele modon meg lehet oldani, de nekem pont ez tunik szellemi maszturbacionak. Ha veletlen elszamolom a sort, nem oda sikerul a mark, barmi, beszoptam, de a visual mode-dal eleg nagy biztonsaggal jelolok ki olyan szoveget is, ami wall of text, hovatovabb egy soros, ketszazmegabyte-s szovegfajlbol is ki tudok vele jelolni, ahol szokoz nelkuli random szovegek vannak (volt mar ilyen feladatom is).
Elhiszem, hogy ezt regen is megoldottak valahogy, de most itt van egy kenyelmes es egyszeru megoldas arra, hogy ezeket a feladatokat sokkal hatekonyabban (nem gyorsabban, hatekonyabban) megoldjam, es nem fogok csak azert lemondani rola, mert ez most eppen nem divat. Majd a divat egy ido utan utoler engem (legyen az az irany elore vagy visszafele)... :-)
Ez a "nem is nagyon volt regen" -> antipattern hozzarendeles ez mindig fel tudja bokni az agyam egyebkent. Annak idejen szamitogep se volt, szoval az, hogy interneten egy forumon beszelgetunk, az is antipattern, megbeszelhetnenk ezt f2f is egy sor mellett, csak nehanyszaz kilometer, ha az ember jol kilep...
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
Értelmezd amit írtam légyszíves a fröcsögés helyett.
Nem azért antipattern, mert régen nem volt. Hanem azért, mert a visual módot az esetek 95%-ban azért használják a noobok, mert nem ismerik a textobjektumokat, a relatív ugrásokat, stb.
Ezért jobb, ha arra szoktatja magát az egyszeri vimmer, hogy amíg tud, ne visual módot használjon. Ha pedig mégis mindenáron kijelölget (amivel akár mittomén intellij-ben is bohóckodhatna), akkor nyugodtan mondhatjuk, hogy antipattern, hiszen van legalább x módszer arra, amit meg akar valósítani.
- A hozzászóláshoz be kell jelentkezni
A noobok szerintem inkább azért használják a visual mode-ot, mert biztonságot ad a visual feedback, hogy jól gondolta, hogy a másolást/törlést/akármit azon a szövegen fogja elvégezni, amire gondolt. Egyébként lehet használni a text objektumokat és a relatív ugrásokat is visual mode-ban is.
- A hozzászóláshoz be kell jelentkezni
Van legalabb x modszer barmire a vim-ben, megse szamit antipatternnek, ha en a x[2] -es megoldast hasznalom, es nem az x[1]-et, ami az elfogadott/divatos/barmi. Csak azert antipatternnek hivni a visual mode-t, mert tavolrol es bal szemmel hasonlit a grafikus szerkesztokben hasznalatos kijeloleshez (egyebkent baromira nem ugyanaz a ketto), hat enyhen szolva is sznobsag.
--
Blog | @hron84
Üzemeltető macik
- A hozzászóláshoz be kell jelentkezni
Te jó ég. Hihetetlen hogy még mindig nem érted.
- A hozzászóláshoz be kell jelentkezni
A visual hasznos esetei:
- block mode change / delete
- előadás vagy oktatás közben kijelölöm a tárgyalt részt
- az elején említett "vat" pont azért jó, mert nem kell szemmel ki-parse-olni a html kódot, ha esetleg elcsúsztam valami div-vel
- A hozzászóláshoz be kell jelentkezni