刷新Vim缓冲区
我正在编辑HTML文件。 我使用此键图启动firefox预览页面:刷新Vim缓冲区,vim,Vim,我正在编辑HTML文件。 我使用此键图启动firefox预览页面: map <F6> :update<CR>:silent !xdg-open %:p<CR> map:update:silent!xdg开放%:p 但在执行此命令后,Vim窗口将完全变黑。 我需要滚动每一行,使它再次出现 所以我想写一个函数来刷新缓冲区。以下是我所做的: function! Refresh()
map <F6> :update<CR>:silent !xdg-open %:p<CR>
map:update:silent!xdg开放%:p
但在执行此命令后,Vim窗口将完全变黑。
我需要滚动每一行,使它再次出现
所以我想写一个函数来刷新缓冲区。以下是我所做的:
function! Refresh()
" code
set noconfirm
bufdo e!
set confirm
endfunction
nmap <F5> :call Refresh()<CR>
函数!刷新()
“代码
不确认
好极了!
设定确认
端功能
nmap:调用刷新()
我从中得到了这个想法。
但它不起作用。使用CtrlL重新绘制屏幕。您也可以使用:redraw
检查这些选项。添加一个“重画”执行您的函数(与ctrl-L的作用相同)怎么样
以下是我的绑定,用于预览解决了空屏幕问题的HTML文档:
autocmd BufRead*.html映射:exe”:静默!打开-a/Applications/Firefox.app%':redr!
我更喜欢使用
autocmd
进行绑定,因为我可以根据我使用的文件类型为不同的内容映射相同的键。例如,使用autocmd,我可以在html文件上映射用于在Firefox中预览文档的F5,在js文件上映射用于执行节点的相同键F5。如果我按Ctrl+L,它会重新绘制。出于某种原因,:redr
没有刷新我的屏幕,但CtrlL刷新了。不知道为什么。如果在末尾添加感叹号会怎么样?示例::redr!
:redr[aw][!] Redraw the screen right now. When ! is included it is
cleared first.
Useful to update the screen halfway executing a script
or function. Also when halfway a mapping and
'lazyredraw' is set.