gue*_*tli 6 scripts desktop-environments paste text-processing
在德语中,邮件和信件以“Sehr geehrter Herr ....”开头。
我厌倦了一遍又一遍地打字。而且我厌倦了配置应用程序来为我提供插入这样的文本块的快捷方式。
有没有办法在桌面环境中插入注释文本块?
这样我就可以在 vi、thunderbird、firefox、libreoffice 中插入文本块...
另一个例子:我经常需要在某处插入我的 ssh-pub-key。我知道如何使用 ssh-copy-id,但是再次让我访问可配置的文本块列表的桌面解决方案会很棒。
下面的脚本对使用 Ctrl+V 粘贴文本的应用程序完成这项工作。例如,重要的是要知道它在gnome-terminal
* 中不起作用。
我在 ao Firefox、Thunderbird、Libreoffice、Sublime Text 和 Gedit 上测试了它,没有任何问题。
调用脚本时,会出现一个窗口,列出您定义的片段。选择一个项目(或输入其编号),文本片段将粘贴在任何Ctrl+ V“-compatible”应用程序的最前面窗口中:
当您选择 时manage snippets
,脚本的文件夹~/.config/snippet_paste
在 nautilus中打开。要创建新的代码段,只需使用代码段的文本创建一个文本文件。不要介意你给文件起的名字;只要是纯文本就可以。该脚本仅使用文件的内容并创建它找到的所有文件(“内容”)的编号列表。
如果代码段目录 ( ~/.config/snippet_paste
) 不存在,脚本会为您创建它。
首先安装xdotool
和xclip
,如果不是您的系统上安装:
sudo apt-get install xdotool
Run Code Online (Sandbox Code Playgroud)
和
sudo apt-get install xclip
Run Code Online (Sandbox Code Playgroud)
复制下面的脚本,另存为paste_snippets.py
,通过命令运行:
python3 /path/to/paste_snippets.py
Run Code Online (Sandbox Code Playgroud)
sudo apt-get install xdotool
Run Code Online (Sandbox Code Playgroud)
如果您使用的是其他文件浏览器,请替换第 (29) 行:
subprocess.Popen(["nautilus", directory])
Run Code Online (Sandbox Code Playgroud)
经过:
subprocess.Popen(["<your_filebrowser>", directory])
Run Code Online (Sandbox Code Playgroud)
为了更方便的使用,您可以创建一个快捷方式来调用脚本:
系统设置 ?键盘?捷径?自定义快捷键
单击+以添加您的命令:
python3 /path/to/paste_snippets.py
Run Code Online (Sandbox Code Playgroud)
该脚本也发布在gist.gisthub 上。
下面的版本自动检查 ( gnome-
) 终端是否是最前面的应用程序,并自动将粘贴命令更改为Ctrl+ Shift+V而不是Ctrl+V
用法和设置几乎相同。
sudo apt-get install xclip
Run Code Online (Sandbox Code Playgroud)