windows下gvim与gcc的一键环境的搭建
此处略去在windows中配置gcc的方法。默认你已经能够在命令提示符下直接使用gcc了。
其实就是写了一个vimscript的.vim文件,然后在 _vimrc 中使用source命令引用进来。
以下是源代码(OneKeyMake.vim)
----------------------------------------------------------------------------
"这是一个一键执行c或cpp的脚本,用source引入到vimrc即可
"源文件的路径中有空格也没关系
"在插入模式或者normal模式时使用F5一键运行(不自动保存)
"使用Ctrl+F5运行,运行会自动使用:w保存文件
nmap<C-F5> :w<CR>:call Do_OneKeyMake()<CR>
imap<C-F5> <Esc>:w<CR>:call Do_OneKeyMake()<CR>
nmap<F5> :call Do_OneKeyMake()<CR>
imap<F5> <Esc>:call Do_OneKeyMake()<CR>
function Do_OneKeyMake()
let sF=expand('%:p')
let oF=expand('%:p:h').'\a.exe'
let fE=expand('%:e')
"echo oF
"echo filereadable(sF)
if fE!='cpp' && fE!='c'
echohl WarningMsg | echo '文件扩展名必须是 cpp 或者 c' | echohl None
return
endif
if filereadable(oF)
if delete(oF)
echohl WarningMsg | echo '无法删除之前生成的可执行文件,可能是没有权限' | echohl None
return
endif
endif
let cmd='cls & g++ -static -Wall "'.sF.'" -o "'.oF.'" && "'.oF.'" &pause'
silent execute 'normal :'
silent execute '!'.cmd
if !filereadable(oF)
echohl WarningMsg | echo '没有生成新的可执行文件,可能编译失败,或者没有权限' | echohl None
return
endif
"本来把编译和运行放到不同窗口的,但是那样可能会有多余的操作
"下面的命令用于产生执行时的窗口,现已注释掉
"let cmd='cls & "'.oF.'" &pause'
"silent execute 'normal :'
"silent execute '!'.cmd
endfunction
----------------------------------------------------------------------------
顺便备份一下我用的样式(mystyle.vim)
"用于个人的一些个性化设定
set number
set tabstop=4
set autoindent
colo slate
set guifont=Consolas\ 12
set fileencodings=utf-8,cp936
"把F3映射成自动调整编码,实际没啥用
nmap<F3> :call ChangeEncoding()<CR>
function ChangeEncoding()
let encodings=['utf-8','cp936']
let w:myEncoding=exists('w:myEncoding')?(w:myEncoding+1):0
let w:myEncoding=(w:myEncoding>=len(encodings))?0:(w:myEncoding)
let &encoding=encodings[w:myEncoding]
endfunction
----------------------------------------------------------------------------
ps:尝试过gvim打开大文件的速度,发现其表现不如notepad++
windows下gvim与gcc的一键环境的搭建的更多相关文章
- WINDOWS下如何安装GCC(转载http://nirvana.cublog.cn;作者:北斗星君(黄庠魁))
第一章 在视窗操作系统下的GCC 第一节 GCC家族概览 GCC 是一个原本用于 Unix-like 系统下编程的编译器.不过,现在 GCC 也有了许多 Win32 下的移植版本.所以,也许对于许多 ...
- Windows下gvim配置
Windows下gvim配置原作地:http://hi.baidu.com/leemoncc/blog/item/a6be15cf40d7ab31b600c806.html 0.准备软件及插件. (a ...
- windows下手动安装composer并配置环境变量
windows下手动安装composer并配置环境变量 转载地址: https://my.oschina.net/7sites/blog/209997 之前发表过一篇如何为composer设置代理 ...
- 配置 Windows 下的 nodejs C++ 模块编译环境 安装 node-gyp
配置 Windows 下的 nodejs C++ 模块编译环境 根据 node-gyp 指示的 Windows 编译环境说明, 简单一句话就是 "Python + VC++ 编译环境&quo ...
- windows下gvim中文乱码解决方案
网罗了一些网上的解决windows下gvim中文乱码的解决方案,都试了一遍,可惜都不能完全解决我的所有问题,最后我综合一下网上的两种方案,得到了最后完全解决我的中文乱码问题的方案,配置很简单,就是把下 ...
- Linux下Hadoop2.7.3集群环境的搭建
Linux下Hadoop2.7.3集群环境的搭建 本文旨在提供最基本的,可以用于在生产环境进行Hadoop.HDFS分布式环境的搭建,对自己是个总结和整理,也能方便新人学习使用. 基础环境 JDK的安 ...
- Windows环境下的安装gcc(c语言环境)
Windows 具有良好的界面和丰富的工具,所以目前 linux 开发的流程是, windows 下完成编码工作, linux 上实现编译工作. 为了提高工作效率,有必要在 windows 环境下搭建 ...
- windows 下 gvim/vim lua支持问题,neocomplete等插件支持
此文是按照知乎 https://www.zhihu.com/question/29333426 "windows下vim的lua支持问题?" 一文汇总的解决方案. 题主提供了不错的 ...
- Windows下GNU之gcc体验方法
Windows 现在在Windows下开发C/C++程序一般都是用微软的编译器,当年的Borland已经成为传说.但是如果你不想付钱的话,也可以考虑Windows下的GCC. 在Windows下体验G ...
随机推荐
- Ajax如何解决跨域问题
如果需要从不同的服务器(不同域名)上获取数据就需要使用跨域 HTTP 请求. 跨域请求在网页上非常常见.很多网页从不同服务器上载入 CSS, 图片,Js脚本等. 在现代浏览器中,为了数据的安全,所有请 ...
- Miscellaneous--Tech
1. Questions: 1)EF.2)MVC/MVP/MVVM.3)page lifecyle. preInit,Init,InitCompleted,preLoad,Load,LoadCompl ...
- HTML标签的改变
/*这些都是前端面试中经常考到的内容,必须要掌握的*/ 一.新的文档类型声明(DTD) 1.HTML5的DTD声明为:<!doctype html>或者<!DOCTYPE html& ...
- Java学习-023-Properties 类 XML 配置文件读取及写入源代码
之前的几篇 Properties 文章已经讲述过了 Java 配置文件类 Properties 的基本用法,查看 JDK 的帮助文档时,也可看到在 Properties 类中还有两个方法 loadFr ...
- TermServDevices报错导致服务器死机(远程服务使用者必读)
事件类型: 错误 事件来源: TermServDevices 事件 ID: 1111 描述:打印机 !!192.168.99.6!HP LaserJet 3050 Series PCL 5e 所需的驱 ...
- python笔记 - day7
python笔记 - day7 参考: http://www.cnblogs.com/wupeiqi/articles/5501365.html 面向对象,初级篇: http://www.cnblog ...
- WPF控件模板
引言:在进行WPF项目开发过程中,由于项目的需要,经常要对某个控件进行特殊的设定,其中就牵涉到模板的相关方面的内容.本文也是在自己进行项目开发过程中遇到控件模板设定时集中搜集资料后整理出来的,以供在以 ...
- mongoose的promise(转发)
Switching out callbacks with promises in Mongoose Published on July 28, 2015 mongo node mongoose pro ...
- ASCII码表和转义字符
Bin Dec Hex 缩写/字符 解释 0000 0000 0 0 NUL(null) 空字符 0000 0001 1 1 SOH(start of headline) 标题开始 0000 0010 ...
- interblock corruption & intrablock corruption
interblock corruption: corruption blocks rather than within the block itself. can only be logical co ...