2013-02-28 52 views
2

我在Vim工作(不是GVim或MacVim等),我使用了一個非透明的終端,所以我可以看到我背後的背景(它是this movement cheat-sheet在vim中切換一個空白屏幕,透過透明窗口

我想要一種方法,使vim的實例成爲一個空白的屏幕,然後能夠重新繪製它像以前一樣。也許我只是在我的網上搜索失敗,但我無法找到任何這個問題。

我非常感激任何事情,即使只是一些文檔方法的鏈接,可以讓我開始下載兔子洞。

回答

1

我已經通過點點滴滴,相關的問題以及@Ken和@Phince Goulash的幫助,達到了我期望的效果。這裏的功能件的Vimscript的是在我的.vimrc:

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> 
+0

接受你自己的答案,不是我的!很高興有幫助,但你的答案做你想要的。 – Ken 2013-03-01 08:53:38

+0

@Ken我還不能〜但是明天我會明白什麼時候讓我,謝謝你的幫助〜 – Rixius 2013-03-01 16:56:29

1

如果編輯一個新的緩衝區(在文件中不存在的),你會得到一個空白屏幕

:ed foo 

當你做,你可以刪除它

:bd 
+1

':enew'將編輯新的緩衝區沒有名字,所以你不必指定FOO。 – 2013-02-28 17:43:28

+0

這是真的..我可以創建一個函數,它會創建一個帶有ene緩衝區的新窗口,然後如果它已經在一個單獨的窗格窗口中並且關閉了它,然後設置一個nnoremap x來調用它,就像我做其他切換一樣? – Rixius 2013-02-28 17:45:39

+0

我接受你的回答,因爲它幫助我自己解決問題。工作解決方案在我的答案中。謝謝你們倆(@PrinceGoulash)提供兔子洞的提示。 – Rixius 2013-02-28 18:29:58