zoukankan      html  css  js  c++  java
  • 生命不息,折腾不止~Vim编辑器,插件,编译,补全配置(2018)

    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

    未完待续。。。。。。

  • 相关阅读:
    自动装配有哪些局限性?
    zk 节点宕机如何处理?
    Zookeeper 的 java 客户端都有哪些?
    BeanFactory – BeanFactory 实现举例?
    Spring 配置文件?
    什么是 Spring IOC 容器?
    Spring 框架中的单例 bean 是线程安全的吗?
    ApplicationContext 通常的实现是什么?
    什么是通知Advice?
    spring 支持哪些 ORM 框架?
  • 原文地址:https://www.cnblogs.com/Q1143316492/p/9017544.html
Copyright © 2011-2022 走看看