我对spacemacs和emacs完全陌生。我从vim切换到spacemacs,希望对非“兄弟”目录有更好的项目支持。
我当前正在使用Source Dedicated Server安装中的文件夹,因此有成千上万个我无法控制的文件和文件夹,我不在乎。读为:不需要,永远也不需要,不需要查看,搜索或编辑。我可以安全地假装这些文件不存在。
对于上下文,我的SRCDS实例的安装目录为/mnt/c/dayz/
我仅想在Projectile(和neotree)中看到的文件夹如下:
/mnt/c/dayz/garrysmod/gamemodes/dayz
/mnt/c/dayz/garrysmod/addons/dz_chernarus
/mnt/c/dayz/garrysmod/addons/fas2-sweps
/mnt/c/dayz/garrysmod/addons/gdbc
/mnt/c/dayz/garrysmod/addons/willbox
/mnt/c/dayz/garrysmod/addons/xmod
请注意,每个目录的根目录都包含一个git存储库。
我尝试在~/projects/dayz
内创建一个文件夹,其中包含一个空的.projectile
文件,该文件带有指向我想要的那些文件夹的符号链接(查看下面的ls输出)。但是,似乎符号链接沿用了它们的起源,并且射弹/新树自动进入了这些项目(编辑/mnt/c/dayz/garrysmod/gamemodes/dayz/dayz.txt
会将我移至/mnt/c/dayz/garrysmod/gamemodes/dayz
项目,而不是将我留在~/projects/dayz
之内
~/projects/dayz/ > ls
.projectile
dayz -> /mnt/c/dayz/garrysmod/gamemodes/dayz
dz_chernarus -> /mnt/c/dayz/garrysmod/addons/dz_chernarus
fas2-sweps -> /mnt/c/dayz/garrysmod/addons/fas2-sweps
gdbc -> /mnt/c/dayz/garrysmod/addons/gdbc
willbox -> /mnt/c/dayz/garrysmod/addons/willbox
xmod -> /mnt/c/dayz/garrysmod/addons/xmod
我还考虑过反转符号链接,以使源驻留在我实际上想做的~/projects
目录中,但是最终我回到了我的第一个尝试解决方案,它将自动切换项目由于符号链接的扩展以及搜索功能的中断。
此外,打开~/projects/dayz/
项目,我无法使用SPC p f
搜索符号链接的子目录
我在包含以下内容的.projectile
中创建了以下/mnt/c/dayz/
文件
+garrysmod/gamemodes/dayz
+garrysmod/addons/xmod
+garrysmod/addons/gdbc
+garrysmod/addons/willbox
+garrysmod/addons/fas2-sweps
+garrysmod/addons/dz_chernarus
+garrysmod/data/dayz-data
-*.vvd
-*.vtx
-*.phy
-*.mdl
-*.vtf
-*.vmt
-*.png
-*.gma
-*.jpg
-*.exe
-*.dll
这在一定程度上起作用。但是,+'d目录似乎优先于-*'d扩展名,因此在进行SPC p f
时,我仍然最终会看到二进制文件,并且存在一个巨大的缺点,即它必须搜索成千上万个文件并进行匹配违反规则(这很慢),我还有另一个项目,它也使用符号链接到上面的某些插件目录,因此该解决方案不是一个选择。
理想情况下,我想使我的第一个尝试解决方案起作用(或使用提到的反向符号链接),而Projectile不会自动切换到它们,但是我不知道从哪里开始。