新版本的 Nautilus 很酷,因为它们会跳过任何文件名开头的非字母数字字母,并根据第一个字母数字字母(如果有)对文件进行排序。但是如何命名文件以便对其进行排序呢0
?假设我有一个包含这些文件的文件夹:
0apple.conf
apricot.xml
banana
camel.so
cat.py
dog.tar.bz
我想添加一个或两个字母的前缀,cat.py
以便将其排序在0apple.conf
文件之前。我不想更改名称,只想添加前缀。我也不想更改其他人的名字。我已经尝试过:
#cat.py
和.cat.py
名称以及希腊字母前缀将文件排序到末尾(dog.tar.bz
文件之后;.
也更改可见性)- 任何前缀都会对和
,-";:-–\_(?)*+%=<>!
之间的文件进行排序(就像没有任何前缀一样)。camel.so
dog.tar.bz
是的,可以选择在开头附近添加更多零,但我希望文件名尽可能短并且位于最前面。
PS:我的语言是捷克语(因此排序应该是类似于cs
、cz
或czech
的东西cs_CZ
)。
答案1
前缀0
已使文件在 Nautilus 中排在最前面。什么可以排在第一个文件之前?除了目录之外,没有文件可以排在最前面。无论使用哪种语言环境,这都是正确的。
文件命名
在以下示例中,我首先创建了一个名为的空文本文件,apple.txt
然后制作了多个副本并通过添加单个字符前缀重命名每个文件。我只使用了最兼容的字母数字字符:0 A á _ -
和(空格)。这意味着我总共创建了 7 个文件,外加一个名为的目录
apple
以供参考。
请注意,这á
是捷克语的第二个字母,它出现在本篇文章部分在 Wikipedia 上。第一个字母似乎与英语相同:A
和a
。
文件排序
Nautilus 如何在不同的语言环境中对这些文件进行排序?结果发现它们很相似,但略有不同。请参见以下屏幕截图进行比较。
Nautilus 在英语环境下对文件进行排序en_US.UTF-8
如下:
apple <-- directory
0apple.txt
Aapple.txt
áapple.txt
apple.txt <-- original file without prefix
apple.txt
_apple.txt
-apple.txt
Nautilus 在 Czech 环境中对文件进行排序,cs_CZ.UTF-8
如下所示:
apple <-- directory
0apple.txt
Aapple.txt
áapple.txt
apple.txt
apple.txt <-- original file without prefix
-apple.txt
_apple.txt
在两种语言环境中,在 Nautilus 中以列表形式查看时,目录和前 3 个文件的顺序没有变化。这已经表明在 之前不能出现任何字母数字字符0apple.txt
。
解决方法 1
一种方法是创建名称不同于现有“apple”的文件,其前缀与0
现有文件相同。创建0aaa.txt
将先于现有文件0apple.txt
,依此类推。
使用此解决方法,文件将按如下方式排序:
0.txt
0a.txt
0aaa.txt
0apple.txt
...
这样,该文件0.txt
将成为 Nautilus 中出现的第一个文件。0.txt
除非用户想要创建文件名.txt
(仅使用空格字符),否则其他文件不能排在 之前。
解决方法 2
假设apple
已经是第一个存在的文件,并且用户坚持要不是重命名apple
,还有另一种方法:将具有较高数字前缀的现有文件从 重命名为0apple.txt
。9apple.txt
这将允许其他具有较低数字前缀的文件0*
出现8*
在 之前9apple.txt
。
使用此解决方法,文件将按如下方式排序:
0mango.txt
1kiwi.txt
2orange.txt
...
9apple.txt
...
0apple.txt
如果由于某种原因无法整体重命名,则解决方法 2 不适用。解决方法 1 会更有效,因为0.txt
它总是出现在0mango.txt
用户能想到的其他文件名之前。
我如何测试
在我的测试中,只安装了必要的语言环境包来准备在 Ubuntu 中运行 Nautilus 的捷克环境。通过命令在其他语言环境中运行程序的快捷方式LANG=<LOCALENAME> nautilus
不起作用。因此,请执行以下步骤。
language-pack-gnome-cs language-pack-gnome-cs-base language-pack-cs language-pack-cs-base
在终端中通过 APT安装这些软件包去系统设置 > 语言和支持
在语言 - 菜单和窗口的语言,将名为
čeština
(“捷克语”的单词维基百科指出)至上文English
注销并重新登录即可生效
在 Ubuntu 16.04 LTS(Live)中使用 Nautilus 3.14.3 进行测试。
总结带前缀的文件名0
是 Nautilus 中的第一个文件。除目录外,其他文件都不能出现在第一个文件之前。
答案2
您是否尝试过使用空格零作为前缀?
[0cat.py]
您提到的其他字符对我来说也不起作用,但空格零可以正常工作。
您还可以尝试空格字符和零的其他组合,例如:-0cat.pay、_0cat.py 等。这些也应该可以起作用。