美文网首页
我的vimrc

我的vimrc

作者: Nibnat | 来源:发表于2015-02-05 11:22 被阅读103次

" 仅在当前窗口显示列号
set number
:au WinEnter * :setlocal number
:au WinLeave * :setlocal nonumber

" 自动调整窗口大小
":au WinEnter * :set winfixheight
":au WinEnter * :wincmd =

"设置不兼容性
set nocompatible
"当文件在外部被修改的时候自动载入
set autoread
"在查找的时候忽略大小写
set ignorecase
"只能匹配
set smartcase
"显示所键入的命令
set showcmd
"设置文件序列号
"set nu
"为色彩主题 solarized 所需要的
"开启语法高亮
syntax enable
set background=dark
"colorscheme solarized
colorscheme MountainDew
"colorscheme molokai
"设置状态栏的颜色
highlight StatusLine guifg=SlateBlue guibg=Yellow 
"高亮显示匹配的括号
set showmatch
"设置历史记录数目
set history=1000
"设置不需要备份文件
set nobackup
setlocal noswapfile
"在命令模式下使用tab自动补全的时候,将补全内容用菜单的形式显示出来
set wildmenu
"显示右下角的状态栏
set ruler
"共享剪切板
set clipboard+=unnamed
"高亮显示搜索结果
set hlsearch
"实时显示搜索结果
set incsearch
"使得光标所在行总是离屏幕顶端或者低端5行
set scrolloff=5
"光标不闪烁
set novisualbell
"自动匹配,只能匹配,C语言风格的匹配
set autoindent
set smartindent
set cindent
"设置折叠
"按照缩进折叠
"set foldmethod=indent
"za,打开或者关闭当前折叠,zM,关闭所有折叠,zR,打开所有折叠
"按照语法折叠
set foldmethod=syntax
"设置一个tab对应4个空格,一般用于插入模式
set tabstop=4
"让vim把连续数量的空格视为一个制表符
set softtabstop=4
"设置格式化时制表符占用空格数,一般用于格式化对齐的时候
set shiftwidth=4
"设置tab
set smarttab
"将制表符扩展为空格
set expandtab
"不要将tab符号显示出来
set nolist
"去掉toolbar
set go=
"当你的一个单词输入未完成但是已经到达行尾的时候自动把你的单词完整显示到行首
set wrap
set linebreak
"设置状态栏的显示信息
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [ASCII=\%03.3b]\ [HEX=%02.2B]\ [POS=%04l,%04v]\ [%p%%]\ [LEN=%L]
"在被分割的窗口间显示空白,便于阅读 
set fillchars=vert:\ ,stl:\ ,stlnc:\ 
"让当前文件所在目录自动设置为工作目录
"set autochdir

"设置语言
set encoding=utf-8
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936,chinese
if has("win32")
    set fileencoding=utf-8
else
    set fileencoding=utf-8
endif
"解决菜单乱码
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
"解决consle输出乱码
language messages zh_CN.utf-8
"我不知道下面几句起什么作用
"set termencoding=utf-8
set termencoding=gbk
"如果没有下面这一行就会乱码
set gfw=NSimsun:h12

"高亮显示当前行
set cursorline
hi CursorLine cterm=NONE   ctermbg=DarkRed ctermfg=White
hi CursorColumn cterm=NONE ctermbg=DarkRed ctermfg=White
"同上目的一样,不然当只有一个文件的时候不能看到当前行高亮
set laststatus=2

    "********************************************************************
    "*                                                                  *
    "*                      MY_MAP                                      *
    "*                                                                  *
    "********************************************************************
"my map
let mapleader = ","
"进入当前打开文件所在目录
nmap <leader>cd :cd %:h<cr>
"改变Y命令
nnoremap Y y$
"change to light background
nmap <leader>l :set background=light<cr>
nmap <leader>d :set background=dark<cr>

nnoremap <leader>ev :split $MYVIMRC<cr>
nnoremap <leader>sv :source $MYVIMRC<cr>

"C Compiler and Run
map <F5> :call CompileRunGcc()<CR> 
func! CompileRunGcc() 
    exec "w" 
    exec "!gcc % -o %<" 
    exec "!./%<" 
endfunc 

"去掉方向键的功能
nnoremap <UP> <NOP>
nnoremap <DOWN> <NOP>
nnoremap <LEFT> <NOP>
nnoremap <RIGHT> <NOP>

inoremap <UP> <NOP>
inoremap <DOWN> <NOP>
inoremap <LEFT> <NOP>
inoremap <RIGHT> <NOP>

nnoremap <F4> :noh<cr>

"当一行太长显示多行的时候仍然在逻辑上看做多行来移动
map <A-UP> gk
map <A-DOWN> gj

nnoremap <home> ^
nnoremap <end> $


    "********************************************************************
    "*                                                                  *
    "*                      pathogen                                    *
    "*                                                                  *
    "********************************************************************
execute pathogen#infect()
"允许用指定语法高亮配色方案替换默认方案
syntax on
filetype plugin indent on
"开启文件类型侦测
filetype on

    "********************************************************************
    "*                                                                  *
    "*                      Ctags                                       *
    "*                                                                  *
    "********************************************************************
"nnoremap <c-F7>  :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<cr>
map <F7> :call CompileRunCtags()<CR> 
func! CompileRunCtags() 
    exec "!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q ." 
endfunc 

set tags=tags;

"jump between function
nnoremap <c-]>  <c-]>
nnoremap <c-[>  <c-t>

    "********************************************************************
    "*                                                                  *
    "*                      TagList                                     *
    "*                                                                  *
    "********************************************************************
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
let Tlist_Ctags_Cmd='C:\Users\tab\ctags'
let Tlist_WinWidth=50
let Tlist_Use_Right_Window=1
"let Tlist_Close_On_Select=1
"let Tlist_GainFocus_On_ToggleOpen=1

nnoremap <F3> :TlistToggle<cr>

    "********************************************************************
    "*                                                                  *
    "*                      NERDTree                                    *
    "*                                                                  *
    "********************************************************************
nnoremap <F2> :NERDTreeToggle<cr>

    "********************************************************************
    "*                                                                  *
    "*                   MiniBufExplorer                                *
    "*                                                                  *
    "********************************************************************
let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplMapWindowNavArrows = 1
let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplModSelTarget = 1

nnoremap <F9> :TMiniBufExplorer<cr>

    "********************************************************************
    "*                                                                  *
    "*                         a                                        *
    "*                                                                  *
    "********************************************************************
nnoremap <leader>ih :IHS<cr>
nnoremap <leader>is :AS<cr>

    "********************************************************************
    "*                                                                  *
    "*                        CtrlP                                    *
    "*                                                                  *
    "********************************************************************
let g:ctrlp_map=',,'
let g:ctrlp_cmd='CtrlP'
let g:ctrlp_working_path_mode=0
let g:ctrlp_by_filename = 1

set foldmethod=syntax
set foldlevel=99
nnoremap <F11> za

相关文章

  • 我的vimrc

    update: 请使用开箱即用的https://spacevim.org/ 效果图: vim8 vim-plug ...

  • 我的vimrc

  • VIM的使用及常用的配置方法

    > vim官方文档链接 vimrc文件(PATH:/etc/vim/vimrc) 官方文档 vimrc文件其实是当...

  • Mac vim 高亮

    1:将vimrc cp一份副本cp /usr/share/vim/vimrc ~/.vimrc2:编辑vimrcv...

  • vimrc

    tab 设为 4 个空格

  • vimrc

    set nocompatible " be iMproved, requiredfile...

  • .vimrc

    set tabstop=4set softtabstop=4set shiftwidth=4set autoind...

  • vimrc

    通用的vim配置

  • vimrc

    set ignorecase smartcase " 鎵撳紑涓嬮潰2涓彃浠剁殑绐楀彛autocmd viment...

  • vimrc

    set nu syntax onset fileencoding=utf-8set showcmdset cmdh...

网友评论

      本文标题:我的vimrc

      本文链接:https://www.haomeiwen.com/subject/bvvrxttx.html