我将map<F12> :!python %<cr>
加入~/.vimrc
。但是,当我按下键<F12>
时,它会在执行此命令后自动退出。在正常情况下,它应该停止在一行Press ENTER or type command to continue
,但在我的情况下,它只是跳过这一行并返回到vim。它看起来像有人按ENTER键偷偷地。最令人惊讶的是,它只发生在终端。当我手动输入`:!python%'或使用gvim时,一切正常。我不知道如何解决这个问题。vim setting'map <F12>:!python%<cr>'在终端
4
中执行后自动返回到vim
A
回答
3
在读取消息之前,终端版本可能会重画屏幕。您可以尝试设置'lazyredraw'
来延迟重绘。
一种解决方法可以设置'lazyredraw'
并增加了通话的功能getchar()
的映射:
function! RunPython()
let s:save_lz = &lazyredraw " save 'lazyredraw' setting
set lazyredraw
!python %
call getchar() " stop waiting pressing a key
let &lazyredraw = s:save_lz " restore 'lazyredraw'
endfunction
map <F12> :call RunPython()<CR>
编辑:
您也可以考虑使用插件完成这个任务,因为"SingleCompile : Make it more convenient to compile or run a single source file" 。
相关问题
- 1. Vim <alt+X>绑定不能在终端工作
- 2. 终端可以检测到<Shift-Enter>或<Control-Enter>?
- 3. 问题与<curses.h>; <curse.h>; <conio.h>在G ++ Linux终端
- 4. Vim热键终端
- 5. 配置终端接受[<Control> - <Return>]
- 6. VIM:<silent> NMAP
- 7. vim - remapping >><<(缩进命令)
- 8. Vim Janus <D-F><D-/>
- 9. 慢WHERE查询在终端从我的表<code>test_table</code>
- 10. vim插件与python gtk,在gvim工作,但挂在终端
- 11. numpy的不通过执行</p> <pre><code>sudo apt-get install python-numpy </code></pre> <p>,而在终端执行我得到这个错误通过终端
- 12. Vim 8的终端模式?
- 13. tty终端的Vim颜色
- 14. 如果我在终端运行<code>exit</code>命令,在终端中运行退出命令与终端之间有什么区别
- 15. Git commit在终端打开VIM,但无法返回到终端
- 16. Vim不扩展<cfile>
- 17. vim <C-S-Key> mapping
- 18. Vim $$自动添加<++>
- 19. 如何在Vim中按“<C-L><C-W> l <C-W> _”?
- 20. 不能映射<Leader> z到<C-W> | <C-W> _在vim
- 21. 如何使用<S-Up>&<S-Down>在Terminal.app和VIM
- 22. 勘定省(:W <cr>)以<leader>瓦特在vim
- 23. vim中的Ctrl-W在终端
- 24. 退格在终端上,Vim(Cygwin的)
- 25. 如何imap <Space>在vim
- 26. 映射nmap <C-W> | \,在Vim
- 27. 在vim中执行<Plug>命令
- 28. <C-PageUp>在vim通过腻子
- 29. 如何在vim中搜索</string>?
- 30. gnuplot的:无法识别的终端选项有</p> <blockquote> <p>组输出“out.pdf”</p> </blockquote> <p>时
同样的问题在这里,我绝对不知道。此外,有时Vim甚至不执行我的命令。有时它帮助我,把'print'放到我的python代码中。 –
@DavidHalter一瞬间,我突然发现真相。我添加的命令有一个意想不到的尾部空间。所以当'按ENTER键或输入命令继续'出现vim会自动添加一个空格... – Yyao
@Yyao我仍然有同样的问题,我甚至没有任何跟踪空间。确切语法'map:!python%' –
yask