zoukankan      html  css  js  c++  java
  • 菜鸟vimer成长记——第4.2章、编程插件

    简介

    这部分的插件是与编程相关的插件。主要涉及两大块:所有编程语言通用的插件,以及各个语言独有的插件。插件的数量和合理性,这可能是一个不断累积和修正的过程。
    个人感觉,现在比较适合sh,html,markdown的编程。对于java,还是有点勉强。至于其他的,比如python等,现在还没有涉略。还会继续边使用,边调整。

    其实只要是编程的IDE都会涉及到一些统一的概念:快速查找文件,快速查找文本引用,高亮,语法错误提示,自动提示,快速输入,消除重复操作,项目的管理等。我个人目前的感觉是,vim在项目的管理方面不是那么舒服,和jdk+eclipse+maven比较起来没那么舒服。还有一些消除重复的操作,太有语言个性的vim也处理不是那么好,比如说eclipse的重构功能。所以,我个人感觉,目前来说,简洁的结构语言(并不是说语言本身简单,也是语言使用场景比较简洁),比如说bash,html,markdown处理起来会非常舒服。

    以上属于个人理解,也欢迎大家讨论。

    通用插件

    这里面指的是各个编码语言常用的共通的一些习惯的插件。即适合用绝大部分语言。

    auto-pairs

    配对插件,可以匹配这几个字符:'"`)]},再也不用担心漏写了。
    注意事项:

    1. 如果你不想配对,可以用Delete键删除
    2. 在上面这几个符号后按回车键,会插入一个新的带缩进的行并且补齐配对符号
    3. 可以使用包裹,不过我没试出来,上面写的是,据说是meta|alt键。不过因为我的windows下的,所以按alt键会跳出菜单。

    更多使用方式可以参看:官方说明

    nerdcommenter

    添加注释。主要有两种风格:单行注释和多行注释。下面的所有命令在insert模式和visual模式都适用。所有的命令之前都有量词,即命令通用格式是{count}c*。一般默认是"/",可以自行设定。
    语法如下:

    • cc : 添加注释
    • cm : 添加多行注释
    • ci : 添加单行注释
    • cs : 优雅的添加注释。有一定格式的多行注释
    • cy : 和cc一样并且把内容复制起来
    • cA : 在行尾添加注释
    • ca : 切换注释的风格(单行和多行间的切换)
    • cu : 取消注释

    没有特别说明的注释,都是指默认注释风格,这个可以通过ca来切换

    snipmate

    编码中难免会有许多重复的代码片段,所以有了这类的插件。
    注意事项:

    1. 因为这里快捷键是。和superTab插件的快捷键冲突。所以这里舍弃了superTab插件。
    2. 支持自定义snipmate,所以大家可以根据自己的习惯去自定义常用的snipmate。

    tabular

    文本对齐。
    语法:[range]Tabularize /{string}
    说明:

    • [range]指的是规范,如果不指定默认指全文
    • {string}可是一个字符也可以是多个字符

    AuthorInfo

    添加文件的作者信息。

    html插件

    更快捷的编写html

    emmet-vim

    html插件的神器!!!这个网络上太多了,就不再班门弄斧了。
    参考资源:

    1. 自动生成HTML/CSS代码
    2. Emmet.vim 教程

    markdown插件

    vim-markdown

    主要用于markdown的高亮、移动、预览等功能,让我们能更方便的编写markdown。
    该插件,需要前置条件是需要安装tabular。

    跳到标题

    快速的跳到标题位置,方便在markdown文档里移动
    语法如下:
    ]] : 跳到下一个标题
    [[ : 跳到上一个标签
    ][ : 跳到下一个兄弟节点标题
    [] : 跳到上一个兄弟节点标题
    ]c : 跳到当前的标题
    ]u : 跳到父标题

    显示目录

    根据标题生成一个可以浏览的目录导航,也可以根据导航移动
    语法如下:
    :Toc : 生成一个标题的目录导航
    :Toch : 生成一个标题的目录导航在底部显示
    :Tocv : 生成一个标题的目录导航在右边显示
    :Toct : 生成一个标题的目录导航在新的标签显示

    配置文件

    "========>>>>>>编程插件配置开始
    "普通
    "	括号匹配
    Plugin 'jiangmiao/auto-pairs'
    "	添加注释
    Plugin 'scrooloose/nerdcommenter'
    "	作者信息
    Plugin 'vim-scripts/AuthorInfo'
    "	文本对齐
    Plugin 'godlygeek/tabular'
    "	文本模板
    Plugin 'msanders/snipmate.vim'
    "markdown
    Plugin 'plasticboy/vim-markdown'
    "css+html+div
    Plugin 'mattn/emmet-vim'
    "========>>>>>>编程插件配置结束
    
    "设置leader键
    let mapleader=','
    "===>>>AuthorInfo配置
    let g:vimrc_author='Zhuang Junxiang'
    let g:vimrc_email='529572571@qq.com'
    let g:vimrc_homepage='www.cnblogs.com/ansn001'
    nmap <F4> :AuthorInfoDetect<cr>
    "===>>>vim-markdown配置
    "默认不折叠
    let g:vim_markdown_folding_disabled=1
    
    
  • 相关阅读:
    projecthashing
    Windows 环境 gRPC环境搭建
    gitlab 适配性问题
    对 Golang 简洁架构实战的理解,以及 Golang 开源项目包定义的解惑
    Golang 关于百分比,小数点为数的问题
    Golang net/http 库日常 http 请求操作
    解决mysql建立事件时出现 “Cannot proceed because system tables used by Event Scheduler were found damaged at server start” 的错误
    如何在Linux安装Wine
    Public key for *.rpm is not installed
    从 IClassFactory 为 CLSID 为 {AA40D1D6CAEF4A56B9BBD0D3DC976BA2} 的 COM 组件创建实例失败,原因是出现以下错误: c001f011。
  • 原文地址:https://www.cnblogs.com/ansn001/p/4789461.html
Copyright © 2011-2022 走看看