本人的 $vim$ 配置, 仅供参考

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 基础设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set nocompatible         " 设置不兼容原始vi模式
filetype on              " 设置开启文件类型侦测
filetype plugin on       " 设置加载对应文件类型的插件
set noeb                 " 关闭错误的提示 syntax enable            " 开启语法高亮功能
syntax on                " 自动语法高亮
set t_Co=256             " 开启256色支持
let g:rehash256 = 1
color molokai
packadd termdebug        " 开启Termbug调试
set cmdheight=2          " 设置命令行的高度
set showcmd              " select模式下显示选中的行数
set ruler                " 总是显示光标位置
set laststatus=2         " 总是显示状态栏
set number               " 开启行号显示
set cursorline           " 高亮显示当前行
highlight CursorLine   cterm=NONE ctermbg=black guibg=NONE guifg=NONE
                         " 高亮显示当前行具体设置
set cursorcolumn
highlight Cursorcolumn   cterm=NONE ctermbg=black guibg=NONE guifg=NONE
set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ [%{(&fenc==\"\"?&enc:&fenc).(&bomb?\",BOM\":\"\")}]\ %c:%l/%L%)
                         " 设置状态行显示的信息
set whichwrap+=<,>,h,l   " 设置光标键跨行
set ttimeoutlen=0        " 设置<ESC>键响应时间
set mouse=a              " 开启鼠标支持
set backspace=indent,eol,start
                         " 允许删除换行符
set hidden               " 文件未保存时切换缓冲区由vim保存
set display=lastline     " 避免折行后某一行不见
set fillchars=vert:\ ,stl:\ ,stlnc:\
                         " 在分割窗口间留出空白
set autochdir            " 移至当前文件所在目录
set wildmenu             " 开启zsh支持
set wildmode=full        " zsh补全菜单

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 快捷键设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
let mapleader = "`"      " 定义<leader>键
nnoremap <c-h> <c-w>h
nnoremap <c-l> <c-w>l
nnoremap <c-j> <c-w>j
nnoremap <c-k> <c-w>k
                         " 窗口切换
inoremap <Up> <Nop>
inoremap <Left> <Nop>
inoremap <Right> <Nop>
inoremap <Down> <Nop>
                         " 使方向键无效(适应vim)

inoremap { {<CR>}<ESC>kA

nnoremap j gj
nnoremap gj j
nnoremap gk k
nnoremap k gk
                         " 移动对应屏幕行

map <leader>1 :call Compile()<CR>
func! Compile()
    exec ‘w‘
    exec ‘!g++ -g -Wall -lm % -o %< -O2‘
endfunc

map <leader>2 :call Run()<CR>
func! Run()
    exec ‘!time ./%<‘
endfunc

map <leader>3 :call Divide()<CR>
func! Divide()
    exec ‘vsp %<.out‘
    exec ‘w‘
    exec ‘vertical resize -40‘
    exec ‘sp %<.in‘
    exec ‘w‘
endfunc

map <leader>4 <C-w>h:wq<CR>:wq<CR>

map zz zf%
map zx zd

map <c-n> :call SetTitle()<CR>

map <F3> :NERDTreeToggle<CR>
                         " F3开启目录树nerdtree插件

map <F5> :Termdebug %<<CR>

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 代码缩进和排版
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set cindent              " 设置使用C/C++语言的自动缩进方式
set cinoptions+=(0,:0,g0
                         " N-s设置C/C++语言的具体缩进方式
set smartindent          " 智能的选择对其方式
filetype indent on       " 自适应不同语言的智能缩进
set tabstop=4            " 设置编辑时制表符占用空格数
set shiftwidth=4         " 设置格式化时制表符占用空格数
set softtabstop=4        " 设置4个空格为制表符
set smarttab             " 在行和段开始处使用制表符
set backspace=2          " 使用回车键正常处理indent,eol,start等
set sidescroll=10        " 设置向右滚动字符数
set fdm=marker
set history=2000         " 历史ex命令记录上限提高
set scrolloff=6          " 上下可视行数
set showmatch            " 高亮显示匹配括号
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 搜索设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set hlsearch            " 高亮显示搜索结果
set incsearch           " 开启实时搜索功能
set ignorecase          " 搜索时大小写不敏感
set nowrapscan          " 搜索到文件两端停止
set incsearch           " 实时搜索

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 缓存设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set nobackup            " 设置不备份
set noswapfile          " 禁止生成临时文件
set autoread            " 文件在vim之外修改过,自动重新读入
set autowrite           " 设置自动保存
set confirm             " 在处理未保存或只读文件的时候,弹出确认

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 编码设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set langmenu=zh_CN.UTF-8
set helplang=cn
set termencoding=utf-8
set encoding=utf8
set fileencodings=utf8,ucs-bom,gbk,cp936,gb2312,gb18030

"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 插件列表
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

Plugin ‘VundleVim/Vundle.vim‘                    " 使用Vundle的必须配置
Plugin ‘chxuan/vimplus-startify‘                 " 启动界面
Plugin ‘scrooloose/nerdtree‘                     " 目录树
Plugin ‘tiagofumo/vim-nerdtree-syntax-highlight‘ " 目录树美化
Plugin ‘vim-airline/vim-airline‘                 " 状态栏美化
Plugin ‘vim-airline/vim-airline-themes‘          " 状态栏美化主题
Plugin ‘tpope/vim-commentary‘                    " 快速注释
Plugin ‘w0rp/ale‘                                " 语法查错
Plugin ‘Lokaltog/vim-easymotion‘                 " 快速跳转
Plugin ‘luochen1990/rainbow‘                     " 彩虹括号
Plugin ‘yianwillis/vimcdoc‘                      " HELP文档中文
Plugin ‘suan/vim-instant-markdown‘               " markdown 实时预览
Plugin ‘vim-scripts/taglist‘

call vundle#end()
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 插件设置
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" airline 设置
if filereadable(expand($HOME . ‘/.vimrc.airline‘))
    source $HOME/.vimrc.airline
endif

" rainbow
let g:rainbow_active = 1

" Nerdtree设置
if filereadable(expand($HOME . ‘/.vimrc.nerdtree‘))
    source $HOME/.vimrc.nerdtree
endif
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 新文件标题
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
autocmd BufNewFile *.cpp exec ":call SetTitle()"
func! SetTitle()
    if &filetype==‘cpp‘
        call append(0,"/**********************************************************")
        call append(1," * Author        : EndSaH")
        call append(2," * Email         : [email protected]")
        call append(3," * Created Time  : ".strftime("%Y-%m-%d %H:%M"))
        call append(4," * FileName      : ".expand("%:t"))
        call append(5," * *******************************************************/")
        call append(6,"")
        call append(7,"#include <cstdio>")
        call append(8,"#include <cctype>")
        call append(9,"")
        call append(10,"#define file")
        call append(11,"")
        call append(12,"class Fast_IO")
        call append(13,"{")
        call append(14,"    enum { MAX = 10000000 };")
        call append(15,"")
        call append(16,"    char *ipos, *iend, *opos, *oend, *stkpos;")
        call append(17,"    char ibuf[MAX], obuf[MAX], stk[40]; ")
        call append(18,"")
        call append(19,"public :")
        call append(20,"    Fast_IO()")
        call append(21,"    {")
        call append(22,"        ipos = iend = ibuf;")
        call append(23,"        opos = obuf, oend = obuf + MAX;")
        call append(24,"        stkpos = stk;")
        call append(25,"    }")
        call append(26,"")
        call append(27,"    ~Fast_IO()")
        call append(28,"    {")
        call append(29,"        fwrite(obuf, 1, opos - obuf, stdout);")
        call append(30,"    }")
        call append(31,"")
        call append(32,"    char Getchar()")
        call append(33,"    {")
        call append(34,"        return ipos == iend and (iend = (ipos = ibuf) + fread(ibuf, 1, MAX, stdin), ipos == iend) ? EOF : *ipos++;")
        call append(35,"    }")
        call append(36,"")
        call append(37,"    void Putchar(char c)")
        call append(38,"    {")
        call append(39,"        if(opos == oend)")
        call append(40,"        {")
        call append(41,"            fwrite(obuf, 1, MAX, stdout);")
        call append(42,"            opos = obuf;")
        call append(43,"        }")
        call append(44,"        *opos++ = c;")
        call append(45,"    }")
        call append(46,"")
        call append(47,"    Fast_IO& operator>>(int& num)")
        call append(48,"    {")
        call append(49,"        register char c;")
        call append(50,"        register int flag = 1;")
        call append(51,"        num = 0;")
        call append(52,"        while(!isdigit(c = Getchar()))")
        call append(53,"            if(c == ‘-‘)")
        call append(54,"                flag = -1;")
        call append(55,"        while(num = (num << 3) + (num << 1) + (c ^ 48), isdigit(c = Getchar()));")
        call append(56,"        num *= flag;")
        call append(57,"        return *this;")
        call append(58,"    }")
        call append(59,"")
        call append(60,"    Fast_IO& operator<<(int num)")
        call append(61,"    {")
        call append(62,"        if(num < 0)")
        call append(63,"        {")
        call append(64,"            Putchar(‘-‘);")
        call append(65,"            num = -num;")
        call append(66,"        }")
        call append(67,"        do")
        call append(68,"        {")
        call append(69,"            *++stkpos = num % 10 ^ 48;")
        call append(70,"            num /= 10;")
        call append(71,"        } while(num);")
        call append(72,"        while(stkpos != stk)")
        call append(73,"            Putchar(*stkpos--);")
        call append(74,"        return *this;")
        call append(75,"    }")
        call append(76,"")
        call append(77,"    Fast_IO& operator<<(char c)")
        call append(78,"    {")
        call append(79,"        Putchar(c);")
        call append(80,"        return *this;")
        call append(81,"    }")
        call append(82,"} wib;")
        call append(83,"")
        call append(84,"int main()")
        call append(85,"{")
        call append(86,"#ifdef file")
        call append(87,"#endif")
        call append(88,"}")
        normal 87G
    endif
endfunc
autocmd BufNewFile * normal Gdd14Gzz87G

原文地址:https://www.cnblogs.com/EndSaH/p/9916845.html

时间: 2024-10-29 09:40:49

本人的 $vim$ 配置, 仅供参考的相关文章

Django开发的简单CMDB系统(仅供参考)

自己基于django开发的一个简单机房机柜CMDB系统,仅供参考.欢迎在下面留言,提出修改意见. 可实现增删改查. 权限未做,很多功能都没做,只做一个最基本的,初学. 前端模板用的inspinia2.5,和jumpserver用的一样的模块,所以看着差不多.模板可自行百度搜索. 放到pycharm或者linux环境下,配置好,运行就可以. domo 登录:http://42.62.6.54:8001/index.html  ,默认用户名hequan,密码123456. 下载链接:http://p

Ubuntu 12.04 分区方案(仅供参考)

Ubuntu 12.04 分区方案(仅供参考) 总空间大小:50G 目录 建议大小 实际大小 格式 描述 / 10G~20G 10G ext4 根目录 swap <2048M 1G swap 交换空间 /boot 200M左右 100M ext4 Linux的内核及引导系统程序所需要的文件,比如 vmlinuz initrd.img文件都位于这个目录中.在一般情况下,GRUB或LILO系统引导管理器也位于这个目录:启动撞在文件存放位置,如kernels,initrd,grub. /tmp 5G左

四套写入方案(仅供参考)

四套写入方案 第一套:字节流读取写入方案 FileInputStream :字节流方式读取文本文件 FileOutputStream:字节流写入硬盘 第二套:字符流读取写入方案 FileReader:字符流读取文本 FileWriter:字符流写入文本 第三套: BufferedReader:自定义缓存大小 BufferedWriter:写入文本 一般和FileReader和FileWriter结合使用 第四套:可以读取二进制(img图片等 ) DataInputStream:将本地的img加载

信息与通信工程——重要国际学术会议和国际顶级期刊(仅供参考)

一.信息与通信工程的重要国际学术会议 主要包含两类: A类会议:本学科最顶尖级水平的国际会议: B类会议:学术水平较高.组织工作成熟.按一定时间间隔系列性召开的国际会议. A类会议(序号不表示优先顺序) 序号 / 英文名称 / 英文简称 / 中文名称 / 备注 1.IEEE International Conference on Acoustics, Speech and Signal Processing /  ICASAP /     IEEE 声学.语音和信号处理国际会议 2.IEEE I

Unity上一页下一页切换功能实现源码(仅供参考)

在做项目时我们有时需要实现切换上一页下一页图片,切换上一首下一首歌曲等等类似的功能.这里写了个简单的实现源码(仅供参考),要是有更好的方法欢迎提出来,共同进步~ 以切换上一页下一页图片为例: using UnityEngine; using System.Collections; using UnityEngine.UI; public class PanoramaManager : MonoBehaviour { //图片存放数组 Texture2D[] arr; //下一张按钮计数索引 in

开发问题---数据库字段前出现“—”(保存留用,仅供参考)

开发时数据调用往往会用到占位符,然而刚开始使用很容易碰见sql语句在SQLServer中查询时显示"-",如下代码: #region 先判断是否有记录,再确定使用哪条命令 //查询数据库 20140713 commandText = "use zzbjcdzz select *" + "from [T_VillageBasicInfo] " + "where ltrim(rtrim([code]))='{0}' "; //注意

如何有效防止DEDE织梦系统被挂木马安全设置(仅供参考)

尊敬的客户,您好!     感谢广大客户对我司工作的信任和支持!      我司在最近的一个多月内陆续发现多起因 DedeCMS 安全漏洞造成网站被上传恶意脚本的事件,入侵者可利用恶意脚本对外发送大量数据包,严重占用CPU资源与服务器带宽,影响极为恶劣.为保证服务稳定,即日起一旦发现网站存在此类恶意脚本,我们将立即暂停该网站的服务直到问题修复.如果您正在使用 DedeCMS,请立即检查是否已经存在恶意脚本,并更新程序到最新版本或应用相关补丁.     迄今为止,我们发现的恶意脚本文件有    

mysql 千万级数据查询效率实践,分析 mysql查询优化实践--本文只做了一部分,仅供参考

数据量, 1300万的表加上112万的表 注意: 本文只做了部分优化,并不全面,仅供参考, 欢迎指点. 请移步tim查看,因为写的时候在tim写的,粘贴过来截图有问题,就直接上链接了. https://823948977.docs.qq.com/T5e6dBYLoZz?opendocxfrom=tim 文章内容类似截图:

单相变频电源的功能特点--深圳市中港扬盛仅供参考

变频电源的种类分为单相和三相变频,其在电压及功率上都有不同的作用和特点.今天大家分享的是关于中港扬盛的单相变频电源的一些特点: 1.能够有效的抗干扰作用:比如通过Y/△接线的隔离后,就能够阻止一部分谐波的传输:2.能够阻抗变换作用:主要是增加系统阻抗,这样就能使保护装置等容易配合:3.能够稳定系统电压的作用:比如像在启动大负荷设备的时候,能够减少启动时大电流对系统电压的影响:4.能够防止系统接地的作用:当隔离负荷侧发生单相接地时,不会造成整个系统单相接地:5.能够降低短路电流:当负荷侧发生短路事