vimrc 备份

本文详细介绍了一个高度定制化的Vim配置方案,包括通用设置、插件管理、快捷键定义及平台特性的调整等内容,旨在帮助用户提升编辑效率。

set nocompatible               " be iMproved
"filetype off                   " required!

"=============================================================================
" VIM Gernal Settings
"=============================================================================

" Tab related
set ts=4    "tabstop:tab键宽度"
set sw=4    "shiftwidth: tab+shift 移动宽度"
set et      "expand tabs to spaces"
set smarttab    "按 backspace 时,智能删除 tab 产生的4个空格"
set ambiwidth=double "防止特殊符号无法正常显示"

" Format related
"set tw=80   "textwidth 超过此宽度换行"
set lbr     "linebreak: 防止程序在单词中间断行"
set fo+=mB  "m 表示允许在两个汉字之间断行。B 表示将两行合并为一行的时候,汉字与汉字之间不要补空格。"

" Indent related
set cin     "C indent C语言 "
set ai      "autoindent 新行时,自动使用上一行的缩进方式"
"set cino=:0g0t0(susj1 

" Editing related
set backspace=indent,eol,start "使回格键(backspace)正常处理indent, eol, start等
set whichwrap=b,s,<,>,[,]
set mouse=a
set selectmode=
set mousemodel=popup
set keymodel=
set selection=inclusive

" Misc
set wildmenu "命令模式tab自动补全时,弹出菜单"

" Encoding related
set encoding=utf-8
set langmenu=zh_CN.UTF-8
language message zh_CN.UTF-8
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1

"set list
"set listchars=tab:»\ ,trail:\ ,extends:»,precedes:«
"highlight SpecialKey ctermbg=Red guibg=Red

" File type related
filetype plugin indent on

" Persistent undo
if v:version >= 703
    set undodir=$HOME/.vimundodir
    set colorcolumn=+1
endif

" Display related
set ru "ruler 显示状态栏标尺
set sm "showmatch 显示括号配对"
set hls "hlsearch"
set nu! "number 显示行号
set is  "incsearch 查找时动态匹配

if (has("gui_running"))
    set guioptions-=m
    set guioptions-=T
    set guioptions+=b  "启用水平滚动条"
    if $USER == "root"
        colo peachpuff
    else
        colo torte
    endif
    set nowrap
else
    if $USER == "root"
        colo shine
    else
        colo ron
    endif
    set wrap
endif
syntax on
set history=50

"=============================================================================
" VIM Color Scheme
"=============================================================================
"set fenc=gbk
"set encoding=utf8 
set guifont=Consolas:h12:cGB2312
"set guifontwide=微软雅黑


"=============================================================================
" Encoding related
"=============================================================================
"set encoding=utf-8
"set langmenu=zh_CN.UTF-8
"language message zh_CN.UTF-8
"set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
"set langmenu=none


"=============================================================================
" vundle plugin
"=============================================================================

 set rtp+=~/.vim/bundle/vundle/
 call vundle#rc()

 " let Vundle manage Vundle
 " required! 
 Bundle 'gmarik/vundle'

 " My Bundles here:
 "
 " original repos on github
  "Bundle 'tpope/vim-fugitive'
  "Bundle 'Lokaltog/vim-easymotion'
  "Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
  "Bundle 'tpope/vim-rails.git'
  Bundle 'scrooloose/nerdtree.git'
  Bundle 'fholgado/minibufexpl.vim.git'
  "Bundle 'ervandew/supertab'
  "Bundle 'othree/xml.vim'
  Bundle 'gregsexton/MatchTag'
  " Bundle 'vim-scripts/TabBar'
  Bundle 'scrooloose/nerdcommenter'
  Bundle 'vim-scripts/TxtBrowser'
 
" vim-scripts repos
Bundle 'L9'
Bundle 'FuzzyFinder'
"Bundle 'vimtips'
Bundle 'taglist.vim'
Bundle 'bufexplorer.zip'
Bundle 'winmanager'
Bundle 'matchit.zip'
 
" non github repos
" Bundle 'git://git.wincent.com/command-t.git'
 " ...

 filetype plugin indent on     " required!
 "
 " Brief help
 " :BundleList          - list configured bundles
 " :BundleInstall(!)    - install(update) bundles
 " :BundleSearch(!) foo - search(or refresh cache first) for foo
 " :BundleClean(!)      - confirm(or auto-approve) removal of unused bundles
 "
 " see :h vundle for more details or wiki for FAQ
 " NOTE: comments after Bundle command are not allowed..

" ============================================================================
" Shortcuts
" ============================================================================
"Toggle Menu and Toolbar
map <silent> <F7> :if &guioptions =~# 'T' <Bar>
        \set guioptions-=T <Bar>
        \set guioptions-=m <bar>
    \else <Bar>
        \set guioptions+=T <Bar>
        \set guioptions+=m <Bar>
    \endif<CR>


" ============================================================================
" Plugins settings
" ============================================================================
" NERDTree 
nnoremap <silent> <F6> :NERDTreeToggle<CR>
"nnoremap <silent> <F6> :q<CR>
"let NERDTreeWinPos='left'
"let NERDTreeWinSize=25
"let NERDChristmasTree=1

" Taglist
nnoremap <silent> <F5> :TlistToggle<CR>
let Tlist_Ctags_Cmd = 'ctags'
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
let Tlist_File_Fold_Auto_Close=1
let Tlist_Use_Right_Window=0
let Tlist_Show_Menu=1
"let Tlist_Auto_Open=1

" winManager
let g:NERDTree_title='NERD Tree'
let g:winManagerWindowLayout='NERDTree|TagList'
function! NERDTree_Start()
    exec 'NERDTree'
endfunction

function! NERDTree_IsValid()
    return 1
endfunction

" 用 F4 打开
nmap <F2> :WMToggle<cr>:q<cr>
" 用 ctrl + F4 关闭
nmap <C-F2> :WMToggle<cr>



" MiniBufExplorer
let g:miniBufExplMapCTabSwitchBufs = 1 "Ctrl+Tab 切换文件"
let g:miniBufExplMapWindowNavVim = 1  "<C-h,j,k,l>切换到上下左右的窗口"

" SuperTab
" 0 - 不记录上次的补全方式
" 1 - 记住上次的补全方式,直到用其他的补全命令改变它
" 2 - 记住上次的补全方式,直到按ESC退出插入模式为止
"let g:SuperTabRetainCompletionType=2
" 设置按下<Tab>后默认的补全方式, 默认是<C-P>, 
" 现在改为<C-X><C-O>. 关于<C-P>的补全方式, 
"let g:SuperTabDefaultCompletionType="<C-X><C-O>"

" TxtBrowser
let tlist_txt_settings = 'txt;c:content;f:figures;t:tables'
au BufRead,BufNewFile *.txt setlocal ft=txt

" nerdcommenter
"n\cc : 为光标以下 n 行添加注释
"n\cu : 为光标以下 n 行取消注释
"n\cm : 为光标以下 n 行添加块注释

"=============================================================================
" Platform dependent settings
"=============================================================================

if (has("win32"))

    "-------------------------------------------------------------------------
    " Win32
    "-------------------------------------------------------------------------

    if (has("gui_running"))
        set guifont=Consolas:h12:cANSI
    endif

    " For Viki
    let g:netrw_browsex_viewer="start"

    " For tee
    set shellpipe=2>&1\|\ tee

    " VimTweak
    if (has("gui_running"))
        command -nargs=1 SetAlpha call libcallnr("vimtweak.dll",
            \"SetAlpha", <args>)
        command -nargs=0 TopMost call libcallnr("vimtweak.dll",
            \"EnableTopMost", 1)
        command -nargs=0 NoTopMost call libcallnr("vimtweak.dll",
            \"EnableTopMost", 0)
    endif

else

    "-------------------------------------------------------------------------
    " Linux
    "-------------------------------------------------------------------------

    if (has("gui_running"))
        set guifont=DejaVu\ Sans\ Mono\ 9
    endif

    " For Viki
    let g:vikiHomePage="~/Documents/Viki/index.viki"
    let g:netrw_browsex_viewer="kfmclient exec"

    set makeprg=build

    function Term()
        ConqueTermSplit bash
    endfunction
    command -nargs=0 Term call Term()

endif

采用PyQt5框架与Python编程语言构建图书信息管理平台 本项目基于Python编程环境,结合PyQt5图形界面开发库,设计实现了一套完整的图书信息管理解决方案。该系统主要面向图书馆、书店等机构的日常运营需求,通过模块化设计实现了图书信息的标准化管理流程。 系统架构采用典型的三层设计模式,包含数据存储层、业务逻辑层和用户界面层。数据持久化方案支持SQLite轻量级数据库与MySQL企业级数据库的双重配置选项,通过统一的数据库操作接口实现数据存取隔离。在数据建模方面,设计了包含图书基本信息、读者档案、借阅记录等核心数据实体,各实体间通过主外键约束建立关联关系。 核心功能模块包含六大子系统: 1. 图书编目管理:支持国际标准书号、中国图书馆分类法等专业元数据的规范化著录,提供批量导入与单条录入两种数据采集方式 2. 库存动态监控:实时追踪在架数量、借出状态、预约队列等流通指标,设置库存预警阈值自动提醒补货 3. 读者服务管理:建立完整的读者信用评价体系,记录借阅历史与违规行为,实施差异化借阅权限管理 4. 流通业务处理:涵盖借书登记、归还处理、续借申请、逾期计算等标准业务流程,支持射频识别技术设备集成 5. 统计报表生成:按日/月/年周期自动生成流通统计、热门图书排行、读者活跃度等多维度分析图表 6. 系统维护配置:提供用户权限分级管理、数据备份恢复、操作日志审计等管理功能 在技术实现层面,界面设计遵循Material Design设计规范,采用QSS样式表实现视觉定制化。通过信号槽机制实现前后端数据双向绑定,运用多线程处理技术保障界面响应流畅度。数据验证机制包含前端格式校验与后端业务规则双重保障,关键操作均设有二次确认流程。 该系统适用于中小型图书管理场景,通过可扩展的插件架构支持功能模块的灵活组合。开发过程中特别注重代码的可维护性,采用面向对象编程范式实现高内聚低耦合的组件设计,为后续功能迭代奠定技术基础。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值