咳咳,仅仅是简单的编译文件啦。打造成IDE什么的就算了。(本文来自一个OIer)
本来用着VScode的Vim插件,感觉VScode自带一个终端还挺方便的,界面也很美观。感觉Vim是真的好用(自从用了Vim的插件,在Windows的DevC++下老是按Esc )
然而老年电脑带不起VScode...
考虑了Sublime,感觉也带不起Sublime...
于是转Vim,但是还要开个终端,每次还要输入那么多命令编译运行(虽然也可以用方向键,但也觉得很麻烦)感觉很麻烦。而且我需要看编译错误信息来改代码。网上看了看,似乎不太适合我。就研究了一下用户手册,大概搞了个这样的东西。
大致思路是把错误信息重定向到一个文件并打开它
”把F9键映射为 :call Compile()<CR>(即输入冒号调用Complite()函数按回车(<CR>)确认)
map <F9> :call Compile()<CR>
" 同理
map <F10> :call Run()<CR>
func! Compile()
" 如果已经加载了error文件,我们先把它关掉,不然等下会出现询问是否重新加载此文件
if bufloaded("error")
” Ctrl+W+h移动到error并输入:q!退出error文件
execute "normal \<C-W>h"
exec ':q!'
endif
" 如果是c++文件,执行相应的编译命令其中%代表当前文件全名,%:r代表当前文件名不加后缀>&表示重定向
if &filetype == 'cpp'
exec '!g++ % -Wall -Wno-parentheses -Wno-unused-result -o %:r >& error'
endif
" 从左边出现错误信息,55指定宽度
exec ':55vs error'
" 打开后光标停留在error,我们把它右移回源代码的位置
execute ":normal \<C-w>l"
endfunc
" 运行命令(直接在Vim里运行的)
func! Run()
if &filetype == 'cpp'
exec '!./%:r'
endif
endfunc
效果大概是这样:
编译前:
按下<F8>编译
按下<F10>运行
:立个flag,今天开始尽量更新博客
原文地址:https://www.cnblogs.com/lsq647vsejgfb/p/9689273.html
时间: 2024-10-13 19:40:51