2

我在 Vim 中工作(不是 GVim 或 MacVim 等),我使用了一个非透明终端,所以我可以看到它背后的背景(这是这个运动备忘单

我想要一种方法,让 vim 的实例成为一个空白屏幕,然后能够像以前一样重新绘制它。也许我只是在我的网络搜索中失败了,但我找不到任何关于这个问题的东西。

我对任何事情都非常感激,即使只是指向一些可以让我从兔子洞开始的文档方法的链接。

4

2 回答 2

1

如果您编辑一个新缓冲区(在一个不存在的文件中),您将看到一个空白屏幕

:ed foo

完成后,您可以将其删除

:bd
于 2013-02-28T17:40:45.820 回答
1

我通过点点滴滴、一个相关问题以及@Ken 和@Prince Goulash 的帮助实现了我想要的效果。这是我的 .vimrc 中的 vimscript 的功能部分:

function! TabIsEmpty()
    " From Stackoverflow: http://stackoverflow.com/a/5026456/212307
    " Remember which window we're in at the moment
    let initial_win_num = winnr()

    let win_count = 0
    " Add the length of the file name on to count:
    " this will be 0 if there is no file name
    windo let win_count += len(expand('%'))

    " Go back to the initial window
    exe initial_win_num . "wincmd w"

    " Check count
    if win_count == 0
        " Tab page is empty
        return 1
    else
        return 0
    endif

endfunction
function! ToggleBlankTab()
    if TabIsEmpty() == 1
        tabc
    else
        tabe
    endif
endfunction
nnoremap <leader>m :call ToggleBlankTab()<cr>
于 2013-02-28T18:28:48.960 回答