我需要在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