重新配了一下vim

之前把vim弄得乱七八糟,这次重新弄了一下。

现在主要有以下功能和对应插件:

1 按 . 或 :: 或 -> 的自动补全,补全是根据自定义的类型以及C++标准库类型 ;快捷键跳转到函数定义: 插件ctags,插件omnicppcomplete

2 注释等快捷键:插件c-support

3 在输入代码时自动匹配,不用按快捷键,匹配语言关键字或是曾经输入的历史记录:插件autocomplpop

4 目录树显示:插件nerdtree

5 每个文件的函数名,等显示:插件taglist(依赖于ctags)

具体这些插件怎么安装,没时间写了,可以搜索这些插件的使用方法。


现把~/.vim文件夹下的目录结构截图:



配置文件~/.vimrc的内容如下:

配置文件日期:2013.04.21 21:36

colorscheme jungle
set hlsearch
set backspace=2
set autoindent
set ruler
set showmode
set bg=dark
set nobackup                " 覆盖文件时不备份
set autochdir               " 自动切换当前目录为当前文件所在的目录
"filetype plugin indent on   " 开启插件
set noerrorbells            " 关闭错误信息响铃
set novisualbell            " 关闭使用可视响铃代替呼叫
set t_vb=                   " 置空错误铃声的终端代码
set t_Co=256

"自动缩进的时候,缩进尺寸为4个空格
set sw=4

"Tab宽度为4个字符
set ts=4

"可以使用鼠标
set mouse=a

"使用C样式的缩进
set cindent

"为C程序提供自动缩进
set smartindent

"打开 C/C++ 风格的自动缩进。 打开了自动缩进后, 在编码的时候我们可以使用“V”命令选中一段文本后.
set cin
                                
" 设定默认解码
set fenc=utf-8
set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936

" 不要使用vi的键盘模式,而是vim自己的
set nocompatible

" history文件中需要记录的行数
set history=100

" 在处理未保存或只读文件的时候,弹出确认
set confirm

" 与windows共享剪贴板
set clipboard+=unnamed

" 侦测文件类型
filetype on

" 载入文件类型插件
filetype plugin on

" 为特定文件类型载入相关缩进文件
filetype indent on

"取消补全内容以分割子窗口形式出现,只显示补全列表
set completeopt=longest,menu

" 保存全局变量
set viminfo+=!

" 带有如下符号的单词不要被换行分割
set iskeyword+=_,$,@,%,#,-

" 语法高亮
syntax on

" 高亮字符,让其不受100列限制
:highlight OverLength ctermbg=red ctermfg=white guibg=red guifg=white
:match OverLength '\%101v.*'

" 状态行颜色
highlight StatusLine guifg=SlateBlue guibg=Yellow
highlight StatusLineNC guifg=Gray guibg=White



" C++的编译和运行
 map <F6> :call CompileRunGpp()<CR>
 func! CompileRunGpp()
 exec "w"
 exec "!g++ % -o %<"
 exec "! ./%<"
 endfunc

 " C的编译和运行
 map <F5> :call CompileRunGcc()<CR>
 func! CompileRunGcc()
 exec "w"
 exec "!gcc % -o %<"
 exec "! ./%<"
 endfunc



"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Autocommands
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 只在下列文件类型被侦测到的时候显示行号,普通文本文件不显示

if has("autocmd")
   autocmd FileType xml,html,c,cs,java,perl,shell,bash,cpp,python,vim,php,ruby,nc set number
   autocmd FileType xml,html vmap <C-o> <ESC>'<i<!--<ESC>o<ESC>'>o-->
   autocmd FileType java,c,cpp,nc,cs vmap <C-o> <ESC>'<o
   autocmd FileType html,text,php,vim,c,nc,java,xml,bash,shell,perl,python setlocal textwidth=100
   autocmd Filetype html,xml,xsl source $VIMRUNTIME/plugin/closetag.vim
"autocmd BufReadPost *
   \ if line("'"") > 0 && line("'"") <= line("$") |
   \   exe "normal g`"" |
   \ endif
endif " has("autocmd")


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

 " => Plugin configuration

 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
 
 " NERDTree
 let NERDTreeMouseMode = 3        "单击打开文件和文件夹

 map <F8> :NERDTreeToggle<CR>

 " taglist
 let Tlist_Auto_Highlight_Tag = 1
 let Tlist_Auto_Open = 0
 let Tlist_Auto_Update = 1
 let Tlist_Close_On_Select = 0
 let Tlist_Compact_Format = 0
 let Tlist_Display_Prototype = 1
 let Tlist_Display_Tag_Scope = 0
 let Tlist_Enable_Fold_Column = 0
 let Tlist_Exit_OnlyWindow = 1
 let Tlist_File_Fold_Auto_Close = 0
 let Tlist_GainFocus_On_ToggleOpen = 1
 let Tlist_Hightlight_Tag_On_BufEnter = 1
 let Tlist_Inc_Winwidth = 0
 let Tlist_Use_Right_Window = 1    "在右侧窗口中显示taglist窗口
 let Tlist_Show_One_File = 1       "只显示一个文件的list
 let Tlist_Use_SingleClick = 1     "点击一次就显示成员或变量定义的位置

 map <F12> :TlistToggle<CR>



"""""""""""""""""""""""""""""""""""""""""""""""""""""
" => 自动补全
""""""""""""""""""""""""""""""""""""""""""""""""""""""
"au FileType php setlocal dict+=/etc/vim/php_funclist.txt

"php 中 一般是会在 $, ->, :: 后需要出现自动补全,在 .vimrc 中加入以下代码:

"if !exists('g:AutoComplPop_Behavior')
"    let g:AutoComplPop_Behavior = {}
"    let g:AutoComplPop_Behavior['php'] = []
"    call add(g:AutoComplPop_Behavior['php'], {
"         \   'command'   : "\<C-x>\<C-o>", 
"         \   'pattern'   : printf('\(->\|::\|\$\)\k\{%d,}$', 0),
"         \   'repeat'    : 0,
"         \})
"endif


"2013-4-15添加
"-- omnicppcomplete setting --
set completeopt=menu,menuone
let OmniCpp_MayCompleteDot = 1 " autocomplete with .
let OmniCpp_MayCompleteArrow = 1 " autocomplete with ->
let OmniCpp_MayCompleteScope = 1 " autocomplete with ::
let OmniCpp_SelectFirstItem = 2 " select first item (but don't insert)
let OmniCpp_NamespaceSearch = 2 " search namespaces in this and included files
let OmniCpp_ShowPrototypeInAbbr = 1 " show function prototype  in popup window
let OmniCpp_GlobalScopeSearch=1
let OmniCpp_DisplayMode=1
let OmniCpp_ShowAccess = 1
let OmniCpp_DefaultNamespaces=["std"]


" -- ctags setting  2013.4.16 11:06
set nocp
autocmd FileType c,cpp,cc set tags+=~/.vim/tags/cpptags
autocmd FileType nc set tags+=~/.vim/tags/nesCtags
au BufWritePost *.c,*.cpp,*.cc,*.nc,*.h !ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .



"在 Vim 中实现括号自动补全:

":inoremap ( ()<ESC>i
":inoremap ) <c-r>=ClosePair(')')<CR>
":inoremap { {}<ESC>i
":inoremap } <c-r>=ClosePair('}')<CR>
":inoremap [ []<ESC>i
":inoremap ] <c-r>=ClosePair(']')<CR>

"function ClosePair(char)
"    if getline('.')[col('.') - 1] == a:char
"        return "\<Right>"
"    else
"        return a:char
"    endif
"endf


" 查看方法输入:Man api_name
source $VIMRUNTIME/ftplugin/man.vim

" 映射之后就可以少按一下 Shift 键。
cmap man Man

" 在普通模式下按下 K (大写)即可启动 man 查看光标下的函数。
nmap K :Man <cword><CR>



"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" => nesC配置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
augroup filetypedetect  
      au! BufRead,BufNewFile *nc setfiletype nc  
augroup END







传一张最终的效果图:



基于SSM框架的网红酒店预定系统,是一个集前台用户操作和后台管理员管理于一体的综合性平台。该系统旨在通过信息化手段,提高酒店预订的效率和用户体验。 系统的主要功能模块包括: 1. **用户管理**:允许用户注册、登录,查看个人信息,以及修改个人资料和密码。 2. **客房管理**:管理员可以添加、删除或修改客房信息,包括房型、价格、设施等。 3. **预订管理**:用户可以浏览可用房型,进行预订操作,管理员则可以管理预订订单,包括确认预订、办理入住和退房等。 4. **退订管理**:用户和管理员都可以处理预订的取消,管理员可以审核退订请求。 5. **系统管理**:管理员可以进行系统设置,包括权限管理、日志查看等。 系统的设计考虑了用户体验和管理员的便捷性,通过SSM框架的灵活性和MySQL数据库的稳定性,实现了数据的高效管理和处理。系统的前端界面友好,操作流程简洁,能够满足用户快速预订和查询的需求。同时,系统的后台管理功能强大,能够为管理员提供全面的数据分析和决策支持。 此外,系统还具有高度的安全性和稳定性,通过角色权限控制,确保了数据的安全性和系统的稳定运行。系统的开发和设计,不仅提升了网红酒店的品牌形象,也为用户带来了便捷的预订体验,进一步推动了酒店行业的信息化发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值