abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 05:00 | IT novinky

    Notebook NitroPad V56 od společnosti Nitrokey byl oficiálně certifikován pro Qubes OS verze 4. Qubes OS (Wikipedie) je svobodný a otevřený operační systém zaměřený na bezpečnost desktopu.

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

    Multiplatformní hororová adventura Whispering Willows je na portále GOG.com zdarma, akce trvá do 6. října.

    Fluttershy, yay! | Komentářů: 0
    včera 14:33 | Komunita

    Na čem aktuálně pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za září (YouTube).

    Ladislav Hagara | Komentářů: 0
    včera 14:11 | Nová verze

    Byla vydána nová verze 1.50.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Fernando F. Mancera. Vypíchnout lze podporu nastavení veth (virtual ethernet) v nmtui.

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | Nová verze

    Byla vydána nová verze 24.1 linuxové distribuce Manjaro (Wikipedie). Její kódové jméno je Xahea. Ke stažení je v edicích GNOME, KDE PLASMA a XFCE.

    Ladislav Hagara | Komentářů: 2
    včera 13:11 | Nová verze

    Mobilní Datovka, tj. svobodná aplikace pro přístup k datovým schránkám pro zařízení s operačním systémem iOS a Android, byla vydána v nové verzi 2.1.0. Nově je pro sestavení potřeba Qt 6.7.

    Ladislav Hagara | Komentářů: 1
    včera 12:33 | IT novinky

    Přesně před 35 lety, 3. října 1989, byla vydána počítačová hra Prince of Persia. Jejím tvůrcem je Jordan Mechner.

    Ladislav Hagara | Komentářů: 4
    2.10. 14:44 | IT novinky

    Společnost PINE64 stojící za telefony PinePhone nebo notebooky Pinebook publikovala na svém blogu zářijový souhrn novinek. Po půl roce od předchozího. Vypíchnout lze nové desky StarPro64, Oz64 a Quartz64-Zero.

    Ladislav Hagara | Komentářů: 0
    2.10. 13:44 | IT novinky Ladislav Hagara | Komentářů: 8
    2.10. 06:33 | Humor Ladislav Hagara | Komentářů: 6
    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: 358×

    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.