最近开始考虑从常用的 Dev-Cpp 和 Visual Studio 开发环境中转到gvim+gcc+gdb。

我一直觉得IDE很好方便,不是很明白别人这样的配置。但还是开始有意识的去尝试更换环境。

更换环境的原因有以下几个方面吧:

1.早晚要去使用LINUX的,早晚要去趟这一趟浑水的。(尽管目前我还不知道为什么我这一行都要求熟练LINUX,不明白LINUX相比WIN的优点)

2. 用笔记本写代码的时候,上下左右键太远太不舒服太影响效率了,所以决定换高效率的VIM……

3. 有些时候需要用到gdb的一些功能,有些时候用gcc直接查看预处理、汇编、链接等各步骤的代码方便清晰,更有利于深入了解计算机原理……

4. 这玩意儿装B啊!

厚着脸皮从朋友那里要来了一份vim_rc,经过自己微调后(也就是把朋友vim的PYTHON和一些我这里没有的插件,打开会报错的那些代码删掉了)

vim_rc如下:

source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin set diffexpr=MyDiff()
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
if empty(&shellxquote)
let l:shxq_sav = ''
set shellxquote&
endif
let cmd = '"' . $VIMRUNTIME . '\diff"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3
if exists('l:shxq_sav')
let &shellxquote=l:shxq_sav
endif
endfunction
set nu filetype plugin indent on set cindent set smartindent set autoindent colo evening syntax on set helplang=cn set autoread filetype plugin on set clipboard+=unnamed set nobackup set autowrite set ruler set cursorline set nocompatible set noeb set confirm set tabstop= set softtabstop= set shiftwidth= set noexpandtab set smarttab set nobackup set noswapfile set ignorecase set cmdheight= filetype on filetype plugin on filetype indent on set mouse=a set selection=exclusive set selectmode=mouse,key set showmatch set matchtime= set scrolloff= set guifont=Fixedsys:h15:b:cGB2312 au BufRead,BufNewFile,BufEnter * cd %:p:h :cd Desktop

大多数语句我基本不知道什么意思……对我来说有代码高亮、语法缩进基本就能写写代码了,等以后需要做项目在去搞一下函数跳转类和项目管理等插件吧……遗憾的是这个没有代码补全,朋友觉得代码补全影响节奏。但我个人觉得代码补全有的时候能方便写长代码名和函数等……,尤其是我函数参数忘了的时候能提醒我参数……目前不太清楚用什么语句实现代码补全。

然后调整了麻烦的环境变量等等……去参阅了VIMTUTOR,大概用了一天时间成功学会使用VIM的基本编辑功能并通过!:g++ 1.cpp -g -o 1.exe 和!:gdb 1.exe 成功运行了第一个程序……

目前深刻感觉到VIM的功能强大,用好了真的是个神器,然而调教他需要很长时间很麻烦,调教不好还不如大多数IDE,很多IDE点点鼠标就能简单实现的功能在这里会变得好麻烦。目前自己还是各种不适应…平时写写简单代码还罢了,但是打CF等比赛的话还是会考虑优先使用以前的IDE……

代码编辑器不习惯对我来说不是最大的问题,最大的问题是gdb下的调试环境我很不适应,这让我调代码简直爆炸……

走一步看一步吧,慢慢来。VIM这种东西可以说是平时玩一玩,用好了锦上添花的东西,为了调教好他而付出太多时间影响了其他的事情就有些得不偿失了(比如让我拖了两天其他作业233)我也不是很想为了用而用。

最后,像神的编辑器VIM致敬。

关于GVIM的配置。的更多相关文章

  1. Ubuntu下VIM(GVIM)环境配置

    GVIM安装( Ubuntu自带VIM ): 通过应用商店安装或者通过以下安装. sudo apt-get install vim-gnome GVIM配置: 在 家目录 ( ~/ ) 下建立 .vi ...

  2. windows下GVIM的配置(vimrc)

    学习python时想要在gvim中配置python的编译环境,网上找到一个比较好用的vimrc配置,保存下来以备下次有需要. set encoding=utf-8 set termencoding=u ...

  3. Vim:gvim安装配置(windows)

    Vim:gvim安装配置(windows) 一.gvim的特点: vim要求全部键盘操作,而gvim可以使用鼠标进行可视化操作,即gvim是vim的图形化界面: 二.gvim安装: 下载地址:http ...

  4. 代码编辑器[0] -> Vim/gVim[0] -> 基于 Python 的 gVim 环境配置(Windows)

     环境配置 / Environment Setup 基于Python开发的 gVim 环境配置(Windows) 使用方式参考 Vim 的使用. 1 基于vundle进行配置 Vim有多个扩展管理器, ...

  5. gvim编码配置知识

    配置 .vimrc 解决 Vim / gVim 在中文 Windows 下的字符编码问题     Vim / gVim 在中文 Windows 下的字符编码有两个问题: 默认没有编码检测功能 如果一个 ...

  6. gVIM 简洁配置 in Windows

    原文链接:http://www.errdev.com/post/2/ 捣鼓了一段时间的VIM,神器终归是神器,果然编码效率提升了许多,当然还需要很多插件来配合.自己装插件很麻烦,还要有Vundle这个 ...

  7. gvim 编辑器配置

    "关才兼容模式 set nocompatible "模仿快捷键,如:ctrt+A 全选.Ctrl+C复制. Ctrl+V 粘贴等 source $VIMRUNTIME/vimrc_ ...

  8. gvim 常用配置

    set nocompatible set nu! filetype on syntax on set autoindent set ai! "set bg=dark set autoinde ...

  9. gvim生存配置

    set guioptions-=Tcolorscheme desert set clipboard+=unnamedset mouse=a winpos 200 50set lines=20 colu ...

随机推荐

  1. Struts2中的一个类型转换示例

    1.写一个属性文件,里面写好需要转换的类型数据,xwork-conversion.properties,解释: xwork-conversion.properties表示对所有action中的指定数据 ...

  2. Ansible 变量

    1. 变量来源 inventoryfile中定义 playbook中定义 include文件和角色中定义变量 系统facts  ansible hostname -m setup local fact ...

  3. apache 修改连接数(转)

    1.先要修改最大连接数,必须了解Apache的MPM(Multi -Processing Modules,多道处理模块)Apache2.0中MPM分为3种(perfork.worker.event). ...

  4. SVN打包方法

    当有一个版本稳定下来,或者是发布一个版本的时候,我们可以通过SVN打包来进行标记. 打包方法如下: 1.前提:保证本地的工程文件是没有冲突的,均提交到SVN服务器. 2.右键选择SVN中的分支/打包. ...

  5. linux 目录及文件的命名规则、ls操作

    linux 命名: 1 不超过255个字符 2 严格区分大小写 3 除/外,其他的字符都是合法的 注意:1)避免文件名首字符使用+ - .(避免和隐藏文件混淆) 2)避免文件名使用空格,制表符以及@# ...

  6. centos7 安装nodejs,git

    yum -y install gcc make gcc-c++ openssl-devel wget 下载源码及解压: wget http://nodejs.org/dist/v0.10.26/nod ...

  7. 深度分析如何在Hadoop中控制Map的数量

    深度分析如何在Hadoop中控制Map的数量 guibin.beijing@gmail.com 很多文档中描述,Mapper的数量在默认情况下不可直接控制干预,因为Mapper的数量由输入的大小和个数 ...

  8. JAVA: 接入YSDK遇到的问题

    JAVA后台接口: 1, 腾讯开放平台: http://wiki.open.qq.com/wiki/%E9%A6%96%E9%A1%B5 2,YSDK介绍,大概流程: http://wiki.open ...

  9. Android(对话框)

    一.消息对话框 所谓的消息对话框,就是说当你点击按钮弹框,它会弹出一个消息提示你,消息对话框有相应的确定.取消.其他按钮,比如下方: 代码: //消息提示框 public void testOne(V ...

  10. L2-004. 这是二叉搜索树吗?

    L2-004. 这是二叉搜索树吗? 题目链接:https://www.patest.cn/contests/gplt/L2-004 这题我的方法是先递归判定是不是二叉搜索树(镜像),再建树输出. 代码 ...