【learning】vim爆改记 (如何让vim用起来像devc++)
由于本蒟蒻NOIP人品大爆发,能去冬令营,故准备开始练习使用linux下的IDE:vim
在dalao DTZ的帮助下,我装好了vim,并做了最初的配置。
然而........好难用啊,怎么和devcpp全都不一样
不能用剪贴板,不能用鼠标,还要打那么长的编译命令,看着就不爽~~
于是,我写了这个配置文件。
首先是一些很基础的东西:
colorscheme desert
set tabstop=
set softtabstop=
set shiftwidth=
set backspace=
set number
这些代码是用于设置代码高亮,缩进大小等数据。然后重点来啦~~
set mouse=a map! ` <esc> syntax on
set cindent
set wildmenu
set hlsearch
set ai
其中,第一行的set mouse是启用鼠标。也就是鼠标可以移动光标(很妙啊这个操作)
第三行的map!是一个映射,将“`”映射为Esc键,如果你要切换命令行,那么你的手就不用挪那么远了~
下面的那些东西是dalao DTZ设置的,尚未研究透彻
vmap <C-c> "+y
map! <C-v> <esc>"+pi
map! <C-r> <esc><C-R>i
map! <C-z> <esc>ui
map! <C-s> <esc>:update<CR>i
map! <C-w> <esc>:exit<CR>i vmap <backspace> <delete>
其中,vmap代表是在选定模式下,启用映射。我设置的vmap映射用途为:复制选定范围内的代码,删除选定范围内的数据。
余下的,是在normal(即常规编辑模式)下,将Ctrl-v设置为vim下的粘贴,Ctrl-z/r设置为vim下的撤销/重做,Ctrl-s为保存,Ctrl+w为关闭该文件。
PS:Ctrl-s在vim下已经有了定义,为避免冲突,我们要屏蔽掉原先的设定。在根目录下的.bashrc中写入以下配置:
stty -ixon
但是好像还剩下编译,运行,调试没有搞诶~
map! <F9> <esc>:update<CR>:call CompileRunGpp() <CR>
map <F9> :update<CR>:call CompileRunGpp() <CR>
func! CompileRunGpp()
exec "!g++ -g -o %< %"
endfunc map! <F10> <esc>:call RunGpp()<CR>
map <F10> :call RunGpp()<CR>
func! RunGpp()
exec "! ./%<"
endfunc map! <F5> <esc>:call Rungdb()<CR>
map <F5> :call Rungdb()<CR>
func! Rungdb()
exec "!gdb %<"
endfunc
我是完全按照devcpp的快捷键进行的配置,按F9编译,F10运行,F5启动调试。这三个操作的查看结果,输入,均在IDE中运行。
由于鄙人技术有限以及某些固有限制,调试还是得输入gdb命令。
大概就这么多了(配置真的累死我了)
其实还有一些命令我尚未配置好,比如说Ctrl+a全选只做了一半,Ctrl+x剪切完全没实现等。
附上完整代码:
colorscheme desert
set tabstop=4
set softtabstop=4
set shiftwidth=4
set backspace=2
set number
set mouse=a
syntax on
set cindent
set wildmenu
set hlsearch
set ai
map! ` <esc>
vmap <C-c> "+y
map! <C-v> <esc>"+pi
map! <C-r> <esc><C-R>i
map! <C-z> <esc>ui
map! <C-s> <esc>:update<CR>i
map! <C-w> <esc>:exit<CR>i
map! <C-a> <esc>ggVG
vmap <backspace> <delete>
map! <F9> <esc>:update<CR>:call CompileRunGpp() <CR>
map <F9> :update<CR>:call CompileRunGpp() <CR>
func! CompileRunGpp()
exec "!g++ -g -o %< %"
endfunc
map! <F10> <esc>:call RunGpp()<CR>
map <F10> :call RunGpp()<CR>
func! RunGpp()
exec "! ./%<"
endfunc
map! <F5> <esc>:call Rungdb()<CR>
map <F5> :call Rungdb()<CR>
func! Rungdb()
exec "!gdb %<"
endfunc
【learning】vim爆改记 (如何让vim用起来像devc++)的更多相关文章
- 雅礼集训1-9day爆零记
雅礼集训1-9day爆零记 先膜一下虐爆我的JEFF巨佬 Day0 我也不知道我要去干嘛,就不想搞文化科 (文化太辣鸡了.jpg) 听李总说可以去看(羡慕)各路大佬谈笑风声,我就报一个名吧,没想到还真 ...
- 将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)(转)
1.安装Vim和Vim基本插件首先安装好Vim和Vim的基本插件.这些使用apt-get安装即可:lingd@ubuntu:~/arm$sudo apt-get install vim vim-scr ...
- vim配色方案设置(更换vim配色方案)
vim配色后,我的 设定底色为黑色,字体为绿色,然后将文件夹设为洋红,默认的注释换为淡黄:其实有一种简单的方法,就是设定为系统配置好的配色方案:转载文章如下: ---------------- ( ...
- vim介绍/vim颜色显示和移动光标/ vim一般模式下移动光标/ vim一般模式下复制、剪切和粘贴
5.1 vim介绍 5.2 vim颜色显示和移动光标 5.3 vim一般模式下移动光标 5.4 vim一般模式下复制.剪切和粘贴 vim 是vi的升级版本 vim 带有颜色显示 安装vim : y ...
- Vim新手入门资料和一些Vim实用小技巧
一些网络上质量较高的Vim资料 从我07年接触Vim以来,已经过去了8个年头,期间看过很多的Vim文章,我自己觉得非常不错,而且创作时间也比较近的文章有如下这些. Vim入门 目前为阿里巴巴高级技术专 ...
- 【转】将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete(有图有真相)
原文网址:http://blog.csdn.net/bokee/article/details/6633193 工欲善其事,必先利其器.一个强大的开发环境可以大大提高工作效率.好吧,我知道这是废话.. ...
- Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals)爆零记
昨晚一个瓜皮说今晚有cf,听说是晚间场,我瞅了一眼,娃,VK Cup,上分的好机会,看着比赛时间就有点心酸了,0:35,当时一直在纠结要不要打的问题,当时想着应该不难吧,要不打一下吧,要不还是看看题先 ...
- PKUWC2019爆0记
PKUWC2019爆0记 访问量该骗的还是要骗. 1.20 坐了一天的高铁到jz了,热的一批 1.21 上午开营仪式 下午day1 打开发现有个地主斗 然后开T1 出题人你™搞笑吧放一道sb都能切的题 ...
- HNOI2019 爆零记
HNOI2019爆零记 day \(-inf\) ~ day \(0\) 开学一周之后才停的课,停课之后就开始每天被包菜.我三月份几乎没有更博,就是因为每天都被虐的自闭了. day \(0\) 本来是 ...
随机推荐
- sql server 2008安装的时候选NT AUTHORITY\NEWORK SERVICE 还是选 NT AUTHORITY\SYSTEM ?
sql server 2008安装的时候选NT AUTHORITY\NEWORK SERVICE 还是选 NT AUTHORITY\SYSTEM ? sql server 2008安装的时候选NT A ...
- 2018.08.20 bzoj1143: [CTSC2008]祭祀river(最长反链)
传送门 一道简单的求最长反链. 反链简单来说就是一个点集,里面任选两个点u,v都保证从u出发到不了v且v出发到不了u. 链简单来说就是一个点集,里面任选两个点u,v都保证从u出发可以到达v或者v出发可 ...
- 【转】web应用缓慢故障分析
在这以后里分享一篇关于web应用缓慢的分析过程,感觉挺有用的. 原文出处:http://xjsunjie.blog.51cto.com/999372/751585 友在一家购物网站做运维不久,今日打电 ...
- HDU 2136 Largest prime factor (素数打表。。。)
题意:给你一个数,让你求它的最大因子在素数表的位置. 析:看起来挺简单的题,可是我却WA了一晚上,后来终于明白了,这个第一层循环不是到平方根, 这个题和判断素数不一样,只要明白了这一点,就很简单了. ...
- HDU 1061 Rightmost Digit (快速幂取模)
题意:给定一个数,求n^n的个位数. 析:很简单么,不就是快速幂么,取余10,所以不用说了,如果不会快速幂,这个题肯定是周期的, 找一下就OK了. 代码如下: #include <iostrea ...
- springMVC学习(注解实现依赖注入)
原文:http://blog.csdn.net/mockingbirds/article/details/45399691 上一篇博客,学习了spring的依赖注入,即利用spring容器来为类中的属 ...
- 基于SceneControl单击查询功能的实现
private void HandleIdentify_MouseDown(object sender, ISceneControlEvents_OnMouseDownEvent e) { this. ...
- 字符串"k:1“” 处理成字典 {'k':1,'k1':2....}
1.有字符串"k:1|k1:2|k2:3|k3:4" 处理成字典 {'k':1,'k1':2....} #第一种方法 s1 = "k:1|k1:2|k2:3|k3:4&q ...
- Java(Android)线程池[转]
介绍new Thread的弊端及Java四种线程池的使用,对Android同样适用.本文是基础篇,后面会分享下线程池一些高级功能. 1.new Thread的弊端执行一个异步任务你还只是如下new T ...
- iPhone 物理尺寸与分辨率
// iPhone 物理尺寸(pt:Point) 分辨率(px) // 4S 320*480(3.5英寸) 640*960 // 5,5c,5S 32 ...