vim的配置文件:~/.vimrc
本来用的如“代码片段A”的代码,在台式机上用的挺好的,换了笔记本后,配置文件也没变,但按了F5以后,只执行了“w”,没有后面的代码运行结果。
在这篇博客,找到了另外三种方法,我选了“方法一”。写到配置里,按F5,成功的看见了结果,和博主说的一样,虽然可以输出结果,但一闪而过,直接就回到了编辑页面,完全没有参考价值。
据我花了五分钟研究之后,找到了病因所在:
众所周知,在vim运行完代码,输出结果之后,会有一个“任意键继续”,这时在键盘上找到一个叫任意的键(不是),按下去,就回到编辑了。
在“方法一”中,代码最后一个字符不是“>”,而是空格。这就导致了它实际上是依次执行了:“:w,回车,:!python %,回车,空格” 五个动作,正是这“空格”,起了任意键的作用,才造成了“一闪而过”的现象。只要把最后那个空格删掉,使得“>”是最后一位就可以解决了。
代码们放到后面,省的影响观感:
- "方法一,注意:> 后面还有个空格
- map <F5> :w<cr>:!python %<cr>
- "如果你从我这里复制它的话,记得删掉空格
- "代码片段A
- "一键运行代码
- map <F5> :call CompileRunGcc()<CR>
- func! CompileRunGcc()
- exec "w"
- if &filetype == 'c'
- exec "!g++ % -o %<"
- exec "!time ./%<"
- elseif &filetype == 'cpp'
- exec "!g++ % -o %<"
- exec "!time ./%<"
- elseif &filetype == 'java'
- exec "!javac %"
- exec "!time java %<"
- elseif &filetype == 'sh'
- :!time bash %
- elseif &filetype == 'python'
- exec "!time python %"
- elseif &filetype == 'html'
- exec "!firefox % &"
- elseif &filetype == 'go'
- " exec "!go build %<"
- exec "!time go run %"
- elseif &filetype == 'mkd'
- exec "!~/.vim/markdown.pl % > %.html &"
- exec "!firefox %.html &"
- endif
- endfunc
“代码片段A”来源:https://www.cnblogs.com/juneman/p/8592776.html
“方法一”来源:https://blog.csdn.net/fhl0000/article/details/42487031