abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 21:22 | Nová verze

    Bylo vydáno Eclipse IDE 2025-09 aneb Eclipse 4.37. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 18:22 | IT novinky

    T-Mobile od 15. září zpřístupňuje RCS (Rich Communication Services) zprávy i pro iPhone.

    Ladislav Hagara | Komentářů: 2
    včera 13:22 | IT novinky

    Společnost ARM představila platformu Arm Lumex s Arm C1 CPU Cluster a Arm Mali G1-Ultra GPU pro vlajkové chytré telefony a počítače nové generace.

    Ladislav Hagara | Komentářů: 0
    včera 05:44 | Nová verze

    Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 17.0. Přidáno bylo 4 803 nových znaků. Celkově jich je 159 801. Přibylo 7 nových Emoji.

    Ladislav Hagara | Komentářů: 0
    9.9. 21:00 | IT novinky Ladislav Hagara | Komentářů: 14
    9.9. 18:33 | Nová verze

    Realtimová strategie Warzone 2100 (Wikipedie) byla vydána ve verzi 4.6.0. Podrobný přehled novinek, změn a oprav v ChangeLogu na GitHubu. Nejnovější verzi Warzone 2100 lze již instalovat také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 1
    9.9. 12:22 | IT novinky

    Polské vývojářské studio CD Projekt Red publikovalo na Printables.com 3D modely z počítačové hry Cyberpunk 2077.

    Ladislav Hagara | Komentářů: 1
    9.9. 11:44 | Pozvánky

    Organizátoři konference LinuxDays 2025 vydali program a zároveň otevřeli registrace. Akce se uskuteční 4. a 5. října na FIT ČVUT v pražských Dejvicích, kde vás čekají přednášky, workshopy, stánky a spousta šikovných lidí. Vstup na akci je zdarma.

    Petr Krčmář | Komentářů: 7
    8.9. 22:00 | IT novinky

    Uživatelé komunikátoru Signal si mohou svá data přímo v Signalu bezpečně zálohovat a v případě rozbití nebo ztráty telefonu následně na novém telefonu obnovit. Zálohování posledních 45 dnů je zdarma. Nad 45 dnů je zpoplatněno částkou 1,99 dolaru měsíčně.

    Ladislav Hagara | Komentářů: 0
    8.9. 18:44 | Zajímavý článek

    Server Groklaw, zaměřený na kauzy jako právní spory SCO týkající se Linuxu, skončil před 12 lety, resp. doména stále existuje, ale web obsahuje spam propagující hazardní hry. LWN.net proto v úvodníku připomíná důležitost zachovávání komunitních zdrojů a upozorňuje, že Internet Archive je také jen jeden.

    🇵🇸 | Komentářů: 30
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (83%)
     (7%)
     (2%)
     (2%)
     (4%)
     (2%)
    Celkem 163 hlasů
     Komentářů: 12, poslední včera 13:00
    Rozcestník

    Dotaz: Vim a autoindent

    12.3.2009 18:07 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Vim a autoindent
    Přečteno: 385×

    Dobrý den,

    začínám používat více vim, a trápí mě takový bug / feature s automatickým odsazováním. Mám odsazený řádek, zmáčknu enter, a jsem na novém řádku a vim správně odsadil. Jenže když teď "uhnu" kurzorem na nějaký jiný řádek (nebo zmáčknu znova enter), a vrátím se potom zpátky na odsazený řádek, už odsazený není. Stává se mi to třeba tehdy, pokud někde ve třídě definuji metodu, její tělo nechám prázdné a mám ji v plánu dopsat někdy později (nebo se zrovna chci mrknout na jiné místo ve zdrojáku). Potom ručně klepat do klávesy tab docela naštve ;-).

    Jestli někdo ví, co s tím, byl bych vděčný. Spíše si myslím, že je to nějaka feature, ale vyhovovalo by víc chování obvyklé v jiných editorech (napevno se tam strčí taby / mezery, a tak to zůstane). A na nějaký :set, co to změní, prostě nemůžu přijít :-(.

    Baník pyčo!

    Odpovědi

    12.3.2009 18:10 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Vim a autoindent
    Samozřejmě, že pokud na řádek vložím nějaký text, tak odsazený zůstane. Trápí mě to u prázdných řádků, kde zmizí ze začátku taby / mezery, pokud se přesunu jinde, ještě předtím, než na něj neco napíšu.
    Baník pyčo!
    Tarmaq avatar 12.3.2009 18:38 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Vim a autoindent
    :he autoindent
    If you do not type anything on the new line except <BS> or CTRL-D and then type <Esc>, CTRL-O or <CR>, the indent is deleted again. Moving the cursor to another line has the same effect, unless the 'I' flag is included in 'cpoptions'.
    Takze pokud se presunujete v kodu v insert modu, tak staci nastavit I flag v cpoptions.. Pokud ovsem z insert modu vyskocite do normalu pres ESC, tak se indentace zrusi..
    :wq
    Don't panic!
    12.3.2009 18:57 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Vim a autoindent
    Šlo mi o přesunování v insert módu a přesně tohle jsem hledal! Tahám se za uši, příště se do helpu mrknu. Nicméně díky za radu!
    Baník pyčo!
    12.3.2009 20:20 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Vim a autoindent
    Tak jsem ukvapil. Řešení co popisoval Tarmaq mi nefungovalo (myslel jsem si, že ano, a jenom proto, že jsem to zkoušel na řádku který jsem odsadil ručně tabem a nebyl autoindentovan). Opravdu funkční řešení jsem nakonec vygooglil a je zde (přidat do .vimrc)
    inoremap <CR> <CR><Space><BS>
    nnoremap o o<Space><BS>
    nnoremap O O<Space><BS>
    
    Více tady.
    Baník pyčo!
    Tarmaq avatar 13.3.2009 13:20 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Vim a autoindent
    coz znamena, ze pri stisku enteru se napise mezera a zase se smaze.. Jinak pokud se vazne chcete naucit pouzivat vim, tak se naucte posouvat v kodu v normalnim rezimu, ne v insertovacim.. Nechavat prazdny radek mi prijde zbytecne, neni lehci tam ten radek nedat a v pripade, ze chcete upravit danou metodu, tak stisknete jen o a budete tam kde chcete byt?
    tzn. napr takto
    function foo()
    {
    }
    
    najedete na radek se slozenou zavorkou, stisknete o a kurzor bude nasledujici.. (pomlcky jsou mezery a | kurzor)
    function foo()
    {
    ----|
    }
    
    Pridavam se k ostatnim co tu psali, ze nechavat radky obsahujici jen ws je nezadouci ;]
    Don't panic!
    13.3.2009 15:00 Václav HFechs Švirga | skóre: 26 | blog: HF | Kopřivnice
    Rozbalit Rozbalit vše Re: Vim a autoindent
    Ale jasné, přecházím na vim postupně, zatím ho mám spíš nastavený jako kate + lehce začínám využívat i jeho fičurky (samozřejmě, že vimtutor jsem si prozkoušel nekolikrát, satrapa stránky znám, atd... ale taky potřebuju pracovat a styl práce budu měnit pozvolně). Co ale píšete mi v ruby autoindentu bohužel nefunguje, po def metoda neví, že by mohl odsadit o jeden tab víc. V C zdrojáku mi to funguje. Hádám, že autoindent nemá pro ruby patřičný mod (nadruhou stranu jsem nějaké speciální pluginy pro ruby někde viděl, až bude čas, tak se podívám jestli na to není nějaký patch).
    Baník pyčo!
    12.3.2009 22:49 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Vim a autoindent
    Jinak je to podle mne spíš feature, aby se zbytečně na řádcích nenechávaly osamocené tabelátory, třeba při opakovaném stisku enter. A něco jako reverzní odsazování (při pohybu směrem vzhůru) není. Osobně jsem si dal alespoň
    highlight WhitespaceEOL ctermbg=red guibg=red
    match WhitespaceEOL /\s\+$/
    
    abych viděl, jestli se mám připravit na odsazování nebo ne :) Ale v zaneřáděnějším kódu to může i zbytečně rušit.
    13.3.2009 01:53 luky
    Rozbalit Rozbalit vše Re: Vim a autoindent
    Setkal jsem se s tím u několika editorů a nikdy mi to nevadilo, vždycky tam prostě klepnu jedno písmeno a je to :) Zároveň tak nezapomenu, že jsem před odbočením jinam chtěl někam ještě něco dopsat, protože tam klekne kompilace :)
    13.3.2009 08:43 ph0enix | skóre: 18 | Praha
    Rozbalit Rozbalit vše Re: Vim a autoindent

    No, ja si pri vytvareni prazdne funkce, nebo treba i jen podminene vetve pridavam komentar s textem "TODO:"...

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.