Vimrc:当设置了backupdir时,每次保存都会提示“按Enter键继续”

时间:2012-04-03 06:04:36

标签: vim

当我将以下行添加到我的.vimrc时:

set backupdir=~/.vim/backup

每次使用':w'保存文件时,我都会收到以下提示:

Press ENTER or type command to continue

快速变得痛苦。 (编辑)此外,除了此提示之外,实际上没有显示任何内容(即没有新信息)。

注意:

  • 提示似乎与我是否在vimrc中设置'set directory'或'set backup'无关。
  • 如果我正在编辑主目录中的文件,例如〜/ .vimrc本身,我不会收到错误。
  • 是的,文件夹存在,备份文件成功存储在那里:

    $ ls~ / .vim / backup

    test~test.txt~

  • (编辑)将cmdheight更改为值3或更大会使命令提示消失。但是,它没有解决根本问题 - 这里没有显示其他文本(只是“”test.txt“10L,255C写”),所以我不知道如果有什么错误被抛出。< / p>

  • (编辑)即使我在.vimrc文件中注释掉除了set backupdir =〜/ .vim / backup之外的所有内容,我也会收到此提示。我没有任何插件。

我可以停止显示此消息提示,但保留我的备份目录吗?谢谢你的建议!

3 个答案:

答案 0 :(得分:1)

来自VIM Documentation

  

按ENTER或键入命令继续

     

当您在屏幕上显示某些内容时,会显示此消息   读取,屏幕即将重绘:    - 执行外部命令后(例如,“:!ls”和“=”)。    - 状态行上显示的内容长于窗口宽度,或者进入“showcmd”或“标尺”输出。

所以vim试图告诉你一些事情,一些错误信息或者你的cmd窗口高度是不够的,因此它会提示你一条消息

为了克服这个问题,文档建议,

  

减少点击输入提示的次数:

     
      
  • 将'cmdheight'设置为2或更高。

  •   
  • 为'shortmess'添加标记。

  •   
  • 重置'showcmd'和/或'标尺'。
  •   

我建议您在尝试消除提示之前查看vim输出的错误。

您可能还想阅读this

答案 1 :(得分:1)

我还没有想出答案。

奇怪的数据点是,当我的备份目录位于我的主文件夹(或〜/ .vim / backup或?)时,此冲突才会出现。将其设置为其他文件夹似乎可以解决这个神秘错误。

答案 2 :(得分:1)

试试这个:

  if !isdirectory(expand("~/.vim/backupdir/"))
    silent !echo "Creating backup dir..."
    silent !mkdir -p ~/.vim/backupdir
  endif
  if !isdirectory(expand("~/.vim/swap/"))
    silent !echo "Creating swap dir..."
    silent !mkdir -p ~/.vim/swap
  endif
  if !isdirectory(expand("~/.vim/undo/"))
    silent !echo "Creating undo dir..."
    silent !mkdir -p ~/.vim/undo
  endif

  set backupdir^=~/.vim/backup//              " where to put backup files
  set directory^=~/.vim/swap//                " where to put swap files
  set undodir^=~/.vim/undo//                  " where to put undo files