欢迎来到cool的博客
7

Music box

Click to Start

点击头像播放音乐
新博客链接

Vim配置一些好用的插件 EasyGrep CtrlP等等,vimrc的一些配置

Vim 插件 EasyGrep 全局搜索文件

EasyGrep的安装

如果你已经使用了Vundle管理Vim插件, 只需要在.vimrc里增加Bundle 'EasyGrep'然后使用:BundleInstall安装即可.

How To Use

  • \vv or :Grep\vv命令将在文件中搜索当前光标下的单词, :Grep word将搜索"word", 如果加叹号:Grep !word表示全词匹配的方式搜索, Grep也可以带参数, 比如:Grep -ir word, r表示递归目录. i表示不区分大小写.
  • \vV : 全词匹配搜索, 同:Grep !word;
  • \va : 与vv相似, 搜索结果append在上次搜索结果之后;
  • \vA : 与vV相似, 搜索结果append在上次搜索结果之后;
  • \vr or :Replace :替换;
  • \vo or :GrepOptions: 打开选项菜单;

Options Details

每个Option的解释可以参考Github上的README

let g:EasyGrepMode = 2     " All:0, Open Buffers:1, TrackExt:2, 
let g:EasyGrepCommand = 0  " Use vimgrep:0, grepprg:1
let g:EasyGrepRecursive  = 1 " Recursive searching
let g:EasyGrepIgnoreCase = 1 " not ignorecase:0
let g:EasyGrepFilesToExclude = "*.bak, *~, cscope.*, *.a, *.o, *.pyc, *.bak"

 

文件跳转:ctrlp.vim

项目地址:https://github.com/kien/ctrlp.vim

在 VIM 世界里,有人是分窗口编辑文件的忠实拥护者,有人则是多文件 tab 页的死忠骨灰粉。但无论哪种人, 在一些大项目内进行编辑工作时,如果要快速打开 这类藏在大山深处的文件,都需像剥粽子一样,一层一层往下找,让人头疼。

ctrlp.vim 则完美帮你解决了这个痛点,当你想打开某个文件时,只要按下 , + f  (可以自定义)快捷键,输入文件名。 所有和这个文件名匹配的文件都会被按照优先级列出来,按下 enter 或者 Ctrl + t 就可以在当前 buffer 或者新 tab 页打开你要的文件了。

我个人的的配置:

" *****************ctrlp*********************
""<Leader>p搜索当前目录下文件
let g:ctrlp_map = '<Leader>f'
let g:ctrlp_cmd = 'CtrlP'
"<Leader>f搜索MRU文件
" nmap <Leader>f :CtrlPMRUFiles<CR>
" map <leader>f :CtrlPMRU<CR>
" 设置过滤不进行查找的后缀名
let g:ctrlp_custom_ignore = {
    \ 'dir':  '\v[\/]\.(git|hg|svn|rvm)$',
    \ 'file': '\v\.(exe|so|dll|zip|tar|tar.gz|pyc)$',
    \ }
let g:ctrlp_working_path_mode = 0
let g:ctrlp_match_window_bottom = 1
"修改QuickFix窗口显示的最大条目数
let g:ctrlp_max_height = 10
let g:ctrlp_match_window_reversed = 0
"设置MRU最大条目数为500
let g:ctrlp_mruf_max = 500
let g:ctrlp_follow_symlinks = 1
"默认使用全路径搜索,置1后按文件名搜索,准确率会有所提高,可以用<C-d>进行切换
let g:ctrlp_by_filename = 1
"默认不使用正则表达式,置1改为默认使用正则表达式,可以用<C-r>进行切换
let g:ctrlp_regexp = 0

 

VIM自动缩进等格式设置方法

1)VIM的环境是根据读取的配置文件来设定的,配置文件的位置通常在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。

(2)设置语法高亮

if has("syntax")

    syntax on

endif

或者直接syntax on

注意:如果此时语法还是没有高亮显示,那么在/etc目录下的profile文件中添加以下语句:export TERM=xterm-color

(3)设置自动缩进

set autoindent,即每行的缩进值与上一行相等,使用 set noautoindent 可以取消设置

当你在输入状态用回车键插入一个新行,或者在 normal 状态用 o 或者 O 插入一个新行时,autoindent 会自动地将当前行的缩进拷贝到新行,也就是"自动对齐”

set cindent,它会按照 C 语言的语法,自动地调整缩进的长度,比如,当你输入了半条语句然后回车时,缩进会自动增加一个 TABSTOP 值,当你键入了一个右花括号时,会自动减少一个 TABSTOP 值。

set smartindent,在这种缩进模式中,每一行都和前一行有相同的缩进量,同时这种缩进形式能正确的识别出花括号,当遇到右花括号(}),则取消缩进形式。此外还增加了识别C语言关键字的功能。如果一行是以#开头的,那么这种格式将会被特殊对待而不采用缩进格式。

(4)设置制表符等于多少空格

set tabstop=4
set softtabstop=4(设置软制表符)

软制表符表示在Insert模式的时候按退格键时退回缩进的长度,当使用expandtab 时特别有用。

(5)显示行号

set number或简写为set nu

(6)更改缩进方式

set shiftwidth=4 表示每一级缩进的长度为4个空格,一般设置成跟 softtabstop 一样的值
当set expandtab 时,缩进用空格来表示,而set noexpandtab 则是用制表符表示一个缩进。

不应让set expandtab对所有情况都生效,因为Makefile或makefile文件中要求必须使用制表符来分割命令,而如果使用了vim编辑这些文件,制表符被自动换成空格,则会出现问题。

可使用如下命令来对设置只对特定类型文件启用expandtab,

if has("autocmd")

    autocmd BufRead,BufNewFile *.c, *.h set expandtab

endif

(7)短暂显示括号匹配

set sm(是set showmatch的简写),当你输入右括号,如}]),会自动跳到相匹配的括号处,闪动一下,不影响你继续输入,时间也可以自己设置,如下:

set matchtime=1(匹配时间,单位是十分之一秒)

(8)括号自动匹配添加

inoremap ( ()<LEFT>
inoremap { {}<LEFT>
inoremap [ []<LEFT>

(9)以特殊字符或字符串来显示制表符

set list

set listchars=tab:>-    (这里是设置要显示哪些字符,没有被设置的不会被显示)

设置后,制表符将会被显示为>---,后面多余的空白字符显示为-。

 

  1. set nocompatible                 "去掉有关vi一致性模式,避免以前版本的bug和局限    

  2. set nu!                                    "显示行号

  3. set guifont=Luxi/ Mono/ 9   " 设置字体,字体名称和字号

  4. filetype on                              "检测文件的类型     

  5. set history=1000                  "记录历史的行数

  6. set background=dark          "背景使用黑色

  7. syntax on                                "语法高亮度显示

  8. set autoindent                       "vim使用自动对齐,也就是把当前行的对齐格式应用到下一行(自动缩进)

  9. set cindent                             "(cindent是特别针对 C语言语法自动缩进)

  10. set smartindent                    "依据上面的对齐格式,智能的选择对齐方式,对于类似C语言编写上有用   

  11. set tabstop=4                        "设置tab键为4个空格,

  12. set shiftwidth =4                   "设置当行之间交错时使用4个空格     

  13. set ai!                                      " 设置自动缩进 

  14. set showmatch                     "设置匹配模式,类似当输入一个左括号时会匹配相应的右括号      

  15. set guioptions-=T                 "去除vim的GUI版本中得toolbar   

  16. set vb t_vb=                            "当vim进行编辑时,如果命令错误,会发出警报,该设置去掉警报       

  17. set ruler                                  "在编辑过程中,在右下角显示光标位置的状态行     

  18. set nohls                                "默认情况下,寻找匹配是高亮度显示,该设置关闭高亮显示     

  19. set incsearch                        "在程序中查询一单词,自动匹配单词的位置;如查询desk单词,当输到/d时,会自动找到第一个d开头的单词,当输入到/de时,会自动找到第一个以ds开头的单词,以此类推,进行查找;当找到要匹配的单词时,别忘记回车 

  20. set backspace=2           " 设置退格键可用

  21. 修改一个文件后,自动进行备份,备份的文件名为原文件名加“~”后缀

  •       if has("vms")

  •       set nobackup

  •       else

  •       set backup

  •       endif

返回列表