我能否在bashrc中添加一些内容来隐藏文本编辑器(~扩展名)文件?

6
我想在不看到vim生成的所有~文件的情况下执行ls命令,这是否可能?
4个回答

12
这个问题最好在vim内部解决,而不是在bash中解决。
使用:
set backupdir=~/.backup,/tmp

将所有的 ~ 文件放在 ~/.backup 目录中。将该目录更改为您想要的任何目录。 /tmp 表示它将作为 ~/.backup 目录的备选目录。

如果您不想生成备份文件,可以使用

set nobackup
set nowritebackup

要禁用它,但你当然会失去那个功能。

编辑:

虽然上面的解决方案仍然是我建议的,因为你可以做更多的事情,但我刚意识到ls有一个-B选项,可以隐藏以~结尾的文件。我已经为自己设置了别名,却从未注意到。如果你真的想,你可以别名ls -B并使用它。

编辑v2.0:

正如Wesley所指出的,一些平台的ls命令对-B有不同的含义,有些可能根本没有这个选项。我正在使用GNU的ls,它已经有这个开关了,就我所知。


禁用备份文件或将它们全部重新定位到 /tmp 可能不是一个明智的选择。这些小家伙曾经救过我几次 :) 在可能的系统上,我会采用 Wesley 的别名建议。 - Morlock

9
许多编辑器使用~文件表示备份文件。(我用这个技巧来隐藏gedit的备份文件。)要禁止它们显示,请将此命令添加到您的bashrc中:
alias ls='ls --hide=*~'

编辑:Mac OS X的ls似乎没有这个选项,因此BSD ls可能也没有。Ubuntu有这个选项,因此许多Linux发行版可能也有;请查看手册页面。此外,Mac的ls似乎有一个不同的-B,因此在使用Sykora's advice时要考虑这一点。

1

针对 Mac OS X:

brew install coreutils
echo "alias ls='/usr/local/bin/gls -B'" >> ~/.bashrc

1

如果你只是将它们从ls中隐藏起来,那么你会后悔的。就grep和其他工具而言,它们仍然存在,只是你看不见了。把它们移动到/tmp目录下是一个更好的方法。

对于.svn目录,这个问题尤其严重,因为里面充满了你不想编辑的无用文件。我不知道有什么解决办法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接