ps:打算记录windows下gvim和linux下vim的配置。省的每次意外都到处找博客,重新配置。
一个古老强大的编辑器。单纯的喜欢在酷炫的终端下默默写着代码。
(用过sublime, vscode, atom,都挺好的)
首先是windows下:
1,下载windows下的gvim,然后安装。
这时候的gvim打开是很丑的,vim的配置文件.vimrc在c盘/用户/你的用户名文件夹下的_vimrc,或者自己写一个.vimrc都可以,在vim下 :cd ~,也会进入这个文件夹。先来一些简单的配置,这个配置文件拷走,那里的vim都会长一个样子,挺方便。下面配置建议找个比较全的配置网址按需求一个一个对着写。
https://blog.csdn.net/u013920085/article/details/46953293
然后是插件管理器 Vundle https://github.com/VundleVim/Vundle.vim, 首先你给有前置技能git,然后github安装。
git是什么相信有百度你们都懂的吧。不会的推荐一个免费的学习网址牛客网的:https://www.nowcoder.com/courses/2
到这里假装你们都会git,知道github.
直接在git bash 中
然后抄下面的配置文件即可
单引是注释,完整文件建议在github上复制。
#begin()和#end中间的内容,我的后两个箭号是插件内容。第一个是目录。如果你安装的时候直接抄代码,那么下面的目录代码也不用改,否则自己写找到那个.vim文件。
Plugin下面的内容官网的举例是告诉你有几种安装插件的方式。你全抄当然是会错误的,因为它举例你可以本地zip安装,都是那个路径下你当然没有那个插件的压缩包。最稳的方法是在Plugin里面写 git clone的链接.;
修改插件配置文件后,在vim中 : PluginInstall 就自动匹配不同安装插件了
其实还是挺简单的。
然后记录一些插件:参考 https://blog.csdn.net/mergerly/article/details/51671890
1,NERDTree https://github.com/scrooloose/nerdtree
我设置了下快捷键就用了,找个插件能打开文件夹一个树形菜单
2,CtrlP https://github.com/kien/ctrlp.vim
快捷搜索,几乎不用配置,直接用
3,Surround https://github.com/tpope/vim-surround
4,一个漂亮的状态栏 https://github.com/Lokaltog/vim-powerline
...
...
...
在gvim中写acm题。!!!
由于不会windoes下makefile,突发奇想,其实makefile不就是个脚本吗,于是上python, 用python只是为了随改随用,如果用c调用cmd的话,还多个编译,那你还写什么makefile呢。下面是我的编译配置。c++11标准-O2优化。
然后一边开着git的bash,主要是为了能用ls命令,windows的查看目录都dir很不习惯。然后就可以愉快的vim写代码,终端方便的运行。你甚至可以文件流freopen。和linux下体验已经很相近了。
VIM一键编译cpp。
vim中有一个博大精深的vimscript,vimrc的配置媲美一门编程语言。惊呆了。。。一键运行只要写一个函数即可。
exec执行命令,%被替换成当前文件名,%:r 是去掉前缀,剩下的部分都是gcc编译命令,cmd下的,注意环境变量的配置。这样F5后编译就完成了,根本不用装插件。
exec 'w' 我之前也是看不懂,但是在vim下冒号后敲了一下,提示已保存。其实就是编译前帮你保存下。加!会跑的cmd运行命令,那么编译完运行直接跑exe不就好了。
其他语言同理,cmd能干,vimrc都能干。我并没有完整的学习vimscript,稍微花半小时百度下。配置下面几行,F9编译运行。目前cpp主要用于写算法题
map <F9> :call CompileRunGcc()<CR>
func! CompileRunGcc() exec "w" if &filetype == 'cpp' exec "!g++ -g -Wall -std=c++11 -O2 -o %:r %" exec "! %:r" endif endfunc
如果失败了注意一下几点。博客园的代码粘贴可能改变了空格编码,检查空格。vim下不正常空格高亮可用看出来。其次注意修改后在重启vim的时候才加载配置文件。
接下来是一个痛苦的问题,代码补全。vim下是自带代码补全的。这个可以百度到。但是自带的补全是匹配出现过的字符串。那么对于c++来说,不可能吧要补全的东西每次都写一遍吧。于是vim有了一个字典功能。
set dictionary=~/.vim/dict/cpp.dict set complete-=k complete+=k
第一行是字典文件路径,第二行是为了使用默认按键后能补全字典中的东西,不然快捷键是ctrl+x + ctrl + k 囧。。。直接补全按键是插入模式下ctrl+n,或者ctrl+p。然后就可以在.dict里面写东西。
set shiftwidth=4 set softtabstop=4 set autoindent set nu syntax enable syntax on set vb set cursorline "colorscheme desert set autowrite set guioptions-=T " 隐藏菜单栏 set guioptions-=m " 隐藏工具栏set guifont=Consolas:h14
set backspace=indent,eol,start "为了退格键可用 map <F9> :call CompileRunGcc()<CR> func! CompileRunGcc() exec "w" if &filetype == 'cpp' exec "!g++ -g -Wall -std=c++11 -O2 -o %:r %"
exec "! %:r" endif endfunc
关于vim的主题
http://bytefluent.com/vivify/
在这个网站下载,丢到安装目录下的color目录下。然后就可用配置vim修改主题
下载的是XXX.vim文件。然后直接写主题是XXX就搞定了
题外话记个笔记nodepad++中编译运行c++命令
cmd /k cd /d "$(CURRENT_DIRECTORY)" & g++ "$(FILE_NAME)" -o "$(NAME_PART)" & "$(NAME_PART)".exe & pause & exit
未完待续。。。。。。