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 00:33 | Nová verze

    Webový prohlížeč Dillo (Wikipedie) byl vydán ve verzi 3.1.0. Po devíti letech od vydání předchozí verze 3.0.5. Doména dillo.org již nepatří vývojářům Dilla.

    Ladislav Hagara | Komentářů: 0
    včera 15:00 | Komunita

    O víkendu probíhá v Bostonu, a také virtuálně, konference LibrePlanet 2024 organizovaná nadací Free Software Foundation (FSF).

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Nová verze

    Nová vývojová verze Wine 9.8 řeší mimo jiné chybu #3689 při instalaci Microsoft Office 97 nahlášenou v roce 2005.

    Ladislav Hagara | Komentářů: 0
    3.5. 13:11 | Nová verze

    Coppwr, tj. GUI nástroj pro nízkoúrovňové ovládání PipeWire, byl vydán v nové verzi 1.6.0. Zdrojové kódy jsou k dispozici na GitHubu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    2.5. 22:33 | Nová verze

    Byla vydána dubnová aktualizace aneb nová verze 1.89 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Vypíchnout lze, že v terminálu lze nově povolit vkládání kopírovaného textu stisknutím středního tlačítka myši. Ve verzi 1.89 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 20
    2.5. 21:22 | Nová verze

    Proton, tj. fork Wine integrovaný v Steam Play a umožňující v Linuxu přímo ze Steamu hrát hry určené pouze pro Windows, byl vydán ve verzi 9.0-1 (𝕏). Přehled novinek se seznamem nově podporovaných her na GitHubu. Aktuální přehled her pro Windows běžících díky Protonu také na Linuxu na stránkách ProtonDB.

    Ladislav Hagara | Komentářů: 2
    2.5. 19:33 | Nová verze

    Byla vydána verze 1.78.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání na GitHubu. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    2.5. 11:22 | Bezpečnostní upozornění

    Služba Dropbox Sign (původně HelloSign) pro elektronické podepisování smluv byla hacknuta.

    Ladislav Hagara | Komentářů: 3
    2.5. 11:00 | Nová verze

    Byla vydána nová major verze 8.0 textového editoru GNU nano (Wikipedie). Podrobný přehled novinek a oprav v oznámení v diskusním listu info-nano nebo v souboru ChangeLog na Savannah. Volbou --modernbindings (-/) lze povolit "moderní" klávesové zkratky: ^C kopírování, ^V vložení, ^Z vrácení zpět, … Tato volba je aktivována také pokud binárka s nano nebo link na ni začíná písmenem "e".

    Ladislav Hagara | Komentářů: 4
    1.5. 23:22 | IT novinky

    Před 60 lety, 1. května 1964, byl představen programovací jazyk BASIC (Beginners' All-purpose Symbolic Instruction Code).

    Ladislav Hagara | Komentářů: 23
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (57%)
     (10%)
     (18%)
     (14%)
    Celkem 77 hlasů
     Komentářů: 8, poslední včera 08:25
    Rozcestník

    VIM ako užitočný pomocník pri písaní python kódu

    9.3.2013 17:00 | Přečteno: 2474× | Linux | Výběrový blog | poslední úprava: 9.3.2013 16:59

    V dnešnom blogu si ukážeme možnosti modulu python-mode pre editor VIM. Jeho pomocou pridáme do editoru VIM možnosti automatickej kontroly zdrojových kódov, lepšiu navigáciu v kóde a dopĺňanie kódu.

    Inštalácia

    Požiadavky pluginu sú relatívne štandardné. Je potrebné mať VIM vo verzii >= 7.0 s podporou pythonu. Okrem skutočne minimalistických inštalácii VIMu by mal fungovať prakticky všade.

    Zdrojové kódy modulu sú dostupné github-e. Inštalovať modul je možné buď pomocou pathogenu, alebo manuálne. Používateľom pathogenu hádam nemusím vysvetľovať spôsob inštalácie, pre tých ostatných krátky návod ako pomerne bezbolestne pridať plugin do VIMu bez neporiadku v adresári ~/.vim ;-).

    Zásuvný modul stiahneme príkazom git clone git://github.com/klen/python-mode.git. Následne stačí adresár python-mode presunúť do podadresára ~/.vim/bundle/ (ak neexistuje musí sa vytvoriť) a pridať riadok set runtimepath+=$HOME/.vim/bundle/python-mode/ do ~/.vimrc. Týmto je inštalácia prakticky hotová a pripravená na prípadnú migráciu na pathogen ;-).

    Pri prvom spustení je vhodné vygenerovať tagy z dokumentácie aby VIM vedel korektne vyhľadávať pri zadaní príkazu :help. Tagy sa vygenerujú príkazom :helptags ~/.vim/bundle/python-mode/doc/.

    Problémy s paste unicode znakov vo VIMe

    Pri používaní pluginu som narazil na pomerne nepríjemný problém, kvôli ktorému nie je možné do editoru vkladať unicode znaky. Problém sa týka len konzolového editoru (GVIM teda funguje správne). V prípade použitia konzolového VIMu sa dá tento problém odstrániť nahradením riadku locale.setlocale(locale.LC_CTYPE, "C") riadkom locale.setlocale(locale.LC_CTYPE, "en_US.UTF-8") v ~/.vim/bundle/python-mode/pylibs/pymode/lint.py.

    Dopĺňanie kódu

    Pre dopĺňanie kódu nie je potrebné väčšinou nič nastavovať. Podpora virtuálneho prostredia (virtualenvwrapper) je štandardne zapnutá, stačí len spustiť VIM vo virtuálnom prostredí. Kód sa dopĺňa skratkou <Ctrl-Space>. Plugin nepoužíva štandardné omnicomplete (<Ctrl-x>o resp. <Ctrl-x>u). Medzi nasledujúcim a predchádzajúcim výsledkom sa dá prechádzať štandardnými skratkami <Ctrl-n> a <Ctrl+p>.

    Dopĺňanie kódu má na starosti knižnica rope. Nastavenia rope je možné upraviť v adresári .ropeproject/config.py, ktorý sa automaticky vytvoril v podadresári s projektom.

    Doplňanie kódu

    Kontrola kódu

    Kontrola kódu prebieha štandardne pri uložení. Kód kontrolujú nástroje pyflakes, pep8, mccabe, pylint a code-checkers. V štandardnom nastavení sa používa len prvá trojica. Nástroje, ktoré kontrolujú kód sa dajú zapnúť / vypnúť nastavením premennej g:pymode_lint_checker v .vimrc. Pomocou nej je možné napríklad úplne vyradiť niektorý z nástrojov na kontrolu kódu (minimálne pep8 je dosť ukecaný a občas vyhadzuje nezmyselné chyby). Nasledujúci kód vo .vimrc vyradí z činnosti pep8:

    let g:pymode_lint_checker = "pyflakes,mccabe"
    

    Jednotlivé hlásenia je možné vypínať aj individuálne a to nastavením premennej g:pymode_lint_ignore. Nasledujúci kód potlačí chybu E302 (2 voľné riadky zo definíciou funkcie / triedy) a všetky varovania:

    let g:pymode_lint_ignore = "E302,W"
    
    Kontrola kódu

    Dokumentácia a navigácia

    Dokumentácia sa prezerá klávesovou skratkou <Ctrl-c>d. Po jej stlačení sa zobrazí dokumentácia k aktuálnemu symbolu pod kurzorom. Pre dokumentáciu knižníc je stále možné použiť klávesovu skratku <Shift-k>. Krátky popis funkcií sa zobrazuje aj automaticky pri používaní dopĺňania kódu.

    Navigácia v kóde nie je o nič zložitejšia než prezeranie dokumentácie. Opäť stačí presunúť kurzor na symbol a klávesovou skratkou <Ctrl-c>g sa presunieme na jeho definíciu. Vyhľadať použitia symbolu je možné klávesovou skratkou <Ctrl-c>f <Enter>.

    Prezeranie dokumentácie

    Ďalšie možnosti

    Hlavným zdrojom informácií o tomto plugine je súbor README.rst. Dokumentácia integrovaná do VIMu bola v čase písania blogu neaktuálna. Ďalšie príkazy sa dajú zistiť príkazom :help ropevim.txt.

    Záver

    Python-mode síce nie je najlepším pluginom na dopĺňanie kódu, prezeranie dokumentácie, kontrolu kódu a mnoho ďalšieho, ale patrí medzi najkompletnejšie moduly (riešenie všetko v jednom). V súčasnosti nie je repozitár na github-e aktívny. V kóde je pomerne veľké množstvo neopravených chýb (týkajú sa hlavne neaktualizovaných knižníc rope a ropevim).

           

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    9.3.2013 18:14 smazáno | skóre: 18 | blog: smazáno
    Rozbalit Rozbalit vše Re: VIM ako užitočný pomocník pri písaní python kódu
    Pekne detailni zapis, s vimem jako python IDE jsem taky spokojenej. Rozhodne zkoukni jedi-vim - vyhovuje mi mnohem lip nez rope.
    mirec avatar 9.3.2013 19:03 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: VIM ako užitočný pomocník pri písaní python kódu
    Poznám, dokonca som dnes aj skúšal ;-) V podstate doplňovanie je detailnejšie, ale zároveň je u väčších projektov znateľne pomalšie. Rope síce mám tiež menej rád, ale beží pekelne rýchlo. Teoreticky by sa možno dali vybrať črevá zo snaked a napchať do rope pre lepší type hinting.
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    10.3.2013 09:56 martin
    Rozbalit Rozbalit vše Re: VIM ako užitočný pomocník pri písaní python kódu
    Také používám vim jako primární python ide. Ještě bych doporučil plugin Gundo a nejaký TaskList.
    11.3.2013 09:48 hanoj
    Rozbalit Rozbalit vše Re: VIM ako užitočný pomocník pri písaní python kódu
    Zkousel jsem to rozchodit na Win7x64 s Gvim 7.3. Instalaci a opravu dle "paste unicode" jsem provedl, ale nic z popisovaneho z kapitol "Doplneni kodu" a nize mi nefunguje. Nemate prosim nejaky napad co delam blbe? můj vimrc: http://gis.templ.net/_vimrc
    mirec avatar 11.3.2013 10:35 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: VIM ako užitočný pomocník pri písaní python kódu

    Pod win som plugin neskúšal, teoreticky tam môže nastať mnoho problémov od nenájdenia cesty ku knižniciam pythonu až po nekompatibilné volania dlopen. V konfigurácii som nič zlé nenašiel, možno niečo rozumné vypíše nasledujúci príkaz:

    :call pymode#troubleshooting#Test()
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    16.1.2014 13:44 Matěj Cepl
    Rozbalit Rozbalit vše Re: VIM ako užitočný pomocník pri písaní python kódu
    Jenom bych si dovolil poznamenat, že rope (původní projekt, ne python-mode, ale včetně ropemod a ropevim, které umožňují pohodlnou práci s vimem; samozřejmě pathogen-compatible) je teď “under new management” (se svolením autora, nejedná se o divoký fork na githubu). Více na https://github.com/python-rope/.

    Matěj

    Založit nové vláknoNahoru

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