我有时需要缩进带有空格的文本块,以便在 Web 浏览器中使用,例如,在格式化此站点上的代码块或 Launchpad 上的帖子时。
到目前为止,我只是通过将四个空格复制到剪贴板然后非常快速地混合键来手动完成它:
↓, Home, Ctrl+ V(重复)
最快的方法是什么?
- 复制并粘贴到另一个程序?(哪个?)
- Firefox 或 Chrome 浏览器扩展?
- 直接修改剪贴板内容的命令?
- 自动打字程序?
我有时需要缩进带有空格的文本块,以便在 Web 浏览器中使用,例如,在格式化此站点上的代码块或 Launchpad 上的帖子时。
到目前为止,我只是通过将四个空格复制到剪贴板然后非常快速地混合键来手动完成它:
↓, Home, Ctrl+ V(重复)
最快的方法是什么?
您可以通过一个简短的 shell 脚本进行管道传输:
第一个 xsel -b 读取剪贴板,sed 添加四个空格(^ 匹配行首),然后第二个 xsel -b 将其放回剪贴板。删除 -b 以使用主要选择(中间单击粘贴缓冲区)。
例子:
您可以将其放入 shell 脚本中,例如名为“indent4”,其内容为:
然后使其可执行。您还可以通过右键单击 Nautilus 中的文件、转到属性并更改权限来执行 chmod。
然后将文件放在桌面上,或将其存储在任何地方并为其制作启动器。现在您可以运行 indent4(例如双击),剪贴板将被修改。
xsel 来自一个名为“xsel”的包,这并不奇怪;您可能必须安装它。有关详细信息,请参阅“man xsel”。示例中的 $'' 样式字符串是特定于 bash 的。
我使用 Firefox 的penadactyl插件。(这是 vimperator 插件的继承者。)
除了许多其他出色的功能外,它还允许您使用外部编辑器编辑网页中的任何文本框。(您在编辑文本框时按 Ctrl-I 并打开一个编辑器;当编辑器保存文件时,它会自动复制回文本框。)我使用 gvim 作为我的外部编辑器。在(g)vim中,视觉模式中的>键(即选择或突出显示字符时)将以您在.vimrc中设置的数量缩小所有选择的行。
有一些方法可以设置 pentadactyl 来告诉 gvim 正在编辑什么文件类型(例如,此页面的 html 或 markdown,或 Ubuntu 论坛的 bbcode 等,因此您可以使用特定于文件类型的插件,甚至获得语法突出显示。)
这是提交给 commandlinefu.com 的命令的链接。它使用 emacs 正确缩进整个文件,因此您不必考虑什么是空格和什么是制表符。
您可以将测试复制到 Gedit 中,突出显示整个内容(CTRL-A),点击 Tab,然后再次复制。它是手动的,但速度很快。