加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

vim设置’map:!python%’在终端执行后自动返回vim

发布时间:2020-12-15 20:58:35 所属栏目:安全 来源:网络整理
导读:我添加了地图 F12 :! python% cr到?/ .vimrc.但是,当我按下键 F12时,它会在执行此命令后自动退出.在正常情况下,它应该停在一行按ENTER或键入命令继续,但在我的情况下,它只是跳过此行并返回到vim.看起来有人按ENTER键偷偷.最令人惊讶的是它只发生在终端.当
我添加了地图< F12> :! python%< cr>到?/ .vimrc.但是,当我按下键< F12>时,它会在执行此命令后自动退出.在正常情况下,它应该停在一行按ENTER或键入命令继续,但在我的情况下,它只是跳过此行并返回到vim.看起来有人按ENTER键偷偷.最令人惊讶的是它只发生在终端.当我手动键入`:!python%’或使用gvim时,一切正常.我不知道如何解决这个问题.

解决方法

在您能够阅读消息之前,终端版本可能会重新绘制屏幕.您可以尝试设置’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”.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读