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

 

 

 

未完待续。。。。。。