VIM解压文件显示在终端登录



在打开一个新的终端窗口时,要写入的最新VIM解文件显示为第一行,通常带有某种形式的错误。为什么会显示这个,有什么方法可以防止它吗?添加.hushlogin到我的主目录不工作。

上下文:我的.dotfiles是在一个Git repo中版本的,包含一个符号链接的.Vim目录。我使用的是ZSH, iTerm2Git的自制安装。

消息: /Users/joshuaberk/.dotfiles/vim/vim.symlink/undo/%Users%joshuaberk%.dotfiles%system%env.zsh:1: unmatched

我的.Vimrc的(可能相关的)部分包含在下面(撤消文件设置在"备份"中)。

" Search/Substitution/Completion
set ignorecase               " removes case sensitivity by default
set smartcase                " adding ≥1 uppercase = case sensitivity
set incsearch                " do incremental searching
set gdefault                 " substitute all matches in line (not first)
set showmatch                " quickly jump to matching bracket
set completeopt=menu,longest " disable preview window on completion
set wildmenu
set wildmode=list:longest,full
" Backup
set undofile
set undodir=~/.vim/undo
set backupdir=~/.vim/backups
set directory=~/.vim/swaps
set history=50
set autoread                 " updates VIM file if changed elsewhere
set hidden                   " hide buffers instead of closing them
set clipboard+=unnamed       " system clipboard by default

在评论中,你说你正在使用Zach Holman的dotfiles。在zsh dotfiles中,有一个部分查找所有*.zsh文件并加载它们。它正在寻找$ZSH:

下的所有内容
config_files=($ZSH/**/*.zsh)

默认是整个dotfiles目录:

export ZSH=$HOME/.dotfiles

你的.vimrc正在设置你的撤消文件在.vim(这是一个符号链接到dotfiles目录)。


你可以通过删除所有撤消文件来修补这个问题:

cd ~/.vim/undo
rm *.zsh

但是如何永久地修复它呢?我找不到任何特别令人满意的方法。您不能自定义Vim使用的解压文件的名称,但可以自定义它的位置。也许你要告诉Vim将撤消保存在.dotfiles目录之外:

set undodir=/tmp/vim/undo
if !isdirectory(expand(&undodir))
    call mkdir(expand(&undodir), "p")
endif

你可以告诉Vim不保存undofiles的.zsh文件:

autocmd FileType zsh set noundofile

或者,您可以通过更改.zshrc将错误消息打印到/dev/null来告诉zsh STFU配置文件中的错误:

for file in ${(M)config_files:#*/path.zsh}
do
    source $file 2> /dev/null
done

这似乎是最糟糕的选择;如果你在其他.zsh文件中引入了一个错别字,你的生活就会变得一团糟。我选择选项1或选项2,这取决于您希望在重启期间保留多少撤消历史记录。

相关内容

  • 没有找到相关文章

最新更新