`
paddy.w
  • 浏览: 497546 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

vim配置(不定时更新)

    博客分类:
  • Vim
阅读更多
"判定当前操作系统类型
if has("win32")||has("win95")||has("win64")||has("win16")
    let g:iswindows=1
else
    let g:iswindows=0
endif

set t_Co=256
set rtp+=~/.vim/bundle/vundle/,~/.vim/bundle/vim-golang/

"=========================================
"vim配置设置
"=========================================

"取消vi兼容
set nocompatible

"将底色设置为淡绿色
"highlight Normal guibg=#CCE8CF

"设置字体
set guifont=Monaco

"允许退格键使用
set backspace=indent,eol,start whichwrap+=<,>,[,]

"禁止备份
set nobackup

"显示行号
set number

"实时匹配搜索文本
set incsearch

"搜索时高亮现实被找到的文本
set hlsearch

"magic模式:除了$.*^之外其他元字符都要加反斜杠
set magic

"开启新行时使用智能自动缩进
set smartindent

"编辑过程中,右下角显示光标位置
set ruler

"自动检测文件类型并加载相应插件以及缩进
filetype plugin indent on

"关于缩进的相关说明
"shiftwidth(缩进的空格数)
"tabstop(制表符的宽度,只是把制表符的缩进量给改了,还是一个tab,所以跨平台时依旧会出现不一致)
"expandtab(是否在缩进和遇到Tab键时使用空格替代,主要是保证跨平台时缩进的一致性;使用noexpandtab取消设置)
"softtabstop(软制表符宽度,设置为非零数值后使用Tab键和Backspace时光标移动的格数等于该数值,但实际插入的字符仍受tabstop和expandtab控制)
"autoindent(自动缩进,即每行的缩进值与上一行相等;使用noautoindent取消设置)
set tabstop=8
set softtabstop=4
set shiftwidth=4
set expandtab

"设置显示编码
set enc=utf-8

"设置打开文件编码
set fencs=utf-8,GB18030

"设置开启语法高亮
syntax on

"设置leader键
let mapleader = ","

"智能补全
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd FileType php set omnifunc=phpcomplete#CompletePHP
autocmd FileType c set omnifunc=ccomplete#Complete
autocmd FileType java set omnifunc=javacomplete#Complete

"F2显示或隐藏菜单栏
set guioptions-=m
set guioptions-=T
map <silent> <F2> :if &guioptions =~# 'T' <Bar>
        \set guioptions-=T <Bar>
        \set guioptions-=m <bar>
    \else <Bar>
        \set guioptions+=T <Bar>
        \set guioptions+=m <Bar>
    \endif<CR>

"=================================
"vim按键映射
"=================================

"映射按键:剪切版、全选,系统有效
vmap <C-c> "+y
vmap <C-x> "+x
nmap <C-v> "+gP
vmap <C-v> "+gP
nmap <C-a> ggVG

"某些terminal下的vim alt key映射需要转成^[的形式
"ctrl+v ESC即可输入^[
if has("gui_running")
    "智能补全
    imap <M-/> <C-X><C-N>
    "insert模式下将光标移动到行尾
    imap <M-;> <Esc><S-a>
    "insert模式下的光标的左右移动
    imap <M-h> <Left>
    imap <M-l> <Right>
    imap <M-k> <up>
    imap <M-j> <down>
else
    "智能补全
    imap ^[/ <C-X><C-N>
    "insert模式下将光标移动到行尾
    imap ^[; <Esc><S-a>
    "insert模式下的光标的左右移动
    imap ^[h <Left>
    imap ^[l <Right>
    imap ^[k <up>
    imap ^[j <down>
endif

"运行Python脚本的按键映射
map <F12> :!"python" %<CR>

"运行gcc编译
"在windows下配置,则需要在%<后面加上.exe
func Compile()
exec "w"
"C程序
if &filetype == 'c'
exec "!gcc -Wall -std=c99 % -g -lm -o %<"
"c++程序
elseif &filetype == 'cpp'
exec "!g++ -Wall -enable-auto-import  % -g -lm -o %<"
"Java程序
elseif &filetype == 'java'
exec "!javac %"
endif
endfunc
"结束定义Compile

"定义Run函数
"./是当前目录,在windows下会报错
func Run()
if &filetype == 'c' || &filetype == 'cpp'
exec "!./%<"
elseif &filetype == 'java'
exec "!java %<"
elseif &filetype == 'go'
exec "!go run %"
endif
endfunc
"结束定义Run

"运行gcc编译并执行
"在windows下配置,则需要在%<后面加上.exe
func CompileRun()
exec "w"
"C程序
if &filetype == 'c'
exec "!gcc -Wall -std=c99 % -g -lm -o %<"
exec "!./%<"
"c++程序
elseif &filetype == 'cpp'
exec "!g++ -Wall -enable-auto-import  % -g -lm -o %<"
exec "!./%<"
"Java程序
elseif &filetype == 'java'
exec "!javac %"
exec "!java %<"
"Go程序
elseif &filetype == 'go'
exec "!go run %"
endif
endfunc
"结束定义CompileRun

"定义Debug函数,用来调试程序
func Debug()
exec "w"
"C程序
if &filetype == 'c'
exec "!gcc -std=c99 % -g -lm -o %<"
exec "!gdb %<"
elseif &filetype == 'cpp'
exec "!g++ % -g -lm -o %<"
exec "!gdb %<"
"Java程序
elseif &filetype == 'java'
exec "!javac %"
exec "!jdb %<"
endif
endfunc
"结束定义Debug
"设置程序的运行和调试的快捷键
map <F9> :call Compile()<CR>
map <F10> :call Run()<CR>
map <F11> :call Debug()<CR>
map <F12> :call CompileRun()<CR>

"==================================
"ctags配置
"==================================
"当前目录找不到tag元文件,则向上查找
set tags=tags;
"设置当前目录为当前打开文件所在目录
set autochdir

"==================================
"taglist配置
"==================================

"不同时显示多个文件的tag,只显示当前文件的
let Tlist_Show_One_File=1
"如果taglist窗口是最后一个窗口,则退出vim
let Tlist_Exit_OnlyWindow=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

"映射WinManager快捷键,在normal模式下按mt,控制开启和关闭
"nmap <silent> mt :WMToggle<CR>
nmap <silent> mt :if IsWinManagerVisible() <BAR> WMToggle<CR> <BAR> else <BAR> WMToggle<CR>:q<CR> endif <CR>
"设置WinManager宽度
let g:winManagerWidth = 40

"在进入vim时自动打开winmanager,打开=1,关闭=0
let g:AutoOpenWinManager = 0

"==================================
"Grep配置
"==================================

"直接按下<F3>键来查找光标所在的字符串:Grep插件
nnoremap <silent> <F3> :Rgrep<CR>

"=================================
"MiniBufExplorer配置
"=================================

"使用<C-Tab>向前循环切换到每个buffer上,并在当前窗口打开。<C-S-Tab>向后循环
"let g:miniBufExplMapCTabSwitchBufs = 1
"If you use other explorers like TagList you can
"let g:miniBufExplModSelTarget = 1

"关闭标签页
map <leader>c :CMiniBufExplorer<cr>

"=================================
"autocomplpop
"=================================

"acp是否自动开启,1=yes,0=no
let g:acp_enableAtStartup = 0

"mappigDriven防止单纯的鼠标移动造成搜索
let g:acp_mappingDriven = 1

"=================================
"neocomplcache配置
"=================================

"source neocomplcache.conf

"=================================
"vundle配置
"=================================

call vundle#rc()

Bundle 'gmarik/vundle'

"Bundle 'vim-plugin-foo'
"Bundle 'vim-plugin-bar'

Bundle 'Auto-Pairs'
Bundle 'bufexplorer.zip'
Bundle 'ctags.vim'
Bundle 'taglist.vim'
Bundle 'winmanager--Fox'
Bundle 'The-NERD-tree'
Bundle 'neocomplcache'
Bundle 'minibufexpl.vim'
Bundle 'https://github.com/abra/obsidian2.git'
Bundle 'https://github.com/bradfitz/goimports.git'
Bundle 'cespare/vim-golang'

colorscheme obsidian2
autocmd BufWritePre *.go :Fmt
分享到:
评论
3 楼 loovejava 2012-12-16  
paddy.w 写道
loovejava 写道
兄弟,下载你的插件,运行你上面的那段的vim配置文件,结果,提示很好,但是出现很多问题,VIM不能使用了.
配置文件运行后,大批段的语法错误..

环境危在旦夕。。帮忙..Q --877781132

看到联系。
多谢

不好意思啊,没什么写的就很长时间没来了。不知道你问题解决了没有 我现在用的就是上面的配置信息,我配好了之后就很久没改动过了。如果有什么疑问加我qq:119939729



==============================================
问题错误码如下:


sanbo@ubuntu:~/test$ vim hello.cpp
处理 /home/sanbo/.vim/plugin/winmanager.vim 时发生错误:
第 1321 行:
E121: 未定义的变量: g:AutoOpenWinManager
E15: 无效的表达式: g:AutoOpenWinManager
请按 ENTER 或其它命令继续
2 楼 paddy.w 2012-09-16  
loovejava 写道
兄弟,下载你的插件,运行你上面的那段的vim配置文件,结果,提示很好,但是出现很多问题,VIM不能使用了.
配置文件运行后,大批段的语法错误..

环境危在旦夕。。帮忙..Q --877781132

看到联系。
多谢

不好意思啊,没什么写的就很长时间没来了。不知道你问题解决了没有 我现在用的就是上面的配置信息,我配好了之后就很久没改动过了。如果有什么疑问加我qq:119939729
1 楼 loovejava 2012-09-01  
兄弟,下载你的插件,运行你上面的那段的vim配置文件,结果,提示很好,但是出现很多问题,VIM不能使用了.
配置文件运行后,大批段的语法错误..

环境危在旦夕。。帮忙..Q --877781132

看到联系。
多谢

相关推荐

    Linux服务器配置与管理:Vim基础.pptx

    掌握: Vim文本编辑器界面快捷键 【能力目标】 会初步使用Vim文本编辑器 【思政目标】 在克服学习困难中培养学生良好的意志品质 ,树立学习自信心,提升自学能力。 vi(visual interface)是Linux和UNIX中功能最为...

    Linux Windows下设置定时执行任务的方法

    Linux篇  Linux下创建定时执行任务可使用crontab,系统默认自带crontab,在Ubuntu 16.04下进行演示说明。 1.crontab 基本使用 #/etc/init.d/cron status # 查看状态 ...#sudo vim /etc/rsyslog.d/5

    CTask:基于Flask + apscheduler的定时任务系统

    更新日志 2019-05-07增加一键部署脚本,方便快速预览 2019-01-15增加前端管理页面 2018-11-01提交预设版本代码 快速体验部署[Docker] vim quick_start.sh #配置DB账号信息 bash quick_start.sh 普通部署 一安装依赖...

    linux教程,安装,配置,命令使用。

    linux安装系统,配置网络,修改磁盘,配置yum源,vi等命令操作以及建安案例示范

    CentOS 7.0下nginx实现每天定时分割日志

    nginx配置文件路径:/etc/nginx/nignx.conf, nginx日志文件路径:/var/log/nginx/access.log nignx.pid路径:/run/nginx.pid 新建的定时脚本位置/shell/nginx/logs.sh 1.新建脚本并执行 #mkdir /shell/nignx #cd /...

    Centos8操作系统入门视频.zip

    5-实战-设置服务器来电后自动开机-设置服务器定时开机 第3章-文件系统的管理方法和xfs文件系统备份恢复 1-Linux系统目录结构和相对路径与绝对路径 2-文件的管理 3-查看文件 4-实战-xfs文件系统的备份和恢复-1 5-实战...

    sersync2.5.4.tar.gz

    修改配置文件 vim confxml.xml &lt;localpath watch="/var/www/html"&gt; #本地同步数据目录。 主机ip地址" name="wwwroot"/&gt; #B主机rsync 模块名称 users="B主机/etc/rsyncd.conf配置文件中的auth users值" password...

    zhihu-crawler:徒手实现定时爬取知乎,从中发掘目标的信息,并可视化爬取的数据作网页展示。项目当前正在开发,欢迎前来交流学习!

    徒手实现定时爬取知乎,从中发掘目标的信息,并可视化爬取的数据作网页展示。项目当前正在开发,欢迎前来交流学习! 问题及解决方案 日志程序运行时统一初始化。由于logging应用了单例模式,之后可以直接使用配置好...

    Ubuntu权威指南(2/2)

    5.15.4 检索不包含特定字符 ??串的文本行 129 5.15.5 在grep中使用正则 ??表达式 129 5.15.6 检索元字符本身 131 5.15.7 在命令行中使用引号 131 5.16 排序 132 第6章 编辑文件 133 6.1 启动vim编辑器 134 6.1.1 ...

    Ubuntu权威指南(1/2)

    5.15.4 检索不包含特定字符 ??串的文本行 129 5.15.5 在grep中使用正则 ??表达式 129 5.15.6 检索元字符本身 131 5.15.7 在命令行中使用引号 131 5.16 排序 132 第6章 编辑文件 133 6.1 启动vim编辑器 134 6.1.1 ...

    ScanCVE:监控github上CVE增量,并发送微信通知

    ScanCVE 0.1 这个脚本主要定时扫描github,监控cve的增量情况,如存在增量poc情况,逐步通过微信公众号进行转换。... root# vim conf / info.conf #配置微信公众号信息 root# nohup python ScanCVE.py和 运行截图

    基于C++实现的轻量级Web服务器源码+项目说明.zip

    1.项目代码均经过功能验证ok,确保稳定可靠运行。欢迎下载体验!下载完使用问题请私信沟通。...增加json配置文件,支持类似nginx的多网站配置 提供CGI支持 类似nginx的反向代理和负载均衡 必要时增加可复用内存池。

    大数据linux命令.pdf

    ----不保存⽽强制离开 4.vim快捷键 拷贝当前⾏:yy,拷贝当前⾏向下的5⾏:5yy。粘贴:p。【⼀般模式】 删除当前⾏:dd,删除当前⾏向下的5⾏:5dd 【⼀般模式】 在⽂件中查找某个单词 【命令模式下:/关键字,回车...

    Learning-Notes:学习笔记

    Centos7虚拟机配置网络 SSH Vim与Shell ftp服务vsftpd 代理缓存知识 存储结构与磁盘知识 文件共享 用户身份与权限 管道符、重定向与环境变量 定时任务 邮件系统 防火墙 docker docker基础 docker安装 docker仓库知识...

    docker-base:允许通过 ssh 密钥进行简单 ssh 访问的基本映像

    套餐柏油vim 定时任务获取日志用法简单的docker run -d vinelab/base 坚持使用docker run -i -t --rm vinelab/base bash进行会话主管用户名: vinelab密码: vinelab添加服务要添加要由主管管理的服务,将包含程序...

    Python Requests模拟登录实现图书馆座位自动预约

    配置 通过公网主机定时运行脚本,并发送邮件到自己的qq邮箱,这样在微信就会有消息提示是否预约成功 vim /etc/crontab 设置每到早上7:01自动运行脚本即可 程序流程 (以yuyue.juneberry.cn网站为例) get访问登录...

    Linux学习-开山篇

    vi和Vim编辑器 开机、重启和用户登录注销 用户管理 实用指令 定时任务调度 磁盘分区、挂载 网络配置 进程管理 RPM和YUM 三、Linux 学习方向 3.1 Linux运维工程师 (保障服务器正常运行,故障处理,服务器...

    php网络开发完全手册

    1.6.1 Vi及Vim 20 1.6.2 Eclipse+PHPEclipse插件 21 1.6.3 UltraEdit 21 1.6.4 EditPlus 22 1.6.5 支持PHP的IDE环境 22 1.7 小结 23 第2章 PHP的基础语法 24 2.1 语言构成与工作原理 24 2.2 常量与变量 25 2.2.1 ...

    Linux指令一周通 (技术图书大系).azw3

    7.4 autoreconf指令:更新已经生成的配置文件 7.5 autoscan指令:生成configure.in模板文件 7.6 autoupdate 指令:更新 configure.in文件 7.7 gcc指令:GNU的C和C++编译器 7.8 gdb指令:GNU调试器 7.9 gdbserver指令...

Global site tag (gtag.js) - Google Analytics