Ahoj,
jedna z veci, ktere me na Vim stvou, je to, ze prikazovy radek je vzdy na posledni radce a nikoli pod aktivnim oknem.
Vadi to take u vyhledavani, kdy casto prehlednu text "search hit BOTTOM...".
Nedaji se prikazovy a "informacni" radek umistit pod aktivni okno?
Diky za prikaz J, zaradim ho mezi sve oblibene.
ziav
/usr/share/vim/vim61/syntax/syncolor.vim
nastav si
SynColor WarningMsg term=reverse ctermbg=Green ctermfg=White guibg=Blue guifg=White
Nešlo by změnit žlutou barvu ve verzi pro tisk na nějakou jinou? Není to zrovna nejčitelnější. Jinak díky za seriál.
P.
zkusil jste nasledujici option?
set bg=light
Defaultne je dark (pozadi na terminalech se predpoklada tmave). Toto nastaveni ovlivnuje volbu barev pro syntax highlighting a projevuje se i pri prikazu hardcopy.
:))) obavam se ze pisatel mel na mysli barvu textu v tomto clanku, formatovanem pro tisk. v VIMem to ma spolecneho pouze tolik ze se clanek timto editorem zabiva a barevne zvirazneni syntaxe (konkretne slova set) je zluta, ktera zustane zlutou i po preformatovani pro tisk.
:-) V tom případě si může stahnout stránku a absolvovat první cvičeni ve vim: nahradit barvičky čitelnějšími, příp. stránku ořezat podle svého vkusu.
Obecně mě překvapuje, že snad všechny články o vim se zabývají pouze tím, jak nastavit .vimrc, aby se vim chovalo jako běžný editor. Místo toho by bylo fajn lidičky naučit, proč že je v tom na první pohled divném ovládání taková síla. Úpravy podobného druhu jako "odtabulkování" HTML stránek jsou dobrý začátek...
Nebyl bych tak skepticky, myslim si, ze i o ovladani VIMu je toho psano hodne (root.cz nevyjimaje). Obecne jde o to naucit se par prikazu, filozofii editoru a regularni vyrazy... S temito informacemi uz udelam vse...
Vetsinou, kdyz sleduju konfiguraky, nechapu, proc maji nastaveny jako mapleader znak carku a prichazi tak o jeden builtin prikaz. IMHO patri prikazy fFtT;, mezi nejdulezitejsi prikazy ve vi(m) a v podstate jedine slusne k pohybu po radku...
To je asi otázka osobních zvyklostí. Já například f/F používám velmi zřídka a t/T jsem nepoužil nikdy, stejně jako čárku a středník ve významu opakování (s vimem pracuji velmi intenzivně několik let). Zato mi opravdu maximálně vyhovuje, že například ,aa vloží HTML značku odkazu, ,sep javovou konstrukci System.err.println(), ,cc na metodě nebo třídě vygeneruje konstru JavaDocu atd.
Je to totiž taková šikovná klávesa. Na správném místě, vždy při ruce, nemusím mačkat shift - prostě ideální :)
Jeste k tomuto (necham ted osobni zvyklosti stranou ;) ):
K uvedenym prikladum - tam jde stejne o insert-mod, ne? (ted nevim, zda mapleader nemusi byt stejny pro normal a pro insert...)
Jinak k tomu, ze pouzivate f/F a ,; vubec - to me docela prekvapuje, clovek se obvykle napoprve netrefi ;) To je jako /? bez nN...
Ad sikovna klavesa - ony jsou prave jeste i jine volne klavesy - minimalne backslash a mam pocit, ze jsem kdysi znal este jednu ;o)
Carka je opravdu pro mapovani v insert modu idealni. Nikde totiz v textu ani v programu nepisete carku a za ni jiny znak nez mezeru.
Zkousel jsem i ruzne jine kombinace (napriklad i backslash), ale oproti carce je takrka nemozne ho nacvakat i na ceske klavesnici, carka je proste porad na stejne klavese (alespon na klavesnicich EN, CZ-qwerty, CZ-qwertz, CZ-prog).
Ale prikaz imap jde prece pouzit bez nejakeho dalsiho ovlivneni normalniho rezimu, takze se tyto rezimy nijak neovlivnuji.
Nesouvisi to moc s VIM, ale chtel bych se zeptat, jestli je vhodnejsi pouzivat na odsazovani tabelator nebo mezery. Ja jsem spis pro tab, snaze se pak meni velikost odsazeni (treba pri vertikalnim porovnavani), ale nevim jak moc lidi ma proti tabum vyhrady.
Já jsem začal kdysi v Turbo Pascalu na mezerách ("kterej blázen proboha používá tabelátory?" :), pak jsem později v Delphi přešel na tabelátory ("kterej blázen proboha používá mezery?" :), u kterých jsem už zůstal. Ovšem a teď mám z praxe pár poznatků, kdy to způsobuje potíže, a to zejména při výměně dat s někým, kdo používá odlišnou šířku (já používám osm znaků), takže zase začínám zvažovat mezery. Ovšem moc se mi do toho nechce, hlavně kvůli CVS.
podle me pokud striktne dodrzite jednotnost tabelatoru (budou vsude), pak je lepe je pouzivat. preci jenom rozeznat kde je "<tab>" a kde " "(4 mezery) je snazsi nez kde je " " a kde " " :)
ale v pripade ze nekde je tabelator a o par radku dal je misto toho " ", pak je lepsi pouzivat mezery, protoze pak je jistota ze formatovani bude porad stejne
Na tabulatorech mi vyhovuje prave to, ze si muzu nastavit, jak velike se ma odsazeni zobrazovat. Chce to pri psani trochu discipliny, ale jde to.
Ale souboj tabulatoraru s mezernikari bude je vecny ;-)
Nejhorsi to je v pythonu, tam kdyz clovek omylem zameni v odsazeni mezeru za tabulator, tak je to chyba jak vysita ;-)
Ja pouzivam tabulatory - rychleji se mazou (i kdyz tam by asi pomohla zmena indentace...) a rychleji se po nich beha.
Ale maji jednu zasadni nevyhodu v tom, ze copy/paste pres mys je prevede na mezery :-(
Zrovna pro Python existuje doporučení používat čtyři mezery. Kdyby se ho všichni drželi, třeba by výrazně ubylo problémů...
Na sdileni souboru s nekym "nestandardnim" je vim takrka idelani. Pomoci prikazu
:set ts=cislo
muzete nastavit libovolnou velikost tabulatoru. Tj. nactete soubor od nekoho, kdo nepouziva std. sirku, a zkousite prikazy :set ts= tak dloubo, dokud nebude indentace spravna.
Velmi jednoduse jde znaky tab prevest na mezery a naopak:
1. na mezery:
:set expandtab
:retab
2. na taby
:set noexpandtab
:retab
Muzete se take podivat, jestli se pouzivaji taby nebo mezery:
:set list
a zpatky
:set nolist
Kdyz clovek pise disciplinovane, tak na "velikosti" tabulatoru nezalezi.
Ja sam :set ts=xy pozivam casto i ve svych dokumentech. Na mensich monitorech zmensuji, na vetsich zvetsuji. No problem.
Plně s Vámi souhlasím.
Problém je, že lidi moc disciplinovaně nepíšou a někdy je nutné jejich texty přechroustat do rozumné podoby. Běžně se setkávám s mixováním stylů tab-mezery, někdy jsou zbytečné mezery na konci řádků apod.
zdravim root a diky za clanek.
stejne tak diky pavlu tisnovskemu za mini navod, jak predelavat taby na mezery, coz je skutecne dobra vec, kdyz sdilite s nekym zdrojaky a chcete v nich mit trochu poradek.
jenom zasilam malou opravu. kombinace
:set noexpandtab
:retab
totiz tak uplne nefunguje (gVim 6.2)
pro kompletni prevedeni mezer ve zdrojaku na tabulatory je potreba udelat nasleduji.
:set expandtab
:set ts=CISLO
# CISLO znaci pocet mezerniku na odsazeni jednoho
# bloku pouzitych v mezernikovem zdrojaku
:set noxpandtab
:retab!
# vykricnik je dulezity :))
:set ts=HODNOTA_KTEROU_CHCEME_MY
a je to
nutno podoknout, ze jsem vsechno nasel pomoci prikazu
:help retab
s vimem pracuji teprve asi pul roku, coz je, dle meho soudu, na zvladnuti tak silneho nastroje, jakym vim je, skutecne malo. takze vim, jak prijemne je dostat neco naservirovane primo pod nos a nemuset se prohrabavat manualem. to je vsak jedina cesta jak cokoliv skutecne zvladnout, eventuelne ovladnout.
nevite proc se porad pri kopirovani techto vylepseni z prohlizece do .vimrc pokousim mackat klavesu y ?:-))
Pouzivam Vimko v ATermu a nefunguji me klavesy Home a End. Jinde me to funguje - gvim, text. rezim.
Je to v nastaveni terminalu? Nevite, jak toto opravit?
Nejspis (urcite) jo. Ma-li Aterm specialni typ terminalu (TERM=neco), tak lze osetrit v .vimrc jako:
if $TERM = "aterm"
nnoremap <Esc>sekv <Home>
...
endif
Toto uspesne pouzivam pro End:
if &term == "screen"
set t_@7=^[[4~
endif
Prislusny kod, ktery posila klavesa muzete ziskat napriklad spustenim cat a stiskem one klavesy.
ziav
Nevite jestli se da Vim nastavit tak, aby tabulatorem vkladal mezery ktere se ale chovaji uplne stejne jako tabulatory ? (jestli to vubec principialne jde :-)
Jde mi o psani ceckovych programu, mam sirku tabulatoru nastavenou na 4 takze editory s osmisloupcovymi tabulatory to samozrejme vidi rozhozene, ale nechci se pripravovat o tabulatorove pohodli (na znaku tab mi x "jakoby" smaze ctyri sloupce, l me posune o ctyri sloupce doprava apod). Da se nejak zaridit, aby se Vim pokud mozno choval uplne stejne, pouze misto jednoho znaku tab vkladal ctyri mezery ?
Principialne by to jit mohlo. Nastavil byste si vse, co je potrebne k automatickemu vkladani mezer po stisku TAB a pak byste vytvoril sve vlastni funkce pro pohyb a mazani, aby v pripade vyskytu 4 mezer za sebou fungovaly podle vasich pozadavku, a ty byste pak namapoval na prislusne znaky hjkl a x... ;-)
Obavam se, ze to neni presne to, co mel dobry clovek v korenovem prispevku teto diskuze na mysli...
Mozna ze ne, ale ta rada mela vyznit jako "tabelaruj jak divokej, nez to nekomu das pouzij ':retab'"
Tusim, ze to vede ke kyzenemu vysledku...