您的位置:1010cc时时彩经典版 > 1010cc时时彩客户端 > 显示文件目录树,一个前端开发工程师的Vim跟I

显示文件目录树,一个前端开发工程师的Vim跟I

发布时间:2019-11-17 17:41编辑:1010cc时时彩客户端浏览(69)

    一个前端开发工程师的Vim跟IDE一样

    2017/01/18 · 基础技术 · vim

    原文出处: 小弟调调   

    这里是我新配置出来的 jaywcjlove/vim-web 一直在打磨中,基本上可以用了。拿出来骗 star 先上图

    图片 1

     Emacs和Vim都是程序员专用编辑器,Emacs被称为神的编辑器,Vim则是编辑器之神。至于两者到底哪个更好用,网络上两大派系至今还争论不休。不过,相比之下,Emacs更加复杂,已经不能算是一个编辑器了,有人这么说:Emacs是伪装成编辑器的操作系统。与之相反,Vim的定位很明确,就是要做一个强大的编辑器。由于笔者精力有限,决定还是选择自己认为相对简单点的Vim来学习。因此,笔者将会在本文跟大家介绍Mac下Vim的安装以及简单使用。
              首先,Mac系统默认已经安装了Vim。打开终端,输入vim,回车。可看到如下界面,即表示Vim已经安装了。在vim里输入":q"

    汇集网上各位兄台的内容,自己做了个笔记

    NERD_tree.vim
    [NERD_tree.vim]-主要功能是一款文件浏览器,可以查看文件目录结构打开相应的文件

    NERDTree 所有版本:

    安装

    最新版本的Vim 7.4 使用(brew install macvim)安装,vim 版本更新 brew install macvim --override-system-vim

    Shell

    $ git clone ~/.vim $ ln -s ~/.vim/.vimrc ~/.vimrc # 上面执行完成之后 # 开始下载安装插件 $ vim # 在vim中运行 ":PlugInstall" # 上面插件安装完成之后执行下面内容 # command-t 文件搜索插件安装 $ cd ~/.vim/plugged/command-t $ rake make # 搜索文本内容工具 # 需要安装 CtrlSF的依赖ripgrep $ brew install ripgrep # 代码提示插件也需要你运行安装哦,不然没有效果嘞 cd ~/.vim/plugged/YouCompleteMe ./install.sh # 需要安装ctags 不然配置没效果哦 # ctags for Mac $ brew install ctags # ctags for Centos7 $ yum install ctags

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    $ git clone https://github.com/jaywcjlove/vim-web.git ~/.vim
    $ ln -s ~/.vim/.vimrc ~/.vimrc
     
    # 上面执行完成之后
    # 开始下载安装插件
    $ vim # 在vim中运行 ":PlugInstall"
     
    # 上面插件安装完成之后执行下面内容
    # command-t 文件搜索插件安装
    $ cd ~/.vim/plugged/command-t
    $ rake make
     
    # 搜索文本内容工具
    # 需要安装 CtrlSF的依赖ripgrep
    $ brew install ripgrep
     
    # 代码提示插件也需要你运行安装哦,不然没有效果嘞
    cd ~/.vim/plugged/YouCompleteMe
    ./install.sh
     
    # 需要安装ctags 不然配置没效果哦
    # ctags for Mac
    $ brew install ctags
    # ctags for Centos7
    $ yum install ctags

    注: 默认已经安装了前端必备插件。.vimrc 是控制 vim 行为的配置文件,位于 ~/.vimrc,不论 vim 窗口外观、显示字体,还是操作方式、快捷键、插件属性均可通过编辑该配置文件将 vim 调教成最适合你的编辑器。

    图片 2

    配置

    下面总结一些命令
    ctrl w h 光标 focus 左侧树形目录ctrl w l 光标 focus 右侧文件显示窗口ctrl w w 光标自动在左右侧窗口切换 ctrl w r 移动当前窗口的布局位置

    查看配置位置

    Shell

    # 进入vim输入下面字符 :echo $MYVIMRC

    1
    2
    # 进入vim输入下面字符
    :echo $MYVIMRC

     

    最常用配置

    set nocompatible  "使得vim避免了原始vi的一些漏洞和限制

    set autoindent      "使用你当前行的缩进来设置你下一行的缩进

    set smartindent  "自动根据当前行的缩进,预测下一行的缩进

    "在文本缩进时使用4格制表符(自动或者手动调整缩进)
    set tabstop=4
    set shiftwidth=4

    set expandtab "将输入的TAB自动展开成空格。开启后要输入TAB,需要Ctrl-V<TAB>
    set softtabstop=4 "方便在开启了et后使用退格(backspace)键,每次退格将删除X个空格

    set nobackup    "取消备份文件

    set showmatch   "光标快速定位到匹配的括号

    set guioptions-=T "去掉工具条
    set guioptions-=m "去掉菜单栏

    set vb t_vb=  "屏蔽遇到无效命令时发出的蜂鸣声,而用一个快速的闪烁取而代之
    set ruler        "确保每一个窗口都包行一个显示当前光标位置的状态栏
    set nohls      "默认情况下,查找到的内容会被高亮显示。这个命令关闭了高亮显示查找内容
    set incsearch  "当输入字符时,快速将光标定位到相应的位置

    快捷键
    o 在已有窗口中打开文件、目录或书签,并跳到该窗口go 在已有窗口 中打开文件、目录或书签,但不跳到该窗口t 在新 Tab 中打开选中文件/书签,并跳到新 TabT 在新 Tab 中打开选中文件/书签,但不跳到新 Tabi split 一个新窗口打开选中文件,并跳到该窗口gi split 一个新窗口打开选中文件,但不跳到该窗口s vsplit 一个新窗口打开选中文件,并跳到该窗口gs vsplit 一个新 窗口打开选中文件,但不跳到该窗口! 执行当前文件O 递归打开选中 结点下的所有目录x 合拢选中结点的父目录X 递归 合拢选中结点下的所有目录e Edit the current dif双击 相当于 NERDTree-o中键 对文件相当于 NERDTree-i,对目录相当于 NERDTree-eD 删除当前书签P 跳到根结点p 跳到父结点K 跳到当前目录下同级的第一个结点J 跳到当前目录下同级的最后一个结点k 跳到当前目录下同级的前一个结点j 跳到当前目录下同级的后一个结点C 将选中目录或选中文件的父目录设为根结点u 将当前根结点的父目录设为根目录,并变成合拢原根结点U 将当前根结点的父目录设为根目录,但保持展开原根结点r 递归刷新选中目录R 递归刷新根结点m 显示文件系统菜单 #!!!然后根据提示进行文件的操作如新建,重命名等cd 将 CWD 设为选中目录I 切换是否显示隐藏文件f 切换是否使用文件过滤器F 切换是否显示文件B 切换是否显示书签q 关闭 NerdTree 窗口? 切换是否显示 Quick Help
    命令模式
    :tabnew [ opt选项] [+cmd] 文件 建立对指定文件新的tab:tabc 关闭当前的 tab:tabo 关闭所有其他的 tab:tabs 查看所有打开的 tab:tabp 前一个 tab:tabn 后一个 tab标准模式下:
    gT 前一个 tabgt 后一个 tabMacVim 还可以借助快捷键来完成 tab 的关闭、切换cmd w 关闭当前的 tabcmd { 前一个 tabcmd } 后一个 tab

    我的Vim版本

    插件管理

    这里面刚开始使用的Vim插件管理工具VundleVim/Vundle.vim,后面为了大家安装方便,使用了 junegunn/vim-plug,这个插件管理工具,俺十分不喜欢,多了个 autoload 目录,安装过程也奇丑无比,安装快速,所以就使用它吧,下面命令更新安装的 plug.vim,默认已经有了不需要这一步。

    Shell

    curl -fLo ~/.vim/autoload/plug.vim --create-dirs

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

             在终端上,界面非常之简洁,如果你需要更加复杂的界面以及使用Vim更多的特性,需要下载客户端安装。在Mac上目前存在两个版本的Vim客户端:
             1、MacVim。使用Cocoa GUI,这是Mac上更新还很活跃的版本,也是Mac上最多人使用的版本。下载地址:
             2、使用Carbon GUI的版本,但是这个版本目前基本上不再更新。下载地址:

    最有用的命令

    .
    输入‘.’(一个句号)能重复上一条执行的命令

    K
    进入当前光标下字符串的命令解释页面(例如如果你光标在sleep上,按下K键你就能看到sleep的命令解释页面)

    %
    将光标定位在大括号,中括号...上,然后按下输入%,将能让光标定位于该大括号或是中括号的另一半上

    CTRL-V
    块操作,如给每行加注释#:

    1, Ctrl V (windows 下为Ctrl Q) 进入 VIM 的块操作模式.

    2, 使用 j, k 键上下移动,选中这三行,需要确保每行的首列包含在选中块中。

    3, 键入 I (大写 i),即在行首插入。 输入 Python 的注释符 ‘#’。

    4, 按下 ESC 键。

    :%!xxd
    查看文件的十六进制编码, 返回文本状态 :%!xxd -r

    :help options
    查看所有VIM提供的选项

    mark.vim
    [mark.vim]-主要的功能是变量的高亮,允许你在文本中放置自定义的标记
    在编辑的时候,你忽然想起来需要修改同一个文档的另一个地方,但又想记住当前的位置,以便稍后再回来编辑。应该怎么做呢?vim中我们可以对文本进行标记,这个概念类似于visual studio中的书签,目的是方便vim编辑器在文档的不同位置间跳转。正常情况下,这意味着要移动到那个位置,编辑,然后再移回来。这样很费事,也容易忘记刚才所在的位置。有更聪明的办法。移动光标到下述文本的第5行(John Lennon的名言)。用ma创建一个名为'a'的标记。移动光标到任一地方,比如,4j。按下’a(即,单引号加上标记的名字),瞧Vim跳到了刚才做标记的那一行的行首。如果要跳到做标记的位置,按下‘a(即,上排数字键1左边那个键)。可以使用任一字母(a-zA-Z)去命名一个标记,意味着一个文件里最多可以有52个命名标记。 添加标记 将光标移到某一行,使用 ma 命令添加标记。其中,m 是标记命令,a 是所做标记的名称。可以使用小写字母 a-z 或大写字母 A-Z 中的任意一个做为标记名称。小写字母的标记,仅用于当前缓冲区;而大写字母的标记,则可以跨越不同的缓冲区。例如,你正在编辑 File1,但仍然可以使 用'A 命令,移动到 File2 中创建的标记A。跳转标记 创建标记后,可以使用 'a 命令,跳转到指定标记行的首个非空字符。这里 ' 是单引号。也可以使用 'a 命令,移到所做标记时的光标位置。这里'是反引号(也就是数字键1左边的那一个)。列出标记 利用:marks命令,可以列出所有标记。这其中也包括一些系统内置的特殊标记(Special marks):. ——最近编辑的位置0-9——最近使用的文件∧ ——最近插入的位置' ——上一次跳转前的位置" ——上一次退出文件时的位置[ ——上一次修改的开始处] ——上一次修改的结尾处删除标记 如果删除了做过标记的文本行,那么所做的标记也就不存了。我们不仅可以利用标记来快速移动,而且还可以使用标记来删除文本,例如:在某一行用ma做了标记,然后就可以使用d'a来删掉这一行。当然,我们也可以使用y'a命令就可以来复制这一行了。使用:delmarks a b c命令,可以删除某个或多个标记;而:delmarks! 命令,则会删除所有标记。利用:help mark-motions命令,可以查看关于标记的更多帮助信息。命令小结m ——创建标记' ——移动到标记的文本行首 ——移动到标记的光标位置:marks ——列示所有标记:delmarks ——删除指定标记:delmarks! ——删除所有标记

    [linuxidc@CentOS NERD_tree-4.2]$ vim  --version
    VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Dec 21 2016 17:06:34)
    Included patches: 1-207, 209-629

    安装插件

    将配置信息其加入 ~/.vim/.vimrc 中的call plug#begin()call plug#end() 之间,最后进入 vim 输入下面命令,摁 enter 进行安装。

    Shell

    :PlugInstall

    1
    :PlugInstall

     

    有用的插件

    NERD Commenter
    帮助你成块的注释和反注释代码

    snipMate

    实现代码片段,如在 c 文件中输入 for <tab> , 则自动输入整个for循环需要的代码片段。
    为了不和pydiction 争用 <tab> 键,改plugin/snipMate.vim,使得snipMate用ctrl j :

    ino <silent> <c-j> <c-r>=TriggerSnippet()<cr>
    "ino <silent> <tab> <c-r>=TriggerSnippet()<cr>
    snor <silent> <c-j> <esc>i<right><c-r>=TriggerSnippet()<cr>
    "snor <silent> <tab> <esc>i<right><c-r>=TriggerSnippet()<cr>

    Snippetsemu
    实现代码片段,和snipMate一样

    commentary.vim
    [commentary.vim]-主要功能是可以批量注释单行或多行以及去除注释;
    gc:Visual模式下可以注释选中的行gcc:普通模式下可以快速注释一行gcu:可以撤销注释
    multiple_cursors.vim
    [multiple_cursors.vim]-多行、多光标编辑
    通过按 Ctrl n 来多重选取。一旦选取完成,便可配合 Vim 既有的命令对其进行编辑处理。最后按 Esc 可以退出多重选取状态。此外,你也可以使用 MultipleCursorsFind 命令通过正则表达式来进行多重选取和编辑。
    ctrlp.vim
    [ctilp.vim]-主要功能是对系统文件进行搜索
    ctrl j/k 进行上下选择ctrl x 在当前窗口水平分屏打开文件ctrl v 同上, 垂直分屏ctrl t 在tab中打开
    neocomplcache
    [neocomplcache.vim]-自动补全插件
    ctrl n-对补全代码向下选择ctrl p-对补全代码向上选择
    emmet.vim
    [emmet.vim]-HTML超级编写利器,利用简写语法达到编写目的。
    Emmet的基本用法:先写简写形式,然后用"<Ctrl y>,"将其转成HTML代码基本规则:(1):E 代表HTML标签(2):E#id 代表标签E有id属性(3):E.class 代表E有class属性(4):E[attr=foo] 代表某个特定属性(5):E{info} 代表标签E包含的内容是info(6):E>N 代表N是E的子元素(7):E N 代表N是E的同级元素(8):E^N 代表N是E的上级元素
    vim-surround
    [vim-surround]-这个插件可以快速的为字符串包围/改变或去除引号/括号或者HTML标签
    为单个单词包围
    ysiw '/"/(/[/{ :在命令模式下, 就可以为光标下的一个单词包围上 '/"/(/[/{比如ysiw' :为光标下的单词包围上单引号ysiw" :为光标下单词包围上双引号, 依此类推.vim-surround 同时还支持包围html标签, 将光标放到某单词试试下面指令:ysiwysiw<p class="meta">yssb :包围一行,可以快速为一行包围圆括号,.yss '/"/(/[/{ : 可以为正行快速包围相应的引号/括号比如yss" :为一行包围双引号
    更改包围
    cs :可以更改包围,比如cs'" :是将单引号变成双引号cs"( :是将双引号变成圆括号vim-surround支持将括号或者引号变更为html标签, 试试命令cs':将单引号换成
    标签
    去除包围
    ds:指令可以取出包围, 后面需跟包围的内容,ds":是去除双引号包围, ``

    我应该下载的版本是 nerdtree.zip 4.2.0

    更新插件

    插件更新频率较高,差不多每隔一个月你应该看看哪些插件有推出新版本,批量更新,只需在 vim 中执行下面命令即可。

    Vim

    :PlugUpdate

    1
    :PlugUpdate

             本文主要介绍MacVim,MacVim支持多窗口标签编辑以及全屏等新特性。下载了相应MacVim压缩包,解压以后将MacVim.app拖入/Applications目录下。启动MacVim,输入":h mvim", 按照提示,需要将mvim脚本文件拷贝到"/usr/local/bin"目录下。打开终端,输入命令 "cd /usr/local"以及"sudo mkdir bin",最后输入"sudo cp -f /Users/ericli/SoftWare/MacVim-snapshot-66/mvim  /usr/local/bin/",这样就可以在终端输入命令"mvim"来快速启动MacVim 。如果你不想将MacVim.app放到/Applications目录下,只需要在终端设置VIM_APP_DIR变量为你想放置MacVim.app的目录并导入到$HOME/.bash_profile中即可,比如:export VIM_APP_DIR=$HOME/SoftWare/MacVim-snapshot-66/。在MacVim输入":h macvim",可以查看MacVim的使用帮助介绍文档。

    为Python做设置

    autocmd FileType python setlocal et sta sw=4 sts=4  "4个空格替代TAB

    下载 5.0.0 死活老报错

    卸载插件

    先在 .vimrc 中注释或者删除对应插件配置信息,然后在 vim 中执行下面命令,即可删除对应插件。

    Vim

    :PlugClean

    1
    :PlugClean

     

    代码折叠

    python_fold

    命令: zo 展开; zc 折起;  zn  全部展开;  zN 全部折起

    下载
    [linuxidc@CentOS ~]$ mkdir NERDTree
    [linuxidc@CentOS ~]$ cd NERDTree
    [linuxidc@CentOS NERD_tree-4.2]$ unzip nerdtree.zip
    [linuxidc@CentOS NERD_tree-4.2]$ cp plugin/NERD_tree.vim ~/.vim/plugin/
    [linuxidc@CentOS ~]$ cd NERD_tree-4.2/
    [linuxidc@CentOS NERD_tree-4.2]$ vim ~/.vimrc
    :NERDTree  #显示目录树

    启动Vim

    Shell

    $ vim

    1
    $ vim

     图片 3

    代码补全(pydiction)
    • 拷贝文件python_pydiction.vim到 C:Program FilesVimvimfilesftplugin 或 ~/.vim/after/ftplugin/
    • 拷贝文件 pydiction.py和complete-dict到 C:Program FilesVimvimfilesftpluginpydiction 或 ~/.vim/after/ftplugin/pydiction(当然,放到任何地方都可以,你只要在接下的vimrc文件中把位置配对即可
    • 编辑 vimrc文件

    filetype plugin on
    let g:pydiction_location='C:Program FilesVimvimfilesftpluginpydictioncomplete-dict'

    • 使用方法

    <tab> 键 呼出待选项

    待选项列表菜单出来后,可以通过tab 向下选择,shift tab反向选择(上下箭头也可)

    不满意就前点别的键(自己试试便知)

    图片 4

    常用快捷键

    这里的快捷键是我配置好的可用的。

    Vim

    ;fl # 换出菜单列表 nw # 窗口切换 ;lw # 跳转至右方的窗口 ;hw # 跳转至左方的窗口 ;kw # 跳转至上方的子窗口 ;jw # 跳转至下方的子窗口 # 可以直接在Tab之间切换。 gt # 后一个Tab标签 gT # 前一个Tab标签 ;q # 关闭一个标签 ctrl-f # 下一页 f 就是`forword` ctrl-b # 上一页 b 就是`backward` ;t # 通过搜索文件打开文件 # 快速文本内定位 ;;b # 光标前代码定位 ;;e # 光标后代码定位 ;;f # 光标后代码定位 <搜索自负> 出现定位信息 ;;F # 光标前代码定位 <搜索自负> 出现定位信息 ;ilt # 设置显示/隐藏标签列表子窗口(函数列表)的快捷键。速记:identifier list by tag 0 # 行首 $ # 行尾 :r ~/git/R.js # 将文件内容导入到该文件中 :!which ls # 找命令不推出vim运行命令 :!date # 查看编辑时间 :r !date # 将当前编辑时间导入当前文本光标所在行 U # 选中 - 变大写 u # 选中 - 变小写 ~ # 选中 - 变大写变小写,小写变大写 ;cc # 代码注释"//" ;cm # 代码段落注释"/**/" ;ci # 注释相反,注释的取消注释,没注释的注释 ;cs # 段落注释,注释每行前面加"*" ;c$ # 光标开始到行结束的位置注释 ;cA # 在行尾部添加注释符"//" ;cu # 取消代码注释 za # 单个代码折叠 zM # 折叠左右代码 zR # 所有代码折叠取消 ;i # 开/关缩进可视化 > # 代码锁进 - 选中摁尖括号 < # 代码锁进 - 选中摁尖括号 :1,24s/header/www/g # 第1到24行将header替换成www <c-z> # 退出Vim

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    ;fl # 换出菜单列表
    nw  # 窗口切换
    ;lw # 跳转至右方的窗口
    ;hw # 跳转至左方的窗口
    ;kw # 跳转至上方的子窗口
    ;jw # 跳转至下方的子窗口
     
     
    # 可以直接在Tab之间切换。
    gt # 后一个Tab标签
    gT # 前一个Tab标签
    ;q # 关闭一个标签
     
    ctrl-f # 下一页 f 就是`forword`
    ctrl-b # 上一页 b 就是`backward`  
     
    ;t # 通过搜索文件打开文件
     
    # 快速文本内定位
    ;;b # 光标前代码定位
    ;;e # 光标后代码定位
    ;;f # 光标后代码定位 <搜索自负> 出现定位信息
    ;;F # 光标前代码定位 <搜索自负> 出现定位信息
     
    ;ilt # 设置显示/隐藏标签列表子窗口(函数列表)的快捷键。速记:identifier list by tag
     
    0   # 行首
    $   # 行尾
     
    :r ~/git/R.js # 将文件内容导入到该文件中
    :!which ls  # 找命令不推出vim运行命令
    :!date      # 查看编辑时间
    :r !date    # 将当前编辑时间导入当前文本光标所在行
     
    U # 选中 - 变大写
    u # 选中 - 变小写
    ~ # 选中 - 变大写变小写,小写变大写
     
    ;cc # 代码注释"//"
    ;cm # 代码段落注释"/**/"
    ;ci # 注释相反,注释的取消注释,没注释的注释
    ;cs # 段落注释,注释每行前面加"*"
    ;c$ # 光标开始到行结束的位置注释
    ;cA # 在行尾部添加注释符"//"
    ;cu # 取消代码注释
     
    za # 单个代码折叠
    zM # 折叠左右代码
    zR # 所有代码折叠取消
     
    ;i  # 开/关缩进可视化
    >   # 代码锁进 - 选中摁尖括号
    <   # 代码锁进 - 选中摁尖括号
     
    :1,24s/header/www/g  # 第1到24行将header替换成www
     
    <c-z>  # 退出Vim

            

    代码补全(pysmell)

    这个东东和pydiction用处差不多,选一个搞就行了。大概的区别是:

    • 按键没有pydiction方便
    • 字典信息放在项目目录里,不污染全局,这个想法不错

    easy_install pysmell

    copy pysmell.vim to ~/.vim/plugins

    编辑vimrc:  

    autocmd FileType python setlocal omnifunc=pysmell#Complete

    imap <F4> <C-X><C-O>  “把缺省的Ctrl – X O 改为 F4

    到Python 目录下  

    pysmell . -x site-package test -o PYSMELLTAGES.pythonlib;

    pysmell site-package/django -o PYSMELLTAGES.django

    项目目录下

    pysmell . -o PYSMELLTAGS

    就可以使用Vim 的自动补全了,按键:

    F4  呼出待选窗口

    Ctrl – N 向下选择

    Ctrl – P 向上选择

    NERDTree快捷键:

    基础使用

    • inoremap (Insert Mode)就只在插入(insert)模式下生效
    • vnoremap (Visual Mode)只在visual模式下生效
    • nnoremap (Normal Mode)就在normal模式下(狂按esc后的模式)生效
    • 快捷键<c-y>, 标示(Ctrly,)

            现在MacVime的界面还是很简陋,下面开始介绍如何简单配置MacVim:

    代码检查

    pyflakes-vim,安装很简单,懒得翻了:

    1. Make sure your vimrc has "filetype plugin indent on" so that pyflake-vim's ftplugin files are loaded automatically when you open a Python buffer.
    2. Drop extracted files in ~/.vim/ftplugin/python.

    有问题的代码下面会有破浪号,光标移过去就可以在状态栏看到错误信息了。

    ctrl w w    光标自动在左右侧窗口切换
    ctrl w r    移动当前窗口的布局位置
    o  展开左侧某个目录,再按一下就是合并目录
    O  递归打开选中 结点下的所有目录
    x  合拢选中结点的父目录
    X  递归 合拢选中结点下的所有目录
    go  在已有窗口中打开文件,但光标不跳到该窗口
    t  中打开选中文件,并跳到新窗口
    T  打开选中文件, 在原窗口
    P  跳到上级目录结点
    p  跳到根目录结点
    q  关闭 NerdTree 窗口
    i  打开选中文件,上下分屏并跳到该窗口
    gi  打开选中文件,上下分屏, 不跳到该窗口
    s  打开选中文件,左右分屏并跳到该窗口
    gs  打开选中文件,左右分屏,不跳到该窗口
     
    ! 执行当前文件
    e Edit the current dif
    双击 相当于 NERDTree-o
    中键 对文件相当于 NERDTree-i,对目录相当于 NERDTree-e
    D 删除当前书签
    P 跳到根结点
    p 跳到父结点
    K 跳到当前目录下同级的第一个结点
    J 跳到当前目录下同级的最后一个结点
    k 跳到当前目录下同级的前一个结点
    j 跳到当前目录下同级的后一个结点
    C 将选中目录或选中文件的父目录设为根结点
    u 将当前根结点的父目录设为根目录,并变成合拢原根结点
    U 将当前根结点的父目录设为根目录,但保持展开原根结点
    r 递归刷新选中目录
    R 递归刷新根结点
    m 显示文件系统菜单
    cd 将 CWD 设为选中目录
    I 切换是否显示隐藏文件
    f 切换是否使用文件过滤器
    F 切换是否显示文件
    B 切换是否显示书签
    q 关闭 NerdTree 窗口
    ? 切换是否显示 Quick Help
    切换标签页
    :tabnew [ opt选项] [+cmd] 文件 建立对指定文件新的tab
    :tabc 关闭当前的 tab
    :tabo 关闭所有其他的 tab
    :tabs 查看所有打开的 tab
    :tabp 前一个 tab
    :tabn 后一个 tab
    标准模式下:
    gT 前一个 tab
    gt 后一个 tab
    MacVim 还可以借助快捷键来完成 tab 的关闭、切换
    cmd w 关闭当前的 tab
    cmd { 前一个 tab
    cmd } 后一个 tab
    NerdTree 在 .vimrc 中的常用配置
    " 在 vim 启动的时候默认开启 NERDTree(autocmd 可以缩写为 au)
    autocmd VimEnter * NERDTree
    " 按下 F2 调出/隐藏 NERDTree
    map :silent! NERDTreeToggle
    " 将 NERDTree 的窗口设置在 vim 窗口的右侧(默认为左侧)
    let NERDTreeWinPos="right"
    " 当打开 NERDTree 窗口时,自动显示 Bookmarks
    let NERDTreeShowBookmarks=1

    快捷键通配符

    快捷键通配符 <leader> 相当于是一个通用的命令符,默认好像是,你可以在.vimrc中将他改为任意一个按键,在我们这个配置我改为了冒号;

    Vim

    " 定义快捷键的前缀,即 <Leader> let mapleader=";"

    1
    2
    " 定义快捷键的前缀,即 <Leader>
    let mapleader=";"

            1、创建~/.bashrc文件

    ctag 和 taglist

    拷贝ctags.exe 到vim可执行文件所在目录,确认这个目录在系统路径中

    vimrc中配置taglist
    let Tlist_Ctags_Cmd="ctags.exe"
    map <F2> :Tlist<CR>  

    F2    打开、关闭浏览窗口的快捷键

    Ctrl – 两个w      切换在Tag窗口和源码窗口中切换

    设置<F5> 关闭打开NerdTree

    插入命令

    Vim

    a # → 在光标所在字符后插入 A # → 在光标所在字符尾插入 i # → 在光标所在字符前插入 I # → 在光标所在行行首插入 o # → 在光标下插入新行 O # → 在光标上插入新行

    1
    2
    3
    4
    5
    6
    a # → 在光标所在字符后插入  
    A # → 在光标所在字符尾插入  
    i # → 在光标所在字符前插入  
    I # → 在光标所在行行首插入  
    o # → 在光标下插入新行  
    O # → 在光标上插入新行

            在终端键入"cd $HOME" 和“touch .bashrc”,即创建成功。打开文件,输入“alias vim=mvim”,并保存别名变量。然后再在终端键入“source .bashrc”使.bashrc文件生效。这样,在终端输入vim和mvim都可以启动MacVim.app了。

    懒人的方法

    上述的东东挨个配起来很麻烦,有个懒人的办法,把所有上述插件和配置都搞定了:

    • 下一个gvim72装上
    • 下这个压缩包vim.rar (for windows),然后解压去覆盖你的vim安装目录

    注意事项:

    • 这个包里使用的vim和gvim编译为支持Python2.5, 如果你安装的是2.6,请到这里去下载对应的vim和gvim
    • python环境中需要安装pysmell

    汇总一下快捷键:

    pydiction
    在插入编辑模式下按<tab>
    tab 向下选择,shift tab反向选择(上下箭头也可)

    pysemll
    在插入编辑模式下按F4

    Ctrl – N 向下选择; Ctrl – P 向上选择

    taglist
    F2    打开、关闭浏览窗口

    Ctrl – 两个w      切换在Tag窗口和源码窗口中切换

    在浏览窗口通过 j,k键上下选择,回车就使源码窗口跳到对应节,如函数

    from:

    [linuxidc@CentOS ~]$ vim ~/.vimrc
    " 设置<F5> 关闭打开NerdTree
    map <F5> :NERDTreeMirror<CR>
    map <F5> :NERDTreeToggle<CR>

    删除命令

    Vim

    x # → 删除关闭所在处字符 nx # → 删除关闭所在处n个字符 dd # → 删除光标所在行, ndd # → 删除n行 dG # → 删除光标所在行到文件末尾内容 D # → 删除光标所在处到行尾内容 :n1,n2d # → 删除指定范围的行 如:1,2d

    1
    2
    3
    4
    5
    6
    7
    x   # → 删除关闭所在处字符  
    nx  # → 删除关闭所在处n个字符  
    dd  # → 删除光标所在行,
    ndd # → 删除n行  
    dG  # → 删除光标所在行到文件末尾内容  
    D   # → 删除光标所在处到行尾内容  
    :n1,n2d # → 删除指定范围的行 如:1,2d

            在这里稍微解释下几个文件的作用,/etc/bashrc、/etc/profile是系统全局环境变量设置,给所有用户使用,~/.bashrc、~/.bash_profile、~/.bash_login、~/.profile是用户目录下的私有变量设置。当进入系统运行一个bash shell进程时,读取环境设定过程如下:1、读取全局环境变量设置/etc/profile,然后根据其内容读取/etc/profile.d、/etc/bashrc等设定,但是注意/etc/profile只在第一次运行bash shell时读取一次,而/etc/bashrc在每次运行bash shell都读取;2、然后读取当前用户目录下的~/.bash_profile、~/.bash_login或~/.profile三个中的其中一个文件的局部变量设置,而且只在第一次运行bash shell时读取,只有读取~/.bash_profile失败才会读取~/.bash_login,如果前边两文件读取失败才会读取~/.profile;3、最后根据~/.bash_profile的内容读取当前用户目录下的~/.bashrc文件中的局部环境变量设置,~/.bashrc文件在每次打开新的bash shell都读取一次。总结一下,/etc/bashrc、/etc/profile、~/.bashrc、~/.bash_profile、~/.bash_login、~/.profile都能设置环境变量,而/etc/profile、~/.bash_profile、~/.bash_login、~/.profile可以设定路径、环境变量等,只能登入的时候执行一次;/etc/bashrc、~/.bashrc保存路径、命令别名等,每次打开新的bash shell都会执行一次,通常前者/etc/profile、~/.bash_profile调用后者/etc/bashrc、~/.bashrc。更详细的资料可以参考该链接: 。

    Vim入门基础知识集锦  http://www.linuxidc.com/Linux/2017-02/140903.htm

    定位命令

    Vim

    :set number #→ 设置行号 简写set nu :set nonu #→ 取消行号 gg #→ 到第一行 G #→ 到最后一行 nG #→ 到第n行 :n #→ 到第n行 S #→ 移至行尾 0 #→ 移至行尾 hjkl #→ 前下上后 w #→ 到下一个单词的开头 b #→ 与w相反 e #→ 到下一个单词的结尾。 ge #→ 与e相反 0 #→ 到行头 ^ #→ 到本行的第一个非blank字符 $ #→ 到行尾 g_ #→ 到本行最后一个不是blank字符的位置。 fa #→ 到下一个为a的字符处,你也可以fs到下一个为s的字符。 t, #→ 到逗号前的第一个字符。逗号可以变成其它字符。 3fa #→ 在当前行查找第三个出现的a。 F 和 T → 和 f 和 t 一样,只不过是相反方向。 zz # 将当前行置于屏幕中间(不是转载…) zt # 将当前行置于屏幕顶端(不是猪头~) zb # 底端啦~

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    :set number   #→ 设置行号 简写set nu  
    :set nonu   #→ 取消行号  
    gg  #→ 到第一行  
    G   #→ 到最后一行  
    nG  #→ 到第n行  
    :n  #→ 到第n行  
    S   #→ 移至行尾  
    0   #→ 移至行尾  
    hjkl #→ 前下上后  
     
    w   #→ 到下一个单词的开头  
    b   #→ 与w相反  
    e   #→ 到下一个单词的结尾。  
    ge  #→ 与e相反  
     
    0   #→ 到行头  
    ^   #→ 到本行的第一个非blank字符  
    $   #→ 到行尾  
    g_  #→ 到本行最后一个不是blank字符的位置。  
    fa  #→ 到下一个为a的字符处,你也可以fs到下一个为s的字符。  
    t,  #→ 到逗号前的第一个字符。逗号可以变成其它字符。  
    3fa #→ 在当前行查找第三个出现的a。  
    F 和 T → 和 f 和 t 一样,只不过是相反方向。  
     
    zz # 将当前行置于屏幕中间(不是转载…)  
    zt # 将当前行置于屏幕顶端(不是猪头~)  
    zb # 底端啦~

          2.配置~/.vimrc和~/.gvimrc

    Vim入门基础教程 http://www.linuxidc.com/Linux/2017-02/140279.htm

    复制剪切

    yy 和 p 的组合键,或者 dd 和 p 的组合键

    Vim

    yy # → 复制当前行 nyy # → 复制当前行以下n行 dd # → 剪切当前行 ndd # → 剪切当前行以下n 行 p、P # → 粘贴在当前光标所在行或行上 2dd # → 删除2行 3p # → 粘贴文本3次

    1
    2
    3
    4
    5
    6
    7
    yy    # → 复制当前行  
    nyy   # → 复制当前行以下n行  
    dd    # → 剪切当前行  
    ndd   # → 剪切当前行以下n 行  
    p、P  # → 粘贴在当前光标所在行或行上  
    2dd   # → 删除2行  
    3p    # → 粘贴文本3次

          首先,在MacVim编辑器中输入“:version”,看到如下图示信息:

    把Vim打造成优秀的C IDE  http://www.linuxidc.com/Linux/2016-06/132262.htm

    简单排版

    Vim

    :ce(nter) # 居中显示光标所在行 :ri(ght) # 靠右显示光标所在行 :le(ft) # 靠左显示光标所在行 J # 将光标所在下一行合并到光标所在行 >> # 光标所在行增加缩进(一个tab) << # 光标所在行减少缩进(一个tab) n>> # 光标所在行开始的n行增加缩进 n<< # 光标所在行开始的n行减少缩进

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    :ce(nter)  # 居中显示光标所在行
    :ri(ght)   # 靠右显示光标所在行
    :le(ft)    # 靠左显示光标所在行
    J          # 将光标所在下一行合并到光标所在行
     
    >>         # 光标所在行增加缩进(一个tab)
    <<         # 光标所在行减少缩进(一个tab)
     
    n>>        # 光标所在行开始的n行增加缩进
    n<<        # 光标所在行开始的n行减少缩进

    图片 5

    Ubuntu 14.04升级Vim7.4到8.0  http://www.linuxidc.com/Linux/2016-11/136816.htm

    保存退出

    Vim

    :w new_filename # → 保存为指定文件 :w # → 保存修改 :wq # → 保存修改并推出 ZZ # → 快捷键,保存修改并推出 :q! # → 不保存修改推出 :wq! # → 保存修改并推出(文件所有者,root权限的用户)

    1
    2
    3
    4
    5
    6
    :w new_filename     # → 保存为指定文件  
    :w   # → 保存修改  
    :wq  # → 保存修改并推出  
    ZZ   # → 快捷键,保存修改并推出  
    :q!  # → 不保存修改推出  
    :wq! # → 保存修改并推出(文件所有者,root权限的用户)

         从上图可以看出一些MacVim的配置信息:

    Vim安装youcompleteme自动补全插件  http://www.linuxidc.com/Linux/2016-11/137665.htm

    整页翻页

    Vim

    ctrl-f # 下一页 f 就是`forword` ctrl-b # 上一页 b 就是`backward`

    1
    2
    ctrl-f # 下一页 f 就是`forword`
    ctrl-b # 上一页 b 就是`backward`

         $VIM系统变量的路径为:"/Applications/MacVim.app/Contents/Resources/vim"

    Linux Vim编辑器使用简单讲解  http://www.linuxidc.com/Linux/2016-12/138930.htm

    替换

         MacVim的系统配置文件vimrc的路径:“$VIM/vimrc”

    Vim基础知识之ctags 及 Taglist 插件  http://www.linuxidc.com/Linux/2017-03/141528.htm

    替换取消

    Vim

    r # → 取代关闭所在处字符 R # → 从光标所在处开始替换字符,摁ESC结束 u # → 取消上一步操作 ctrl r # → 返回上一步

    1
    2
    3
    4
    r # → 取代关闭所在处字符  
    R # → 从光标所在处开始替换字符,摁ESC结束  
    u # → 取消上一步操作  
    ctrl r # → 返回上一步

         用户配置文件vimrc的路径:"$HOME/.vimrc"

    Ubuntu 16.04 Vim YouCompleteMe自动补全的安装配置与使用  http://www.linuxidc.com/Linux/2017-02/141088.htm

    快捷替换

    可视化模式下选中其中一个,接着键入 ctrl-n,你会发现第二个该字符串也被选中了,持续键入 ctrl-n,你可以选中所有相同的字符串,把这个功能与 ctrlsf 结合

         MacVim编辑器的用户初始化配置文件的路径:"$HOME/.exrc" (默认不存在,如果需要使用则在终端输入 “touch $HOME/.vimrc”创建)

    本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/141699.htm

    精确替换

    vim 有强大的内容替换命令,进行内容替换操作时,注意:如何指定替换文件范围、是否整词匹配、是否逐一确认后再替换。

    Vim

    :[range]s/{pattern}/{string}/[flags]

    1
    :[range]s/{pattern}/{string}/[flags]
    • 如果在当前文件内替换,[range] 不用指定,默认就在当前文件内;
    • 如果在当前选中区域,[range] 也不用指定,在你键入替换命令时,vim 自动将生成如下命令::'<,'>s/{pattern}/{string}/[flags]
    • 你也可以指定行范围,如,第三行到第五行::3,5s/{pattern}/{string}/[flags]
    • 如果对打开文件进行替换,你需要先通过 :bufdo 命令显式告知 vim 范围,再执行替换;
    • 如果对工程内所有文件进行替换,先 :args **/.cpp */*.h 告知 vim 范围,再执行替换;

    :21,27s/^/#/g 行首替换#替换(增加)掉
    :ab mymail asdf@qq.com 输入mymail 摁下空格自动替换成asdf@qq.com

         MacVim的系统配置文件gvimrc的路径:"$VIM/gvimrc"

    图片 6

    开关注释

    • ;cc,注释当前选中文本,如果选中的是整行则在每行首添加 //,如果选中一行的部分内容则在选中部分前后添加分别/**/
    • ;cu,取消选中文本块的注释。

         用户配置文件gvimrc的路径:"$HOME/.gvimrc"

    工程文件菜单

    自定义快捷键

    Vim

    ;fl # 显示文件菜单 file list

    1
    ;fl # 显示文件菜单 file list

    自带快捷键

    Vim

    shift i # 显示/隐藏隐藏文件 t # 在新 Tab 中打开选中文件/书签,并跳到新 Tab T # 在新 Tab 中打开选中文件/书签,但不跳到新 Tab i # split 一个新窗口打开选中文件,并跳到该窗口 gi # split 一个新窗口打开选中文件,但不跳到该窗口 s # vsplit 一个新窗口打开选中文件,并跳到该窗口 gs # vsplit 一个新 窗口打开选中文件,但不跳到该窗口 ctrl w h # 光标 focus 左侧树形目录 ctrl w l # 光标 focus 右侧文件显示窗口 ctrl w w # 光标自动在左右侧窗口切换 ctrl w r # 移动当前窗口的布局位置 o # 在已有窗口中打开文件、目录或书签,并跳到该窗口 go # 在已有窗口 中打开文件、目录或书签,但不跳到该窗口 ! # 执行当前文件 O # 递归打开选中 结点下的所有目录 x # 合拢选中结点的父目录 X # 递归 合拢选中结点下的所有目录 e # Edit the current dif 双击 相当于 NERDTree-o 中键 对文件相当于 NERDTree-i,对目录相当于 NERDTree-e D # 删除当前书签 # P # 跳到根结点 p # 跳到父结点 K # 跳到当前目录下同级的第一个结点 J # 跳到当前目录下同级的最后一个结点 k # 跳到当前目录下同级的前一个结点 j # 跳到当前目录下同级的后一个结点 C # 将选中目录或选中文件的父目录设为根结点 u # 将当前根结点的父目录设为根目录,并变成合拢原根结点 U # 将当前根结点的父目录设为根目录,但保持展开原根结点 r # 递归刷新选中目录 R # 递归刷新根结点 m # 显示文件系统菜单 cd # 将 CWD 设为选中目录 I # 切换是否显示隐藏文件 f # 切换是否使用文件过滤器 F # 切换是否显示文件 B # 切换是否显示书签 # q # 关闭 NerdTree 窗口 ? # 切换是否显示 Quick Help

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    shift i      # 显示/隐藏隐藏文件
    t       # 在新 Tab 中打开选中文件/书签,并跳到新 Tab
    T       # 在新 Tab 中打开选中文件/书签,但不跳到新 Tab
    i       # split 一个新窗口打开选中文件,并跳到该窗口
    gi      # split 一个新窗口打开选中文件,但不跳到该窗口
    s       # vsplit 一个新窗口打开选中文件,并跳到该窗口
    gs      # vsplit 一个新 窗口打开选中文件,但不跳到该窗口
     
    ctrl w h    # 光标 focus 左侧树形目录
    ctrl w l    # 光标 focus 右侧文件显示窗口
    ctrl w w    # 光标自动在左右侧窗口切换
    ctrl w r    # 移动当前窗口的布局位置
    o       # 在已有窗口中打开文件、目录或书签,并跳到该窗口
    go      # 在已有窗口 中打开文件、目录或书签,但不跳到该窗口
     
    !       # 执行当前文件
    O       # 递归打开选中 结点下的所有目录
    x       # 合拢选中结点的父目录
    X       # 递归 合拢选中结点下的所有目录
    e       # Edit the current dif
     
    双击    相当于 NERDTree-o
    中键    对文件相当于 NERDTree-i,对目录相当于 NERDTree-e
     
    D       # 删除当前书签
    #
    P       # 跳到根结点
    p       # 跳到父结点
    K       # 跳到当前目录下同级的第一个结点
    J       # 跳到当前目录下同级的最后一个结点
    k       # 跳到当前目录下同级的前一个结点
    j       # 跳到当前目录下同级的后一个结点
     
    C       # 将选中目录或选中文件的父目录设为根结点
    u       # 将当前根结点的父目录设为根目录,并变成合拢原根结点
    U       # 将当前根结点的父目录设为根目录,但保持展开原根结点
    r       # 递归刷新选中目录
    R       # 递归刷新根结点
    m       # 显示文件系统菜单
    cd      # 将 CWD 设为选中目录
     
    I       # 切换是否显示隐藏文件
    f       # 切换是否使用文件过滤器
    F       # 切换是否显示文件
    B       # 切换是否显示书签
    #
    q       # 关闭 NerdTree 窗口
    ?       # 切换是否显示 Quick Help

         MacVim的菜单文件的路径:"$VIMRUNTIME/menu.vim"

    切割窗口

    Vim

    :new # 水平切割窗口 :split # 水平切割窗口(或者直接输入 :sp 也可以) :vsplit # 垂直切割( 也可以 :vs )

    1
    2
    3
    :new      # 水平切割窗口
    :split    # 水平切割窗口(或者直接输入   :sp  也可以)
    :vsplit   # 垂直切割( 也可以  :vs  )

         另外解释下, $HOME为当前用户目录的路径,$VIMRUNTIME路径为"/Applications/MacVim.app/Contents/Resources/vim" . 可以在MacVim中输入”:echo $VIMRUNTIME“来查看这些系统变量的路径。

    Tab操作

         其次,从系统文件vimrc_example.vim和gvimrc_example.vim中copy标准的内容,保存到用户的配置文件~/.vimrc和~/.gvimrc中。在MacVim中输入如下命令:

    多tab窗口拆分

    Vim

    :tabnew [ opt选项] [+cmd] 文件 #建立对指定文件新的tab :tabc #关闭当前的tab :tabo #关闭所有其他的tab :tabs #查看所有打开的tab :tabp #前一个 :tabn #后一个

    1
    2
    3
    4
    5
    6
    :tabnew [ opt选项] [+cmd] 文件            #建立对指定文件新的tab
    :tabc      #关闭当前的tab
    :tabo      #关闭所有其他的tab
    :tabs      #查看所有打开的tab
    :tabp      #前一个
    :tabn      #后一个

     

    tab切换

    Vim

    # 下面为自定义快捷键 tnew #新建tab tn #后一个 tab tp #前一个 tab # 窗口切换 nw # 标准模式下: gt , gT #可以直接在tab之间切换。 # 还有很多他命令, 看官大人自己, :help table 吧。 Ctrl ww # 移动到下一个窗口 # 或者 先按组合键ctrl w ,然后都松开,然后通过j/k/h/l(等于vim移动的方向键) 来移动大哦哦左/上/下/右的窗口 Ctrl wj #移动到下方的窗口 Ctrl wk #移动到上方的窗口

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    # 下面为自定义快捷键
    tnew #新建tab
    tn #后一个 tab
    tp #前一个 tab
     
    # 窗口切换
    nw
     
    # 标准模式下:
    gt , gT #可以直接在tab之间切换。
     
    # 还有很多他命令, 看官大人自己, :help table 吧。
    Ctrl ww # 移动到下一个窗口
    # 或者 先按组合键ctrl w ,然后都松开,然后通过j/k/h/l(等于vim移动的方向键) 来移动大哦哦左/上/下/右的窗口
    Ctrl wj #移动到下方的窗口
    Ctrl wk #移动到上方的窗口

    [html] view plaincopy

    HTML操作

    便捷操作得益于插件Emmet.vim。键入 div>p#foo$*3>a 然后按快捷键 <c-y>, – 表示 <Ctrl-y> 后再按逗号【Ctrly,】。

    按大写的 V 进入 Vim 可视模式,行选取上面三行内容,然后按键 <c-y>,,这时 Vim 的命令行会提示 Tags:,键入ul>li*,然后按 Enter。

    <ctrl y>d 根据光标位置选中整个标签
    <ctrl y>D 根据光标位置选中整个标签内容
    <ctrl-y>n 跳转到下一个编辑点
    <ctrl-y>N 跳转到上一个编辑点
    <ctrl-y>i 更新图片大小
    <ctrl-y>m 合并成一行
    <ctrl-y>k 移除标签对
    <ctrl-y>j 分割/合并标签
    <ctrl-y>/ 切换注释
    <ctrl-y>a 从 URL 地址生成锚
    <ctrl-y>A 从 URL 地址生成引用文本

     

    搜索查找

    1. :e $VIMRUNTIME/vimrc_example.vim  
    2. :saveas ~/.vimrc  
    3. :e $VIMRUNTIME/gvimrc_example.vim  
    4. :saveas ~/.gvimrc  

    文件搜索

    搜索有两个插件可以使用 wincent/command-t 和 junegunn/fzf,fzf没有下载下来,这里在使用 command-t ,使用的时候记得,进入目录 cd ~/.vim/plugged/command-t 运行 rake make

    Vim

    ;t # 启动搜索文件

    1
    ;t # 启动搜索文件

     

    搜索文本内容

    dyng/ctrlsf.vim,在插件完成安装之后,需要安装另外的工具,才能运行

    Shell

    brew install ripgrep # 上面安装好了之后,在.vimrc中配置下面内容 # 快捷键速记法:search in project let g:ctrlsf_ackprg = 'rg' # 设置快捷键 nnoremap <Leader>sp :CtrlSF<CR> # 选中搜索 - 文本中选中关键字 vmap <Leader>sp <Plug>CtrlSFVwordPath # 选中搜索 - 结果列表 vmap <Leader>sl <Plug>CtrlSFQuickfixVwordPath

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    brew install ripgrep
     
    # 上面安装好了之后,在.vimrc中配置下面内容
    # 快捷键速记法:search in project
    let g:ctrlsf_ackprg = 'rg'
    # 设置快捷键
    nnoremap <Leader>sp :CtrlSF<CR>
    # 选中搜索 - 文本中选中关键字
    vmap     <Leader>sp <Plug>CtrlSFVwordPath
    # 选中搜索 - 结果列表
    vmap     <Leader>sl <Plug>CtrlSFQuickfixVwordPath

    基本使用方法

    Vim

    :CtrlSF pattern dir # 如果后面不带 dir 则默认是 . 当前目录搜索 # 使用 j k h l 浏览CtrlSP窗口 使用 Ctrl j/k 在匹配项中跳转。 # 使用 q 则退出 CtrlSP窗口 # 使用 p

    1
    2
    3
    4
    :CtrlSF pattern dir  # 如果后面不带 dir 则默认是 . 当前目录搜索
    # 使用 j k h l 浏览CtrlSP窗口  使用 Ctrl j/k 在匹配项中跳转。
    # 使用 q 则退出 CtrlSP窗口
    # 使用 p

         3、添加插件

    快速移动

    Lokaltog/vim-easymotion 把满足条件的位置用 [;A~Za~z] 间的标签字符标出来,找到你想去的位置再键入对应标签字符即可快速到达。

    Shell

    ;;b # 光标前代码定位 ;;e # 光标后代码定位 ;;f # 光标后代码定位 <搜索自负> 出现定位信息 ;;F # 光标前代码定位 <搜索自负> 出现定位信息

    1
    2
    3
    4
    ;;b # 光标前代码定位
    ;;e # 光标后代码定位
    ;;f # 光标后代码定位 <搜索自负> 出现定位信息
    ;;F # 光标前代码定位 <搜索自负> 出现定位信息

            通常有如下两种方式添加插件:

    插件说明

    这里面所有的插件,并不是都放到了我的 .vimrc 文件中 .vimrc 配置文件中,是我个人喜欢并且习惯的配置。

          其一:拷贝该 plugin_name.vim插件到你个人插件目录~/.vim/plugin/下,拷贝plugin_help.txt到你个人文档目录~/.vim/doc/下,若存在该插件syntax的vim支持文件则放到~/.vim/syntax/目录下,如果以上目录不存在到终端输入如下命令创建:

    插件管理工具

    • junegunn/vim-plug
    • VundleVim/Vundle.vim

     

    主题风格

    • vim-colors-solarized 主题风格素雅 solarized
    • molokai 主题风格多彩 molokai
    • phd 主题风格复古 phd

    [html] view plaincopy

    使用界面

    • Mango A nice color scheme
    • VimAirline 美化状态栏偏好设置
    • vim-powerline 美化状态栏
    • vim-airline 美化状态栏和配置
    • vim-airline-themes airline主题

     

    管理项目

    • NERDTree Manage your project files
    • VimFugitive Git 集成
    • VimGitGutter Git 集成,强烈推荐!
    • EditorconfigVim Shared coding conventions
    • command-t 文件搜索
    • vim-signature 书签可视化的插件
    • BOOKMARKS–Mark-and-Highlight-Full-Lines 它可以让书签行高亮
    • tagbar 方法地图导航
    • indexer.tar.gz 自动生成标签并引入
      • DfrankUtil 上面插件,依赖这个插件
      • vimprj 上面插件,依赖这个插件
    • ctrlsf.vim 上下文插件,例如搜素到关键字,中间缩略,展示一段上下文
    • vim-multiple-cursors 多光标编辑功能
    1.   

    代码书写

    • NERDCommenter 注释更容易
    • DrawIt ASCII art 风格的注释
    • VimTrailingWhitespace 突出尾随空格
    • Syntastic 语法检查
    • VimEasyAlign 调整部分代码
    • VimMultipleCursors Write on multiple lines easily
    • VimJsBeautify Reformat JavaScript, HTML and JSON files
    • VimYankStack Iterate over yanked stack on paste
    • VimSurround Quoting and parenthesizing
    • YouCompleteMe 键而全的、支持模糊搜索的、高速补全的插件
    • VimForTern Smart JavaScript autocompletion
    • VimNode Navigate through node.js code/modules
    • VimLint Linter used by syntastic for VimL
    • VimLParser VimL parser (required by VimLint)
    • emmet-vim 提高HTML和CSS的工作流
    • vim-cpp-enhanced-highlight C 语法高亮支持
    • vim-indent-guides 相同缩进的代码关联起来
    • vim-fswitch 接口文件(MyClass.h)与实现文件(MyClass.cpp)快捷切换的插件
    • MiniBufExplorer 显示多个 buffer 对应的 window
    • wildfire.vim 快捷键选中 <>[]{} 中间的内容
    • gundo.vim 让你有机会撤销最近一步或多步操作
    • vim-easymotion 快速移动,两次 <leader> 作为前缀键
    • Shougo/neocomplete.vim 强大的自动补全插件
    • vim-instant-markdown 编辑 markdown 文档,自动开启 firefox 为你显示 markdown 最终效果
    • fcitx.vim 中/英输入平滑切换
    • othree/xml.vim 中/提供快速编写xml/html的能力,如标签自动闭合等
    • pangloss/vim-javascript 提供js代码的智能缩进,仅使用了他的indent功能

    [html] view plaincopy

    代码阅读

    • 语法高亮
      • vim-polyglot 支持常见的语法高亮
      • VimJson JSON 高亮和隐藏引号
      • YaJS JavaScript 语法 (ES5 and ES6)
      • vim-css3-syntax CSS3 高亮,包括stylus,Less,Sass
      • vim-css-color css高亮颜色
      • gko/vim-coloresque css高亮颜色
      • ScssSyntax SCSS syntax
      • HTML5 HTML5 syntax
      • Stylus Stylus 代码高亮
    • JavaScriptLibrariesSyntax 语法高亮的知名的JS库
    • ultisnips 模板补全插件
    • vim-protodef 根据类声明自动生成类实现的代码框架

     

    参考资料

    • vim 大冒险:在游戏中学习 vim
    • VimScript学会如何自定义Vim编辑器
    • css-color stopped working after updating Vim to 7.4
    1.   

    其它人的vimrc配置

    • luofei614/vim-plug
    • yangyangwithgnu/use_vim_as_ide

      2 赞 3 收藏 评论

    图片 7

    [html] view plaincopy

     

    1. cd $HOME  
    2. mkdir .vim  
    3. mkdir .vim/plugin  
    4. mkdir .vim/doc  
    5. mkdir .vim/syntax  

           比如,拷贝matchit.txt到~/.vim/doc/下,拷贝matchit.vim到目录~/.vim/plugin/下, 

     

          其二,在你的vimrc配置文件最后加一行命令:

     

    [html] view plaincopy

     

    1. source $VIMRUNTIME/macros/matchit.vim0  

           最后,还有一种不常用的方式可以安装插件,将插件、文档、syntax支持文件分别放到$VIMRUNTIME/plugin/  、$VIMRUNTIME/doc/、$VIMRUNTIME/syntax/三个目录下,或者/usr/share/vim/vim73/plugin/、/usr/share/vim/vim73/doc/、/usr/share/vim/vim73/syntax三个目录下都可以使MacVim自动加载插件。

     

     

            以上安装插件的方法都比较麻烦,并且每个插件的文件分散到几个文件夹去,不方便管理。在这里给各位推荐一个很方便管理插件的Vim插件vundle:。vundle可以使得安装的插件的文件都放到同一个目录下,并且简单设置就可使用。安装方法如下:

            首先,在终端输入如下命令:

    [html] view plaincopy

     

    1. git clone  ~/.vim/bundle/vundle  

             然后,在~/.vimrc里写入以下配置:

     

     

    [html] view plaincopy

     

    1. set nocompatible               " be iMproved  
    2.  filetype off                   " required!  
    3.   
    4.  set rtp =~/.vim/bundle/vundle/  
    5.  call vundle#rc()  
    6.   
    7. " let Vundle manage Vundle  
    8. " required!   
    9. "这是vundle本身的设置  
    10.  Bundle 'gmarik/vundle'    
    11.    
    12.  " My Bundles here:  
    13.  "这里是设置你自己自定义的插件的设置vundle设置,注意:下载的插件git为: 'godlygeek/tabular'; Bundle 'gmarik/vundle'    
    14.  " original repos on github  
    15.  Bundle 'godlygeek/tabular'  
    16.   
    17.  " vim-scripts repos,vim-scripts的访问地址,格式则如下:  
    18.  Bundle 'L9'  
    19.  Bundle 'FuzzyFinder'  
    20.  " non github repos ,非git的访问地址的,格式如下:  
    21.  Bundle 'git://git.wincent.com/command-t.git'  
    22.  " ...  
    23.   
    24.  filetype plugin indent on     " required!  
    25.  "  
    26.  " Brief help  
    27.  " :BundleList          - list configured bundles  
    28.  " :BundleInstall(!)    - install(update) bundles  
    29.  " :BundleSearch(!) foo - search(or refresh cache first) for foo  
    30.  " :BundleClean(!)      - confirm(or auto-approve) removal of unused bundles  
    31.  "  
    32.  " see :h vundle for more details or wiki for FAQ  
    33.  " NOTE: comments after Bundle command are not allowed..  

           

            最后,登陆MacVim,运行:BundleInstall命令。这样,Vundle.vim管理插件就安装成功。接下来继续简单介绍下,Vundle插件的使用:

     

    搜索新的插件:

     

    [html] view plaincopy

     

    1. :BundleSearch matchit   

     

    图片 8

    安装新的插件:

     

    [html] view plaincopy

     

    1. :BundleInstall matchit.zip  

     

    图片 9  
    最后在~/.vimrc中的注释" vim-scripts repos下,加入如下命令并保存.vimrc文件,这样一个插件就安装成功了:

     

    [html] view plaincopy

    本文由1010cc时时彩经典版发布于1010cc时时彩客户端,转载请注明出处:显示文件目录树,一个前端开发工程师的Vim跟I

    关键词: