vim配置

vim超强配置


宗旨:技术的学习是有限的,分享的精神是无限的。

****************************Ctags安装***************************

ctrl + ] --- 跳到定义处

ctrl + T --- 返回到上一个地方

tags文件的作用:看函数,变量或者红定义等等的定义。

安装:

1. 从http://ctags.sourceforge.net网站下载源代码;

2. 解压安装:

    tar -xzvf ctags-5.8.tar.gz

    cd ctags-5.8

    ./configure

    make

    make install

用whereis ctags看ctags是否安装成功。

3. 到你工程的最上级目录,运行命令:ctags -R,会生成一个tags的文件;

4. 打开某个文件,输入:set tags=(路径)/tags

********************************************************************

 

*****************************taglist********************************

http://sourceforge.net/projects/vim-taglist/files/

解压后生成出现文件taglist.vim --  taglist.txt

plugin/taglist.vim – taglist插件

doc/taglist.txt    - taglist帮助文件

移动taglist.txt到/usr/share/vim/vim73/doc/目录下

移动taglist.vim到/usr/share/vim/vim73/plugin/目录下

**********************************************************************

 

主要实现以下功能:

1.vim命令模式下,按F12生成tags,按F11显示模块框

2.F5直接编译执行CC++JavaShell脚本

3.ctrl + A全选并复制

4.F2去掉代码空行

5.支持鼠标的滑动

6.Ctrl + p自动补全功能

7.代码缩进,高亮,括号的自动补全功能等等

 

set shortmess=atI  " 启动的时候不显示那个援助乌干达儿童的提示 

set nu             " 显示行号 

set go=            " 不要图形按钮 

set guifont=Courier_New:h10:cANSI   " 设置字体 

syntax on          " 语法高亮 

autocmd InsertLeave * se nocul  " 用浅色高亮当前行 

autocmd InsertEnter * se cul    " 用浅色高亮当前行 

set ruler          " 显示标尺 

set showcmd        " 输入的命令显示出来,看的清楚些 

set novisualbell   " 不要闪烁(不明白) 

set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\[TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\%H:%M\")}   "状态行显示的内容 

set laststatus=1   " 启动显示状态行(1),总是显示状态行(2) 

set foldenable     " 允许折叠 

set foldmethod=manual   " 手动折叠 

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

 

" 显示中文帮助

if version >= 603

    sethelplang=cn

    setencoding=utf-8

endif

setfencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936

set termencoding=utf-8

set encoding=utf-8

set fileencodings=ucs-bom,utf-8,cp936

set fileencoding=utf-8

"新建.c,.h,.sh,.java文件,自动插入文件头

autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec":call SetTitle()"

""定义函数SetTitle,自动插入文件头

func SetTitle()

    "如果文件类型为.sh文件

    if&filetype == 'sh'

        callsetline(1,"\#########################################################################")

        callappend(line("."), "\# File Name: ".expand("%"))

        callappend(line(".")+1, "\# Author: libang")

        callappend(line(".")+2, "\# mail: 18186747363@163.com")

        callappend(line(".")+3, "\# Created Time:".strftime("%c"))

        callappend(line(".")+4,"\#########################################################################")

        callappend(line(".")+5, "\#!/bin/bash")

        callappend(line(".")+6, "")

    else

        callsetline(1, "")

        callappend(line(".")+5, "")

    endif

    if&filetype == 'cpp'

        callappend(line(".")+6, "#include")

        callappend(line(".")+7, "using namespace std;")

        callappend(line(".")+8, "")

    endif

    if&filetype == 'c'

        callappend(line(".")+6, "#include")

        callappend(line(".")+7, "")

    endif

    "新建文件后,自动定位到文件末尾

    autocmdBufNewFile * normal G

endfunc

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

"键盘命令

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

nmap w :w!

nmap f :find

" 映射全选+复制ctrl+a

map ggVGY

map! ggVGY

map gg=G

" 选中状态下 Ctrl+c 复制

vmap "+y

"去空行 

nnoremap :g/^\s*$/d

"比较文件 

nnoremap :vert diffsplit

"新建标签 

map :tabnew 

"列出当前目录文件 

map :tabnew . 

"打开树状文件目录 

map \be 

"C,C++ 按F5编译运行

map :call CompileRunGcc()

func! CompileRunGcc()

    exec"w"

    if&filetype == 'c'

        exec"!g++ % -o %<"

        exec"! ./%<"

    elseif&filetype == 'cpp'

        exec"!g++ % -o %<"

        exec"! ./%<"

    elseif&filetype == 'java'

        exec"!javac %"

        exec"!java %<"

    elseif&filetype == 'sh'

        :!./%

    endif

endfunc

"C,C++的调试

map :call Rungdb()

func! Rungdb()

    exec"w"

    exec"!g++ % -g -o %<"

    exec"!gdb ./%<"

endfunc

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

""实用设置

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

" 设置当文件被改动时自动载入

set autoread

" quickfix模式

autocmd FileType c,cpp map :w:make

"代码补全

set completeopt=preview,menu

"允许插件 

filetype plugin on

"共享剪贴板 

set clipboard+=unnamed

"从不备份 

set nobackup

"make 运行

:set makeprg=g++\ -Wall\ \ %

"自动保存

set autowrite

set cursorline              " 突出显示当前行

set magic                   " 设置魔术

set guioptions-=T           " 隐藏工具栏

set guioptions-=m           " 隐藏菜单栏

"set statusline=\ %

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值