你们中的许多人可能没有明白我在问什么(抱歉我的提问技巧很差),所以让我借助一个例子来解释一下。
假设我在我的~/desktop/assignments/practicals/words/
目录中,我想.odt
在这里保存一个 word ( ) 文件。如下面的屏幕截图所示,我能够访问文件管理器中的ctrl+快捷方式来访问目录的文本位置,因此我使用+将其复制到剪贴板中。Lnautilus
ctrlc
接下来,我打开并输入了一个文档,然后尝试使用+快捷方式Libreoffice
将文件保存在我想要的位置(即 ~/desktop/assignments/practicals/words/)。ctrlL
当我按下save
按钮时,会弹出下面的窗口(我称之为“Nautilus 打开和保存导航器”。我不知道它的正式名称是什么,所以如果有人能告诉我,我将不胜感激)。
默认情况下,它告诉我将文件保存在 中~/Documents/
,但正如我上面提到的,我想将文件保存在 中,~/desktop/assignments/practicals/words/
因此我尝试使用ctrl+L快捷键获取基于文本的位置,以便我可以从剪贴板粘贴目录路径,但快捷键在这里不起作用。不仅如此,del、Alt+Enter等其他键都无法在此保存导航器窗口中使用。所以我必须手动导航到我想要的位置,如下所示。这真的很令人沮丧,并且在打开和保存文件时浪费了我很多时间。
我甚至尝试永久启用基于文本的位置,但保存导航器窗口中没有任何变化。我甚至尝试安装Nemo
文件管理器(Linux Mint 的),但保存窗口仍然看起来一样。另一方面,在 中Windows File Explorer
,我能够从open/save
窗口执行任何操作(即每个快捷方式命令都可以使用),它甚至将基于文本的位置作为默认设置。
如果您试图给我一个针对 的具体答案Libreoffice
,那么请不要这样做,因为这对我没有帮助。类似的行为可以复制到许多允许基于ctrl+ o/ ctrl+S的快捷方式(如firefox
/ sublime
/ gedit
/ vscode
/android studio
等)的应用程序中。所以我正在寻找一个通用的解决方案。
感谢您如此耐心地听取我的询问,如果您能帮助我,我将不胜感激。
答案1
您无法在这些窗口中使用快捷方式的原因Nautilus
是它们不是Nautilus
窗口。它们只是看起来有点相似,因为它们使用相同的主题。事实上,Ubuntu 附带的大多数程序都使用统一的主题。它们这样做是为了让用户可以轻松更改为所需的“外观和感觉”。例如,在 GUI 中settings
,您可以选择通过单击鼠标在浅色和深色主题之间切换。如果没有统一的主题,这是不可能的。
程序中的窗口save
由开发人员作为软件包的一部分实现GTK
。有关该主题的更多信息,您可以谷歌搜索GTK themes
,或者更好的是,在屏幕顶部的站点搜索中输入相同的术语。这是一个相当大的话题,远远超出了本文的范围。
至于问题的解决方案,您可以在settings
我之前提到的菜单中找到它。要访问它,请单击屏幕右上角的下拉箭头。
菜单显示后,您需要导航到窗口左侧的导航菜单底部。在菜单中间和底部之间,您应该会看到选项keyboard shortcuts
。单击此选项将允许您访问所有系统快捷方式,但在我看来,这不是该功能最好的部分。
如果您滚动到快捷方式列表的底部,您将看到一个名为 的区域Custom Shortcuts
。如果正确使用此功能,它将为系统中几乎所有内容提供快捷方式。
例如,您可以编写并分配一个简短的脚本(到快捷方式),将任何文档复制到~/desktop/assignments/practicals/words/
,从而完全跳过nautilus
和save
窗口。
但是,假设您是新手Ubuntu
(但仅从您提到的程序来看,也假设您是一名程序员),我不会指望您能够即兴编写 bash 脚本。目前,我建议编写一个命令,将路径与~/Documents/*\.odt
目标目录匹配的文件移动到~/desktop/assignments/practicals/words/
。这会将具有文件类型的文档中的任何文件.odt
自动移动到您的目标目录。
为此,在Custom Commands
之前的区域中,添加一个名为的命令,如将文件移动到我的目录或类似命令。对于实际命令,请尝试以下命令:
mv ~/Documents/*\.odt ~/desktop/assignments/practicals/words/
确保在句点前包含反斜杠。此外,大多数情况下,以这种方式向程序指定命令时,它们不会被 bash 解释。这有很多含义。首先,大多数命令(例如mv
)如果没有全名就无法调用。
为了解决这个问题,你可以先调用 bash:
/usr/bin/bash -c mv ~/Documents/*\.odt ~/desktop/assignments/practicals/words/
当您开始尝试将多个程序调用放入一个命令中时,这将特别有用(它会发生,我保证。(:)
无论如何,总结一下:现在,将上面的最后一个命令复制并粘贴到上面的窗口中您定义的自定义快捷方式中,您就可以执行以下操作。
当出现保存菜单时,只需单击“保存”并将其关闭。
窗口关闭后,按下热键。
大功告成。您的文件(以及任何其他
.odt
文件,以防您上次忘记使用热键)现已保存在您的目标目录中。
注意:我说'目前'因为这意味着,直到你对 Linux 界面足够熟悉,不再关心 Windows 发生了什么事情时,gtk
这就已经足够了。同样,它会发生。我确信你和我一样持怀疑态度,但过了一段时间,我意识到我用“拖放”功能换来的是什么:控制。完全控制你的机器。你只需要知道如何做,信息就在你的面前。你只需要知道如何寻找它。
无论如何,我开始偏离主题了,所以我最后想说的是,这篇文章花了一段时间才写出来,所以我肯定忘记了一些东西。如果你有任何问题,请在这条回答下发表评论,我会收到通知。
答案2
Ctrl使用++LCtrl快捷方式复制 nautilus 中的路径后c,您可以直接将其粘贴到保存对话框 ( Ctrl+ v) 中。然后将文件的名称附加到刚刚粘贴的路径,然后点击Enter将文件保存在该位置。
答案3
文件打开和保存对话框由 GTK 的组件生成,名为 GtkFileChooserDialog。
您对Ctrl+ 的看法是正确的L,它在以前的版本(例如带有 Gtk2 的 Ubuntu 18.04 LTS)中的此类对话框中可用。
针对现代基于 Gtk3 的版本建议的工作流程如下:
- 使用 Nautilus、Nemo 或 Caja 导航到某条路径
- 按Ctrl+L将位置栏从面包屑导航更改为文本输入视图
- 按Ctrl+C将路径从位置栏复制到剪贴板
- 打开一些应用程序,例如 Firefox、Chromium、LibreOffice 等
- 粘贴Ctrl+V路径至姓名GtkFileChooserDialog 字段
- 点击Enter前往所需路径
- 若保存文件,请指定所需的文件名;若打开文件,请指定要打开的文件。
注意:我在 Windows 上用类似的方法做了好几年。这种方法提高了工作效率。