Mat*_*Max 6 command-line shortcut-keys copy-and-paste
当我从 GUI 复制文件路径(右键单击文件并按“复制”)然后将其粘贴到命令行中时(Ctrl + Shift + V),它显示为:
file:///home/user/Documents/file.ext
Run Code Online (Sandbox Code Playgroud)
我希望它显示为:
/home/user/Documents/file.ext
Run Code Online (Sandbox Code Playgroud)
这有捷径吗?我经常处理图像,总是手动删除“file://”有点麻烦。
从 Files (nautilus) 3.32 开始,剪贴板操作已更改以适应 Gnome Shell“桌面图标”扩展。因此,复制文件将填充剪贴板
x-special/nautilus-clipboard
copy
file:///home/user/Documents/299867.jpg
Run Code Online (Sandbox Code Playgroud)
而不是像以前一样,只是路径名:
/home/user/Documents/299867.jpg
Run Code Online (Sandbox Code Playgroud)
因此,高级用户无法再方便地将路径名从文件复制粘贴到终端或编辑器,或文件 - 打开/保存对话框。
该问题已提交给 Gnome。您可以通过安装 Nautilus Python 扩展或 Nautilus 脚本来解决。
鹦鹉螺 Python 扩展
+很好地集成
+快速鼠标右键访问
-没有热键
如果只是用鼠标复制路径对你来说没问题,安装python扩展就足够了nautilus-copypath。它为您提供了一个右键单击菜单项来复制路径,但不提供使用热键实现该目的的能力。
鹦鹉螺脚本
+热键访问
-需要两次点击
-较少的“集成”
不过,高级用户更喜欢将手放在键盘上。虽然 Python 扩展被巧妙地集成在一起,但没有简单的方法(我发现)为它们分配一个键盘快捷键或至少一个菜单加速键。相比之下,人们可以轻松地为 nautilus 脚本分配热键。缺点是需要再单击一次才能使用鼠标选择条目。要同时获得最佳键盘访问和最佳鼠标访问,您始终可以同时安装脚本和 Python 扩展。
1. 创建一个 nautilus 脚本文件夹。如果尚不可用,请scripts在.local/share/nautilus. 要查看.local文件中的隐藏文件夹,请选择“显示隐藏文件”(或按Ctrl+ h)。您放入该文件夹中的任何可执行脚本都将出现在“脚本”菜单中,该菜单将出现在您的文件右键单击菜单中。
2. 创建一个脚本来复制文件路径。打开文本编辑器,粘贴以下文本
#!/bin/bash
echo -n "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | perl -pe 'chomp if eof' | xsel -b -i
Run Code Online (Sandbox Code Playgroud)
该perl构造用于删除最后一个硬返回。
将文本文件保存在 nautilus 脚本文件夹 ( .local/share/nautilus/scripts) 中,名称为Copy Path. 您可以选择任何文件名,但请注意,文件名将显示为脚本菜单下的条目。关闭你的编辑器。
3. 使脚本可执行。右键单击“文件”中的脚本文件,选择“属性”(或只需在选定文件的情况下按Alt+ Enter),然后在“权限”选项卡上,选中“执行:”。
4. 为该功能添加一个热键。用你的文本编辑器,打开,或者如果它还不存在,创建一个文件.config/nautilus/scripts-accels(即在隐藏文件script-accels夹nautilus下的文件夹中命名的文件.config。添加一行来定义你想用来复制路径名的热键。我用Ctrl+ Shift+ c,所以我添加了一行:
<Control><Shift>c Copy Path
Run Code Online (Sandbox Code Playgroud)
关闭那个文件。您需要完全重新启动 Files 以使脚本可用。
5. 确保xsel已安装。xsel是一个用于操作剪贴板内容的命令行工具。默认情况下未安装它,因此您可能需要安装它才能使 nautilus 脚本正常工作:sudo apt install xsel.