GNU/Linux >> Znalost Linux >  >> Ubuntu

Automaticky upravit obsah schránky (náhrada vzoru regulárních výrazů) při kopírování a vkládání?

Často kopíruji malé samostatné úryvky textu a vkládám je někam jinam. Poté vždy potřebuji vložený výsledek upravit dobře definovaným způsobem, který lze popsat pomocí nahrazení regulárního výrazu podobně jako např. sed ‘s s/PATTERN/REPLACEMENT/ příkaz.

Chtěl bych automatizovat editační část tohoto úkolu tím, že skript automaticky zpracuje obsah vyrovnávací paměti mé schránky v určité době mezi zkopírováním a vložením a upraví jej použitím nakonfigurovaného nahrazení regulárního výrazu.

Skutečný vzor regulárního výrazu a nahrazení zadá uživatel při spuštění skriptu a také by to mělo nějak indikovat, že je spuštěn, např. ponecháním otevřeného malého dialogového okna a odesláním upozornění na plochu pokaždé, když byla provedena změna.

Přijatá odpověď:

Úvod

Způsob odeslání otázky vyžaduje více než jen jednoduchý skript, ale také rozhraní GUI pro aktivaci/deaktivaci skriptu. Zjistil jsem, že by bylo snazší toho dosáhnout prostřednictvím indikátoru aplikace, který by byl přístupný z horního panelu Ubuntu. Tato odpověď přesně toto představuje jako řešení.

clipboard-autoedit-indicator , který jsem napsal speciálně pro tuto otázku, umožňuje automatické úpravy obsahu schránky na základě výrazu regulárního výrazu (volba sed nebo re pythonu styl). Používá modul schránky Gtk a minimální závislosti, takže není třeba instalovat další nástroje, jako je xclip nebo xsel .

Instalace

Spusťte v terminálu následující příkazy:

sudo add-apt-repository ppa:1047481448-2/sergkolo
sudo apt-get update
sudo apt-get install clipboard-autoedit-indicator

Použití

Indikátor lze spustit zadáním Unity Dash Clipboard Autoedit nebo voláním /usr/bin/clipboard-autoedit-indicator z příkazového řádku. Jsou zde dvě indikační ikony (barevná a zašedlá ikona schránky), které se zobrazí, když jsou povoleny/deaktivovány dynamické úpravy schránky. Když dojde k úpravě, uživateli se odešle upozornění.

Položka nabídky „Nastavit vzor regulárního výrazu“ volá zenity dialog formulářů. Když uživatel upravuje pravidlo regulárního výrazu, je zapamatováno a uloženo v ~/.clipboard-autoedit-config.json soubor. Dynamické úpravy budou povoleny automaticky, když uživatel klikne na OK ale uživatelé jej mohou deaktivovat pomocí zaškrtávacího menu „Replacement Enabled“. Výchozí typ regulárního výrazu je re pythonu modul.

Zdrojový kód

Zdrojový kód je dostupný pod licencí MIT na GitHubu. Další vývoj a novější verze budou k dispozici, a pokud máte požadavek na funkci a/nebo hlášení o chybě, odešlete je na GitHub.

Související:Co jsou Steam Gems Steam hra?
Ubuntu
  1. Unix Case Regex?

  2. Ubuntu se automaticky připojí k bezdrátové síti, když je již připojeno přes Eth0 ke stejné síti?

  3. Najít nerekurzivní při zadání vzoru na příkazovém řádku?

  1. Zmenšit okno v GTK+ dynamicky, když se obsah zmenší?

  2. Vzor regulárního výrazu pro úpravu souboru /etc/sudoers

  3. Neupravený obsah schránky

  1. Jak automaticky zkopírovat obsah USB (flash) disku do jiného adresáře?

  2. Jak spustíte `méně` a necháte automaticky spustit vyhledávací vzor?

  3. Soubory se stejným obsahem, ale s různými součty md5 při gzipování?