【问题标题】:No lines in buffer when writing in Vim在 Vim 中写入时缓冲区中没有行
【发布时间】:2013-09-03 12:42:35
【问题描述】:

我正在运行 MacVim 和 MiniBufExplorer 以及其他一些插件。我注意到的是,有时当我编辑一个文件并尝试编写它(:w)时,我会收到消息

--缓冲区中没有行--

如果我再次输入:w,则文件写入成功。它似乎是随机发芽的,但是一旦它开始发生,它就会继续在缓冲区中的每个文件中发生,直到我关闭/重新启动 MacVim。

编辑:
当前使用的插件:

  • 病原体
  • 确认
  • Command-T
  • MiniBufExpl
  • 书呆子
  • Pep8
  • Pydoc
  • 罗佩姆
  • 超级标签
  • 标签栏

当前.vimrc

filetype off
call pathogen#infect()
call pathogen#helptags()

set foldmethod=indent
set foldlevel=99

map <c-j> <c-w>j
map <c-k> <c-w>k
map <c-l> <c-w>l
map <c-h> <c-w>h

syntax on
filetype on
filetype plugin indent on

au FileType python set omnifunc=pythoncomplete#Complete
let g:SuperTabDefaultCompletionType = "context"

set completeopt=menuone,longest,preview

map <leader>n :NERDTreeToggle<CR>

map <leader>j :RopeGotoDefinition<CR>
map <leader>r :RopeRename<CR>

map <leader>o :TagbarToggle<CR>

nmap <leader>a <Esc>:Ack!

autocmd BufEnter *.py set ai sw=4 ts=4 sta et fo=croql

colorscheme desert

map J 15j
map K 15k

set noswapfile
set nobackup
set nowritebackup

【问题讨论】:

  • minibufexplorer 是否与您的问题相关?请添加您使用的插件列表以及您的 vimrc。
  • @romainl 我不确定它是否相关,但我认为因为它是一个缓冲区问题,应该包含与缓冲区进行大量交互的插件。此外,当我在此之前搜索此消息时,似乎此消息在 MBE 线程中出现了一点点。添加完整列表和 vimrc 供参考,谢谢
  • 关于您的~/.vimrc 的一些事情: 1) filetype on 行是多余的。 2)您的&lt;leader&gt;j&lt;leader&gt;r 映射可能应该是仅对python 文件类型的缓冲区映射。请参阅:h :map-local 3) J 是一个相当有用的命令,可以简单地覆盖。见:h J 也许你应该改用&lt;c-d&gt;? 4) K 也很有用。您的 pydoc 插件还设置了到 K 的映射。也许改用&lt;c-u&gt;?见:h K
  • @PeterRincker 感谢您的提示,我更改了 pydoc 中的 K 映射,发现我并没有真正使用 join 那么多。我至少应该在可视模式下启用它。我发现自己需要滚动浏览文件,c-uc-d 让我觉得很尴尬。
  • @mattedgod 我明白了。我已将&lt;a-j&gt;&lt;a-k&gt; 映射到&lt;c-d&gt;&lt;c-u&gt;

标签: vim macvim


【解决方案1】:

对我来说,问题是由 minibufexplorer 引起的。该修复已包含在 fholgado 的 v6.5.0 中,包括在 minibufexpl.vim 中插入下面的 silent 关键字

 " Delete all lines in buffer.
 silent 1,$d _

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-02
    • 2015-06-14
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    • 1970-01-01
    • 1970-01-01
    • 2010-11-19
    相关资源
    最近更新 更多