`
paddy.w
  • 浏览: 503497 次
  • 性别: 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

看到联系。
多谢

相关推荐

    vim配置的终极配置

    "vim配置的终极配置"这一主题,意味着我们将探讨如何根据个人需求和习惯,对Vim进行深度定制,以达到极致的使用体验。 在Vim中,配置主要通过.vimrc文件实现,这是一个启动时会被读取的脚本文件,用于设置各种选项...

    jeff-vim-read(vim 配置)

    "jeff-vim-read"显然是一款针对Vim配置的工具,旨在优化Vim的使用体验,提升开发效率。 在Vim中,配置文件通常称为`.vimrc`,它位于用户的主目录下。`.vimrc`文件包含了用户自定义的设置、快捷键映射、插件加载等...

    vim的自定义配置文件

    描述中提到的"下载解压后,里面有一个脚本",这可能是一个自动化脚本,用于简化Vim配置的安装过程。通常,这样的脚本会包含以下步骤: 1. **复制或链接`.vimrc`**:将提供的配置文件复制到用户主目录,或者创建一个...

    vim 配置备份

    **vim配置备份详解** 在程序员和系统管理员的世界里,`vim`(Vi IMproved)是一款不可或缺的文本编辑器。它的强大功能和高度可定制性使其成为许多开发者的首选工具。`vim`的配置文件通常位于用户的家目录下,名为`....

    配置VIM环境

    以下是一些常见的VIM配置示例: 1. **颜色方案**:安装并启用一个你喜欢的颜色主题,例如使用`Plug 'chriskempson/base16-vim'`(如果你已安装VIM插件管理器如Vundle或NeoVim的 dein.vim)然后在`~/.vimrc`中添加`...

    vim配置文件

    Vim是一款强大的文本编辑器,深受程序员和系统管理员的喜爱。它的可配置性是其一大亮点,用户可以通过自定义配置文件来优化编辑环境,提高工作效率。...记住,不断学习和优化Vim配置,能让编程体验更加高效愉快。

    vim config v2

    5. **插件管理**:Vim 的插件管理工具如 Vundle 或者 NeoBundle 可以方便地安装和更新插件。".vimrc" 可能包含了这些管理工具的配置,以及推荐的插件列表。 6. **文件类型检测与行为**:通过 `filetype` 和 `...

    vim8:挑战IDE极限屌爆TnT.pdf

    同时,参考高质量的Vim配置文件(vimrc)和相关课程,如《奔跑吧linux内核》的高清视频,可以助你从初学者进阶到高手。 总而言之,Vim 8通过持续改进和强大的社区支持,不仅挑战了IDE的界限,而且提供了一种更为...

    linux服务器配置定时任务教程

    ### Linux服务器配置定时任务教程 #### 一、引言 Linux系统因其稳定性和安全性而被广泛应用于服务器领域。其中,定时任务是Linux服务器管理中一个非常实用的功能,它可以帮助我们自动执行一些周期性的任务,如数据...

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

    Vim并不是一个排版程序,而是专注于文本编辑,尤其是在服务器管理和配置中,它的存在显得尤为重要。 启动Vim编辑器非常简单,只需在命令行输入`vim`后面跟随你要编辑的文件名即可。这将自动进入命令模式,这是Vim的...

    vim-use-backup:自己vim使用与vim配置的一个记录

    **vim-use-backup: 自己vim使用与vim配置的一个记录** `vim-use-backup` 是一个个人关于 Vim 编辑器使用经验与配置记录的项目,主要以 Markdown 格式进行编写,方便阅读和分享。Markdown 是一种轻量级的标记语言,...

    开源项目-vim-vim.zip

    1. **内置异步I/O**:这是Vim 8.0最显著的更新之一,允许在后台执行任务,如文件读写、系统命令和插件更新,而不会阻塞用户界面。 2. **多窗口支持**:除了单个缓冲区外,Vim 8.0支持同时处理多个窗口,便于在同一份...

    Debian10离线安装Cron,Vim

    在IT领域,Linux系统是广泛使用的操作系统之一,而Debian作为Linux的一个稳定分支,深受...安装完成后,你可以通过运行`crontab -e`命令来配置Cron任务,通过`vim`命令启动Vim编辑器,开始你的系统管理和编码工作。

    Linux环境下部署FTP服务器并配置定时对FTP中的文件进行备份.pdf

    Linux 环境下部署 FTP 服务器并配置定时对 FTP 中的文件进行备份 本资源详细介绍了在 Linux 环境下部署 FTP 服务器并配置定时对 FTP 中的文件进行备份的步骤。FTP 服务器是文件传输协议服务器,允许用户通过网络...

    vimrc:我的Vim配置

    `.vimrc`文件是Vim的启动配置文件,它包含了各种命令、映射、选项和设定,使得每次打开Vim时都会按照这些设定运行。 在深入讨论`.vimrc`之前,我们需要了解Vimscript,这是用于编写Vim插件和配置文件的脚本语言。...

    linux下定时执行脚本

    它的配置文件是`crontab`,用户可以通过编辑`crontab`文件来定制自己的定时任务。 要创建定时任务,首先需要打开终端并输入`crontab -e`命令,这会打开一个编辑器(通常是vi或vim)。在编辑器中,你可以按照特定的...

    linux configlinux服务器配置应用 配置文件

    8. `/etc/crontab`:定时任务配置,用于定期执行脚本或命令。 9. `/etc/inittab`(在System V init系统中)或`/etc/systemd/system`(在Systemd系统中):定义系统启动时的运行级别和服务启动顺序。 三、配置文件...

    linux服务器如何每天定时的备份mysql

    vim /root/mysql_backup.sh ``` 2. **编辑脚本内容**: 在脚本中,我们将使用`mysqldump`命令来导出MySQL数据库,并通过`gzip`进行压缩。此外,还需要使用`find`命令来查找并删除旧的备份文件。具体脚本内容如下...

    vim设置

    下面是一些常见的vim配置示例,这些设置将有助于提升你的编程体验: 1. **颜色主题**:通过`colorscheme`命令,你可以选择一个符合个人喜好的颜色主题,例如: ``` colorscheme desert ``` 2. **自动缩进**:...

Global site tag (gtag.js) - Google Analytics