我需要在Vim中獲得一個屏幕副本。不是緩衝區,窗口,選項卡,而是整個屏幕,即如果終端大小是80x25,那麼我需要一個2000字符的字符串。顏色無關緊要(儘管如果可能的話,我也很樂意收集這些數據)。便攜式解決方案(即僅限vimscript,或者一些python技巧)值得歡迎。如何在Vim中獲取整個屏幕的內容?
0
A
回答
1
的ScreenShot plugin允許你做出當前Vim視圖的副本(所有窗口分割,狀態行,等等,包括語法突出顯示),其爲HTML文件。
您可能可以「降級」實現以生成簡單的文本,或將生成的HTML後處理爲文本。
+0
出色的起點來創造我所需要的。非常感謝你! – alx 2013-05-19 16:12:56
0
我不確定這是不是你想要的,而且我不確定你想要如何處理字符串。
但是,這是一個函數,它返回字符串列表中每個窗口的可見文本。它使用w0
和w$
行標記提取可見範圍,並將範圍抽出以註冊a
,並將返回的列表中的寄存器轉儲。 (現有的寄存器被保存並在結束恢復。)
function! WindowStrings()
let areg = getreg('a')
let atype = getregtype('a')
let strings = []
windo exe ':' . line("w0") . ',' . line("w$") . 'yank a' |
\ call add(strings,getreg('a'))
call setreg('a',areg,atype)
return strings
endfunction
+0
謝謝你的代碼。這是我想避免的難題,因爲它必須擴展到包括狀態行,標籤,窗口分隔符,摺疊列,行號(如果啓用了這些功能),即從頭開始繪製整個屏幕。 – alx 2013-05-11 08:45:16
相關問題
- 1. 在android屏幕上獲取內容
- 2. 如何在整個屏幕
- 3. 在vim中獲取第一個屏幕列
- 4. 如何讓內容填滿整個屏幕?
- 5. 如何調整div和任何屏幕尺寸的內容?
- 6. 如何使用Libgdx獲取整個屏幕的位圖?
- 7. 捕獲的UIScrollView關閉屏幕內容
- 8. 內容在Android屏幕外
- 9. 如何獲取內容以填充XAML中的整個按鈕?
- 10. 如何將頁面內容調整爲屏幕大小?
- 11. 如何在iOS模擬器上獲取完整屏幕截圖
- 12. 如何在Silverlight中獲取屏幕工作區(不是整個屏幕大小)大小?
- 13. 設置屏幕內的vim高度
- 14. Android:填充整個屏幕的內容低於
- 15. 整個屏幕上的自舉拉伸內容
- 16. curses如何保留屏幕內容?
- 17. 以整個屏幕的屏幕截圖
- 18. 在Windows中調整窗口及其內容到屏幕大小
- 19. 屏幕抓取HTML頭內容?
- 20. 通過OpenGL獲取屏幕上的內容
- 21. 的JasperServer - 如何從整個屏幕
- 22. 如何在Android中以編程方式截屏整個屏幕?
- 23. 如何把內容放在屏幕的中心
- 24. 如何在Zeppelin中將Flink var的內容寫入屏幕?
- 25. 用多個Montiors獲取整個屏幕的DeviceContext
- 26. 如何在Python中的兩個xml標籤之間獲取整個內容?
- 27. 在vim中的屏幕滾動
- 28. Android:滑動抽屜內容重疊整個屏幕
- 29. CSS:頁面內容未填滿整個屏幕
- 30. 如何從視頻內存中獲取屏幕圖像?
如果顏色無關緊要,只需用鼠標或終端仿真器的「全選」功能選擇整個終端窗口並複製即可。 – romainl 2013-05-11 06:53:51
感謝您的建議,但我需要使用腳本來完成此操作,而不是手動完成。 Vimscript,python並不重要。 – alx 2013-05-11 06:59:28
你應該在你的問題中這樣說。 – romainl 2013-05-11 07:40:45