Altar I je nová nízkoprofilová bezdrátová mechanická klávesnice od Electronic Materials Office. Uvnitř běží open source firmware ZMK. Cena ani dostupnost zatím nebyly stanoveny.
The Document Foundation oznámila vydání nové major verze 7.4 svobodného kancelářského balíku LibreOffice. Podrobný přehled nových vlastností i s náhledy v poznámkách k vydání (cs) nebo také na Youtube a PeerTube.
Zranitelnost CVE-2022-38392: Některé pevné disky s rychlostí 5 400 ot./min., dodávané s noteboocích přibližně v roce 2005, je možné zničit písní Rhythm Nation od Janet Jackson (na vlastní nebezpečí).
LinuxDays 2022 nebudou: "Důvodů je několik: stále nejistá koronavirová situace, několikanásobně vyšší ceny a nižší počty návštěvníků na konferencích obecně. Pokud vám chybí setkání nejen s linuxovými lidmi, přijeďte na zářijový OpenAlt, který pořádají naši kamarádi v Brně."
Balík aplikací KDE Gear byl aktualizován v rámci pravidelného srpnového vydání. Namátkou textový editor KWrite/Kate má nově funkci více kurzorů, Filelight zobrazuje využití kapacity úložišť v přepracovaném rozhraní, Kalendar podporuje také kontakty nebo KDE Itinerary umí načítat čárové kódy.
Byla vydána nová major verze 5.1.0 svobodného programu pro skicování, malování a úpravu obrázků Krita (Wikipedie). Přehled novinek i s náhledy v poznámkách k vydání a na YouTube. Ke stažení je také balíček ve formátu appimage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.
Čínská distribuce Deepin byla v dosavadních vydáních založená na Debianu (dříve Ubuntu) a přidávala především vlastní desktopové prostředí. To se mění s chystaným vydáním v23, s nímž se distribuce osamostatňuje a přidává vlastní balíčkovací systém Linglong či transakční systémové aktualizace.
Martijn Braam na svém blogu rozepsal, proč odešel z PINE64 stojící za telefony PinePhone: "Nesouhlasil jsem s koncem komunitních edicí. Dnes se PinePhone dodává pouze s distribucí Manjaro. PINE64 se tak stará pouze o Manjaro a vývojáře Manjara nezajímají jiné distribuce. Toto už není komunita, která naslouchá vývojářům softwaru. Jako zástupce postmarketOS nemám žádný důvod, abych byl přímo zapojen do PINE64, pokud jediné, na čem záleží, jsou názory Manjara."
LCARS Desktop Environment, zkráceně lcarsde, je desktopové prostředí přinášející na linuxový desktop rozhraní LCARS ze Star Treku. Představení na YouTube na kanálu Chris Titus Tech. Autorem prostředí je Andreas Tennert
Pokud se vám líbil 1. článek o editoru VIM, tak zde najdete ještě pár dalších triků. Pokud jste nečetli 1. díl, doporučuji si jej prečíst. Případně se vám budou hodit nějaké znalosti o užívání tohoto editoru. Už to nebude sice tak výživné jako předchozí díl, ale ještě se pár věcí najde.
Při vlastní korektuře 1. dílu jsem našel pár věci, které se do něj nevešly. Během té doby jsem prošel manuál k VIMu a něco ještě našel.
dl
⇒ Smaž znak (alias: "x").diw
⇒ Smaž slovo.daW
⇒ Smaž slovo (vše, co není odděleno mezerou).dd
⇒ Smaž celou řádku.dis
⇒ Smaž vše uvnitř věty.das
⇒ Smaž celou větu.dib
⇒ Smaž vše mezi '(' ')' závorkami.dab
⇒ Smaž blok dat v závorkách '(' ')' zároveň se závorkami.dip
⇒ Smaž vše uvnitř odstavce.dap
⇒ Smaž celý odstavec.diB
⇒ Smaž vše mezi { } závorkami.daB
⇒ Smaž celý blok dat mezi závorkami { } a zároveň tyto závorky.Zde jsem udal příklad s mazáním. Není problém písmenko d
v příkazu nahradit písmenem v
a označujete takto bloky. Tak třeba viB
⇒ a označíte vše mezi závorkami {} v závorkovém bloku, v němž jste.
Zde nabízím malou pomůcku. Písmena a
, i
.
a
jako all.i
jako in.Doslova se jedná o zabalení nějakého obsahu bloku. Máte-li dlouhou funkci v kódu, tak něco odlaďovat není žádný med. A skákat o dalších pár set řádků vpřed či vzad a pořád chápat o co jde, to je někdy obtížné. Případně pokud některé části kódu nepoužíváte, avšak v kódu se potřebujete pohybovat. Je to hezká hračka, nenašel jsem však pro mě příliš velké využití, protože se většinou pohybuji ve zdrojácích vlastní výroby a vyhledávání na základě dobrého označení jmen a volby set incsearch
mi nedělá problémy.
zf
⇒ Vytvoř fold. Lze použít vizuální mód. Nebo využít techniky, které jsem popsal v předchozím odstavci.11zF výtvor
⇒ Vytvoř fold na 11 následujících řádcích.zo
⇒ Otevři fold.zc
⇒ Zavři fold.zd
⇒ Smaž fold pod kursorem.I když se příliš neorientují v konfiguračních souborech VIMu, tak jsem k tomu byl částečně donucen. Je to už velká magie, tak jako funkce, a k velkému čarování je třeba také hodně času na učení a ten já příliš nemám.
Pracuji s databázemi a jako vývojový nástroj používám psql. Externí editor VIM. Při editaci exitujícího sql souboru se mi syntaxe zobrazuje. Při založení nového souboru však ne. psql si vytváří dočasně soubory ve tvaru /tmp/psql.edit.<číslo>.<číslo>
Obdobným příkladem je links, kde si externí editor (pokud máte jako výchozí VIM) vytváří dočasně soubory /tmp/links.<číslo>.<číslo>
. Pokud editujete html objekt textarea. Dost mi vadilo, že nevidím syntaxi. Především v psql
. U dočasných souborů jsem mimo zvýraznění syntaxe html ještě dodal zalamování řádků na 75. znaku.
Vytvořte si ve svém domovském adresáři soubor .vim
, pokud ho
zde ještě nemáte, a založte soubor filetypes.vim
. Pak stačí překopírovat do něj tento obsah.
if exists("did_load_filetypes")
|
Doslova se jedna o autopříkazy, které se provedou po načtení souboru. Není tedy problém potom přidat ještě doplnění nějakého textu či nahrazovačky.
Občas potřebujete vytvářet schémata či obrázky ze znaků. Ne vždy je žádoucí, aby vám skákal vím pouze po odstavcích a místech, kde je něco napsáno. Doslova se pohybujete po celé pracovní ploše, nejen po části, která je vymezena místem, na němž jste něco napsali, či kde je text (nebo prázdné místo). Obvykle se tento režim používá pouze u sloupcových bloků Ctrl+V
.
Zde pomůže volba set virtualedit=(block,insert,all)
. Jedná se například o editaci těchto údajů.
A B C D
A B C D
A B C D
Občas potřebujete zformátovat zdrojové kódy. Jedna se především o formátování odstavců a bloků v částech mezi závorkami.
}=a
⇒ Oblast mezi závorkami}=gg
⇒ Oblast od kursoru do začátku souboru.Někdy se v zdrojácích vyskytne příliš mnoho podobných textových řetězců. Není příliš pohodlné se jimi prokousávat a neustále vyhledávat další, dokud nenajdete požadovaný výsledek hledání. Částečně se to dá vyřešit tak, že hledáte třeba konce slov či poslední písmenka s koncem slov. Doslova se naučíte při vyhledávání v textu uvažovat úplně jinak. Třeba příkaz: najdi druhé podtržítko od konce slova, za nímž následuje znak 2.
Podstatně příjemnější cesta je vyhledávat co nejpřesněji. Je to trocha magie, ale stojí určitě za to.
\@=
⇒ Ti, kdo znají Perl, tak těm řekne něco tento regulární výraz (?=pattern)
. Doslova se jedna o nalezení vzorků, za kterými je nějaký vzorek.%s/\($mydb\)\(_2\)\@!/\1_3/gc
⇒ Opět obdoba perlovského výrazu (?!pattern)
. Praktické využití může být vidět třeba pokud máte skupinu objektů (zde pro příklad z php) $mydb,$mydb_2,$mydb_až,$mydbnext, atd. Pokud máte neustále vyhledávat v několika desítkách těchto výrazů a kontrolovat, že opravdu nahrazujete, to co chcete, tak zde je řešení. Obecně bych to nazval "najdi slovo, za kterým je či není nějaké slovo".\@<=
⇒ Najdi vzorek s tím, že předcházející vzorek může být nulový.\@<!
⇒ Najdi vzorek, který neobsahuje nějaký vzorek.\%23labc
⇒ Najdi slovo abc na 23. řádku.\%23v
⇒ Najdi 23.znak ve virtuálním řádku.%s/\%5v.*\%20v/XXXXXXXXXXX/gc
⇒ Nahraď vše všech řádcích 5.ty až 20.ty znak znaky XXXXXXXXXX.kolo\%[toč]
⇒ Najdi slova kolo, kolot, kolotoč. Záleží zde na pořadí písmen za sebou. Najdi slovo a od tohoto slova vyhledávej dále dokud nenajdeš znak, který nevyhovuje posloupnosti udané v pořadí za sebou v hranatých závorkách. Je to trošku mozkolam, než tuto funkci pochopíte. Ale pomůckou vám může být volbaset hlsearch
. A hned vidíte, co se vyhledává.Toto je spíše taková hračka, ale může se hodit. Prakticky ji využijete na editace arabských textů. Případně některá data se čtou lépe z opačné strany. Jedna se o psaní a zobrazování pozpátku.
:set rightleft
⇒ Zobraz text opačně - zprava doleva.:set norightleft
⇒ Zobraz text zleva doprava tak, jak jsme zvyklí.:set revins
⇒ Piš zpráva doleva.
.kedelsyv adapyv motop otkat A
:set norevins
⇒ Piš zleva doprava tak, jak to je obvyklé v našich zeměpisných šířkách.Pokud děláte ve VIMu už nějaký čas, možná na první pohled nacházíte v tomto editoru logiku ovládání. To je jedna z věci, které mě na tomto editoru fascinují. Nepokládám se za nějakého odborníka. Uvedu zde pár věci, které vám mohou pomoci při naučení. Biflovat se nemá smysl. A zde je právě intuitivnost skrytá v logice. Občas z toho bolí hlava, nicméně efektivita je obrovská. Podstatně lepší než obouručně Ctrl+Alt+<F10>, které by se mělo spíše než u počítačů používat u lisu, aby člověk nepřišel při zapínání o ruce.
počet+příkaz
Počet může být zadán nějakým číslem. Proveď několikrát daný příkaz.rozsah+příkaz
Označení přes vizuální mód, přes počet řádek, před vyhovujícími řádky. Proveď příkaz na označené části.: <označena_část nebo počet> příkaz
Proveď v příkazové řádce nějaký příkaz na nějaké označené části.v10e:s/old/new/g
Označ blok pomocí pohybu a potom proveď příkaz.h,j,k,l
nebo ;'
nebo
/?
- určitý typ ovládání a funkcí je obvykle vedle sebe na klávesnici.velikosti písmen
. Většinou platí pro operace na celý řádek či znaky.
set volba
set novolba
(zruš volbu)
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
vim: set ft=sql tw=75:a mit zapnutou option modeline. Nevyhoda: nutno mit v kazdem souboru (ale kdyz clovek pouziva kostry...), mozna bezpecnostni implikace; vyhoda: nezavislost na adresari, pripone, a pripadne i pocitaci (pokud se vy ci soubor pohybujete mezi vice). Kdyz uz mluvim o modelines a v clanku byla zminka o foldech, uzitecne muze byt mit nastaveno v modelines foldmethod=marker a pripadne jeste foldmarker a commentstring; pak vidi foldy kazdy, kdo ma modelines zapnute tak, jak autor zamyslel, a pri vytvareni novych se automaticky pridavaji ony znacky.
set ww+=l
už jsi si vzpomněl?
set nocompatible
set exrc
set secure
set backup
set backupext:.bak
set confirm
set fileformat:unix
set fileformats:dos,unix
set errorbells
set backspace:2
set autoindent
set tabstop:4
set expandtab
set showmode
set showcmd
set ruler
set history:100
set nogdefault
set showmatch
set nojoinspaces
set ignorecase
set smartcase
set incsearch
set scrolloff:1
set sidescroll:1
set sidescrolloff:1
inoremap gj
inoremap gk
set background=dark
set hlsearch