美文网首页
小技巧3:vim学习

小技巧3:vim学习

作者: 闪电侠悟空 | 来源:发表于2019-10-27 15:09 被阅读0次

    摘要

    • VIM的插件管理
    • VIM写latex
    • VIM写python
    • VIM写C++

    1.VIM的插件管理工具vim-plug

    a. vim-plug自身的安装

    curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
        https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
    

    b. 利用vim-plug管理其他插件

    配置~/.vimrc文件

    call plug#begin('~/.vim/plugged')
    Plug 'itchyny/lightline.vim'
    " Plug 其他若干
    call plug#end()
    

    c. 使配置文件生效&安装插件

    1. 在终端中source ~/.vimrc,或者在vim中使用:source ~/.vimrc
    2. 在vim中使用:PlugInstall安装插件

    2.VIM写latex

    a. 配置latex的插件和snippet插件

    .vimrc 文件部分如下:

    call plug#begin('~/.vim/plugged')
    " latex
    Plug 'itchyny/lightline.vim'
    Plug 'lervag/vimtex'
    let g:tex_flavor='latex'
    let g:vimtex_view_method='zathura'
    let g:vimtex_quickfix_mode=0
    set conceallevel=1
    let g:tex_conceal='abdmg'
    
    " snips
    Plug 'sirver/ultisnips'
    let g:UltiSnipsExpandTrigger = '<tab>'
    let g:UltiSnipsJumpForwardTrigger = '<tab>'
    let g:UltiSnipsJumpBackwardTrigger = '<s-tab>'
    call plug#end()
    

    vim更新配置文件,并安装插件。

    b.编写snippet的语句

    文件file位于:~/.vim/UltiSnips/tex.snippets, 可以按照自己的想法添加规则,其中我的一条规则如下:

    snippet equ "equation"
    \begin{equation}
     ${0}
    \end{equation}
    endsnippet
    

    c. 编写latex文件并实时预览

    %test.tex文件
    \documentclass[UTF8]{ctexart}
    
    \begin{document}
    KISS
    \end{document}
    
    • 在vim普通模式下按键'\ll',启动实时编译(vim中':w'保存一下,相应的pdf也就及时更新),再次按键则停止该功能。
    • 在vim普通模式下按键'\lv',查看对应的pdf文件,如果你没有执行'\ll',则看不见最近做的文件更新哈。
    • 现在基本凑合能用了,更多功能https://zhuanlan.zhihu.com/p/66534269

    3.VIM写python

    a. 配置python的插件YouCompleteMe(自动补全),ctrlp(搜索),nerdtree(目录树),vim-airline(下面的状态栏),vim-conda(自动找conda环境),auto-pairs(配对括号),vim-surround(周边环境),nerdcommenter(快速注释)

    call plug#begin('~/.vim/plugged')
    " latex
    Plug 'itchyny/lightline.vim'
    Plug 'lervag/vimtex'
    let g:tex_flavor='latex'
    let g:vimtex_view_method='zathura'
    let g:vimtex_quickfix_mode=0
    set conceallevel=1
    let g:tex_conceal='abdmg'
    
    " snips
    Plug 'sirver/ultisnips'
    let g:UltiSnipsExpandTrigger = '<tab>'
    let g:UltiSnipsJumpForwardTrigger = '<tab>'
    let g:UltiSnipsJumpBackwardTrigger = '<s-tab>'
    
    " you complete me & ctrlp & nerdtree
    Plug 'Valloric/YouCompleteMe'
    Plug 'ctrlpvim/ctrlp.vim'
    Plug 'scrooloose/nerdtree'
    Plug 'Xuyuanp/nerdtree-git-plugin'
    
    let g:ctrlp_map = '<c-p>'
    let g:ctrlp_cmd = 'CtrlP'
    
    Plug 'vim-airline/vim-airline' " vim power line"
    Plug 'cjrh/vim-conda' " Conda 环境的切换"
    Plug 'jiangmiao/auto-pairs' "自动配对括号"
    Plug 'scrooloose/nerdcommenter' "自动注释"
    Plug 'tpope/vim-surround' "编辑surround环境"
    call plug#end()
    
    "一键自动运行
    map <F5> :call CompileRunGcc()<CR>
    func! CompileRunGcc()
        exec "w"
        if &filetype == 'c'
            exec "!g++ % -o %<"
            exec "!time ./%<"
        elseif &filetype == 'cpp'
            exec "!g++ % -o %<"
            exec "!time ./%<"
        elseif &filetype == 'java'
            exec "!javac %"
            exec "!time java %<"
        elseif &filetype == 'sh'
            :!time bash %
        elseif &filetype == 'python'
            exec "!python %"
        elseif &filetype == 'html'
            exec "!firefox % &"
        elseif &filetype == 'go'
            exec "!go build %<"
            exec "!time go run %"
        elseif &filetype == 'mkd'
            exec "!~/.vim/markdown.pl % > %.html &"
            exec "!firefox %.html &"
        endif
    endfunc
    

    b. 一些必要的处理

    • 包YouComleteMe需要编译安装,切换到你的python环境下,cd到~/.vim/plugged/YouCompleteMe目录下,执行python install.py
    • conda包,当你使用别的python环境时候,可以注释掉,不然会提醒。特烦人。

    c.设置一键运行

    上面的.vimrc 文件中已经写了
    

    d. 函数跳转ctags

    安装代码

    sudo apt-get install ctags
    

    使用代码

    ctags -R *
    
    • ctr+]:进入函数
    • ctr+o:回到进入前状态

    4. VIM写C++代码

    略,主要暂时还没有用到。

    5. VIM 写Markdown

    " .vimrc
    Plug 'suan/vim-instant-markdown'
    

    这个插件好像不需要命令就可以,实时显示,这一点就够了,挺好的。我的安装挺顺利的,如与问题,或更多定制需求,我参考的网页https://www.jianshu.com/p/24aefcd4ca93

    5. 附属说明

    5.1 Caps Lock 改键为Ctrl

    setxkbmap -layout us -option ctrl:nocaps
    

    相关文章

      网友评论

          本文标题:小技巧3:vim学习

          本文链接:https://www.haomeiwen.com/subject/bcebpctx.html