您的位置:首页 > 运维架构 > Linux

初涉Linux ----------> 打造自己的 Vim IDE

2015-08-29 20:30 896 查看

一. 开篇前言

  (图片显示越界的话,请刷新)

  装好Ubuntu15.04系统之后呢,玩了玩 Ubuntu,感觉还是很不错的。比windows快,一开机就可以打开你想要的程序,但是在windows下你要等他启动一些必须项才可以正常启用。感觉 Linux 和 MacOs 有得一比。只是在linux下软件会少很多。

  之前写过一篇博文是关于Vim的简单使用,也是从零开始去接触和使用Vim,了解了那篇博文里的命令后,就可以使用vim来高效地完成你的编辑工作了,当然,如果需要到格式的控制,使用vim还是不够的,需要到 markdown 了,如果Vim能加上Markdown的话,那编辑起来堪称完美了吧,哈哈。

  Vim 不仅是“编辑器之神”,而且Vim的插件丰富,完全可以打造成开发环境IDE,接下来就记录一下我的vim,整个过程下来,感觉就像是自己搭建了一个IDE,不错哦。

  本博文可以完成的效果包括:(左侧目录,分割窗口,代码补全,C/C++/Java/Python 的编译运行/语法补全/Tagbar[右侧大钢导航])

  Vim作为IDE,可以达到的效果,先来解解馋:



"-----------------------------------基本------------------------------------
"处理未保存或只读文件时,弹出确认
set confirm

"自动保存
set autowrite

"历史记录数
set history=1000

"编码设置
set fenc=utf-8
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2313,cp936

"语法高亮
if has("syntax")
syntax on
endif

"设置配色方案
colorscheme ron
"设置行号
set nu

"设置缩进
set tabstop=4
set sts=4
set smartindent
set expandtab
set softtabstop=4
set shiftwidth=4

"设置自动格式化 解决复制代码过来的时候出现格式混乱
"shift +v 开头
"shift +g 结尾
"==
"格式化全文: gg=G

"自动缩进当前行: ==

"set formatoptions=tcrqn

"设置括号配对情况
set showmatch
set matchtime=2

"设置没有自动备份
set noswapfile
set nobackup

"设置纵向虚线对齐

"底部显示光标的位置的状态行
set ruler

"设置查找
"搜索模式忽略大小写
set ignorecase
"如果搜索模式包含大小写则不适用ignorecase
set smartcase
"禁止搜索到文件两端时重新搜索
set nowrapscan
"高亮显示搜索到的文本
set hlsearch
"逐字符高亮
set incsearch
"使用鼠标
"按住 shift 才由鼠标右键处理操作
set mouse=a

"和系统共用剪贴板
set clipboard+=unnamed

"突出显示当前行
set cursorline

"开启折叠,并设置空格来开关折叠
set foldenable
set foldmethod=syntax
set foldcolumn=0
setlocal foldlevel=1
set foldclose=all
nnoremap <space> @=((foldclosed(line('.'))<0)?'zc':'zo')<CR>
"搜索和undo时不展开设置好的折叠
set foldopen-=search
set foldopen-=undo

"----------------------------------插件-------------------------------------
"侦测文件类型
filetype on
"载入插件
filetype plugin on
"为特定文件类型载入相关缩进文件
filetype indent on

"------------Pyghon----------------
let g:pydiction_location='~/.vim/after/ftplugin/pydiction/complete-dict'

"配置vundle
set nocompatible
"filetype off
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()

"安装插件
"Bundle 'Valloric/YouCompleteMe'
Bundle 'The-NERD-tree'
Bundle 'The-NERD-Commenter'
map <C-n> :NERDTreeToggle<CR>

"命令
"BundleList
"BundleInstall
"BundleClean

"--------------------------------编译与运行---------------------------------

"-------------Java---------------

func! CompileJava()
exec "!javac %"
endfunc

func! CompileCode()
exec "w"
if &filetype == "java"
exec "call CompileJava()"
endif
endfunc

func! RunResult()
exec "w"
if &filetype =="java"
exec "!java %<"
endif
endfunc
map <F4> :call CompileCode()<CR>
map <F5> :call RunResult()<CR>

"-------------Python-------------
map <F7> :w<cr>:!python %<cr>

"--------------C++---------------

map <F6> :call CompileRunGpp()<CR>
func! CompileRunGpp()
exec "w"
exec "!g++ % -o %<"
exec "! ./%<"
endfunc

"---------------C----------------

map <F3> :call CompileRunGcc()<CR>
func! CompileRunGcc()
exec "w"
exec "!gcc % -o %<"
exec "! ./%<"
endfunc

"--------------------------------------------------------------------------
"set ignorecase " Do case insensitive matching
"set smartcase " Do smart case matching
"set incsearch " Incremental search
"set autowrite " Automatically save before commands like :next and :make
"set hidden " Hide buffers when they are abandoned
"set mouse=a " Enable mouse usage (all modes)

" Source a global configuration file if available

if filereadable("/etc/vim/vimrc.local")
source /etc/vim/vimrc.local
endif


View Code

[b]  Tagbar右侧导航,

可以像IDE一样显示类的结构 变量等

  既然是做IDE,那要是能把类视图,右侧可以显示tagbar就更好啦,这样就可以更清晰地了解程序的架构,在插件仿佛的vim里,的确存在这样一个插件,可以实现我们想要的功能,接下来就来安装这个插件:

    先安装依赖库:sudo apt-get install ctags

    仍然使用vundle来安装插件:

      参照上面的方法,在.vimrc里加上 Bundle 'majutsushi/tagbar'

      保存退出后再次进入vim,输入:BundleInstall来安装,装完后输入:BundleList就可以看到已经安装的插件了。

    顺便映射一个快捷键吧,在刚才的代码下添加:

      map <F9> :TagbarToggle<CR>
      " 启动自动focus
      let g:tagbar_autofocus = 1

  


四. 总结

  折腾了几天,虽然最终也基本达到了想要的效果,但是却浪费了不少时间,建议还是用现成的IDE吧,功能齐全,安装方便简单,至少不费心费力啊!!!

  我现在的vim图:



  期待各位的交流和指导!

  我的vimrc:http://files.cnblogs.com/files/tianjintou/vimrc.zip

  博文参考:

http://vim.wikia.com/wiki/Use_Vim_like_an_IDE

http://www.wklken.me/archives.html

http://www.open-open.com/lib/view/open1429884437588.html

http://blog.chinaunix.net/uid-24567872-id-3425929.html

https://github.com/wklken/k-vim

http://www.wklken.me/posts/2013/06/11/linux-my-vim.html#_6

易水博客:

http://easwy.com/blog/archives/advanced-vim-skills-catalog/

Vimer的程序世界

http://www.vimer.cn/

vimrc配置文件

http://blog.csdn.net/rumswell/article/details/9332327#t0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: