2011-08-16 4 views
13

HTML 파일을 편집하고 있습니다. 내가 페이지 미리보기 파이어 폭스를 실행하려면이 키 맵을 사용빔 버퍼 새로 고침

map <F6> :update<CR>:silent !xdg-open %:p<CR> 

을하지만이 명령 한 후, 빔 창이 완전히 검은 색이된다. 다시 표시하려면 모든 줄을 스크롤해야합니다.

그래서 버퍼를 새로 고치려면 함수를 작성하고 싶습니다. 여기 내가 한 일이 있습니다 :

function! Refresh()                                    
    " code 
    set noconfirm 
    bufdo e! 
    set confirm 
endfunction 

nmap <F5> :call Refresh()<CR> 

나는 post에서 아이디어를 얻었습니다. 하지만 작동하지 않습니다.

+3

Ctrl + L을 누르면 다시 그립니다. 어떤 이유인지 –

답변

24

Ctrl 을 사용하여 화면을 다시 그립니다. :redraw을 사용할 수도 있습니다.

여기에서 help을 확인하십시오.

7

방법은 (CTRL-L과 같은 작업을 수행) 함수 여기

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

,': redr'은 내 화면을 새로 고치지 않았지만 CtrlL은 끝냈습니다. 이유가 궁금합니다. – TankorSmash

+2

끝에 느낌표를 붙이면 어떨까요? 예 :': redr!' – wilkystyle

2

을 "다시 그리기"추가하는 방법에 대한 것입니다 해결 빈 화면 문제를 HTML 문서를 미리 내 바인딩 :

autocmd BufRead *.html map <F5> :exe ':silent !open -a /Applications/Firefox.app %'<CR>:redr!<CR>

내가 작업하고있는 파일의 유형에 따라 여러 가지 동일한 키를 매핑 할 수 있기 때문에 바인딩에 autocmd을 사용하는 것이 더 좋습니다. 예를 들어 autocmd를 사용하면 Firefox에서 html 파일의 미리보기를 위해 F5를 매핑 할 수 있고 노드를 실행하기 위해 js-files에 동일한 키 F5를 매핑합니다.

관련 문제