• 我的vim 配置——nerdtree、ack vim、vim sneak


    set nu 
    colorscheme darkblue
    syntax on
    " set term=xterm                 " 设置终端类型 
    set nonumber                   " 是否显示行号。
    set ambiwidth=double            " 将所有字符显示为全角宽度
    set wildmenu                    " 自动补全的时候,将补全内容使用一个漂亮的单行菜单形式显示出来。
    set whichwrap=b,s,<,>,[,]       " 光标从行首和行末时可以跳到另一行去
    set nobackup                    " 取消备份
    set noswapfile                  " 不生成交换文件
    autocmd FileType * setl fo-=cro " 关闭自动添加注释的效果
    " 支持鼠标滚动
    " set mouse=a
    colorscheme     elflord         " 设定颜色主题
    " netrw文件浏览器
    set autochdir                   " 当打开一个文件时,自动切换到该文件所在的目录
    let g:netrw_altv         = 1    " 与preview项相配合,在右侧打开预览文件
    let g:netrw_preview      = 1    " 在一个垂直列表中打开预览文件
    let g:netrw_liststyle    = 3    " 列表模式-文件夹浏览模式
    let g:netrw_winsize      = 30   " 文件夹列表的宽度(30个字符)
    let g:netrw_browse_split = 4    " 在当前窗口的新区域内预览文件(与P操作相同)
    " 编写函数实现开关 Vexplore 文件夹列表的效果
    function! ToggleVExplorer()
      if exists("t:expl_buf_num")
          let expl_win_num = bufwinnr(t:expl_buf_num)
          if expl_win_num != -1
              let cur_win_nr = winnr()
              exec expl_win_num . 'wincmd w'
              close
              exec cur_win_nr . 'wincmd w'
              unlet t:expl_buf_num
          else
              unlet t:expl_buf_num
          endif
      else
          "exec '1wincmd w'
          Vexplore
          let t:expl_buf_num = bufnr("%")
      endif
    endfunction
    " 按键 => 指令快捷方式
    map <C-n> :tabn<CR>
    map <C-b> :tabprevious<CR>
    map <S-t> :call ToggleVExplorer()<CR>
    set paste                       " 复制模式
    map <C-p> :NERDTreeToggle<CR>
    execute pathogen#infect()
    call pathogen#helptags()
    let g:sneak#label = 1
    " Use deoplete.
    " let g:deoplete#enable_at_startup = 1
    set tabstop=4
    set softtabstop=4
    set shiftwidth=4
    set expandtab
    set autoindent
    

    我的配置就是酱紫!

    其中,还需要做的工作有以下几个:

    安装nerdtree插件,两种方式,推荐第二种(1) http://www.vim.org/scripts/script.php?script_id=1658

    下载zip,然后解压到.vim目录下。

    (2)或者是通过vim插件管理工具apt-vim安装:

    curl -sL https://raw.githubusercontent.com/egalpin/apt-vim/master/install.sh | sh

    apt-vim install -y https://github.com/scrooloose/nerdtree.git

    .vimrc中输入,

    map <C-p> :NERDTreeToggle<CR>

    就可以使用ctrl p来关闭nerdtree的窗口了!

    nerdtree窗口乱码解决方法:
    #     今天在centos上安装了vim74 ,把配置文件vimrc和nerdtreee插件付上后发现nerdtree 目录树为'铝'
    # 这样的乱码符号,正常应该为'+'号
    # 下面是解决办法
               vim /usr/local/share/vim/vim74/plugin/NERD_tree.vim      # 编辑插件
                     # 找到下面这句把那个"!"去掉,保存退出重启vim即可
                     call s:initVariable("g:NERDTreeDirArrows", !s:running_windows)

    安装代码搜索插件,ack vim——太特么好用了!
    mac: brew install ack
    然后再:
    apt-vim install -y https://github.com/mileszs/ack.vim.git
    然后vim里:Ack find-pattern dir 就可以在指定的dir里查找了。

    Ack是一个给程序员用的grep, 使用perl regular expressions, 而不是POSIX/GNU subset.

    why ack?

    • 使用perl regular expressions, 忘掉grep那套不人性的pattern吧
    • 速度快, 默认只搜索程序代码文件
    • 自动忽略.svn, .git, CVS这类目录, 默认递归搜索子目录
    1
    2
    3
    4
    5
    6
    
    1. # with grep
    2. $ grep pattern $(find . -type f | grep -v '.svn')
    3. or
    4. $ grep -R --exclude-dir .svn pattern
    5. # with ack
    6. $ ack pattern
    • 支持搜索指定文件类型
    1
    2
    
    1. # 只搜索ruby code
    2. $ ack --ruby pattern

    install

    1
    2
    3
    4
    
    1. # mac
    2. $ brew install ack
    3. # ubuntu
    4. $ sudo apt-get install ack-grep

    integrate into vim

    • install ack.vim
    • set grepprg=ack in vimrc

    custom ack

    Ack默认包含很多filetype => extensions的设置,但新出现的语言不一定支持。好在ack提供--type-add TYPE=.EXTENSION[,.EXT2[,...]]--type-set TYPE=.EXTENSION[,.EXT2[,...]]来扩展。经常用的可以加到~/.ackrc里, 我的.ackrc:

    1
    2
    3
    4
    5
    6
    7
    
    1. $ cat ~/.ackrc
    2. --type-add
    3. ruby=.haml,.ru
    4. --type-add
    5. css=.scss,.sass,.less
    6. --type-add
    7. js=.coffee
     

    安装代码快速跳转——太特么好用了!!!

    apt-vim install -y https://github.com/justinmk/vim-sneak.git
    然后 vimrc加入
    let g:sneak#label = 1

    vim 里使用 s?? 其中??为你要搜索的两个精确字符。使用;,和进行快速跳转!
    
    
     
  • 相关阅读:
    Hadoop 解除 “Name node is in safe mode”
    ubuntu永久修改主机名
    ssh免密码登录
    su 和 su- 会影响环境变量
    卸载ubuntu自带openJDK,更改成自己的JDK版本
    ubuntu安装jdk 1.6
    147.Insertion Sort List
    145.Binary Tree Postorder Traversal
    144.Binary Tree Preorder Traversal
    143.Reorder List
  • 原文地址:https://www.cnblogs.com/bonelee/p/6674239.html
Copyright © 2020-2023  润新知