本文共 3270 字,大约阅读时间需要 10 分钟。
对大多的开发者来说,vi是一个好用的代码编辑器。
它可以在linux中默认安装,也就是说,在你的linux中如果没有其他的编译器,那vi就是你最后的港湾。 但是有些人觉得vi的功能少了点,所以他们给vi增加了许多的插件来实现多种功能 ,例如光标的位置显示,状态栏的显示,缩进格式,一键编译运行等等。 我的使用理念是尽量减少插件的影响,用基本的编辑器也能较好写出质量不错的代码。所以对于vi的升级版,vim来说,我只增加了一些基本功能,和一个函数跳转man手册的插件,这样可以提升效率。 毕竟在代码编写的过程中需要查看man手册,使用跳转,不能分屏。或者自己开另一个终端,所以我觉得不如找到一个插件可以直接从函数跳转到man。 我们要注意的是需要先安装一个vim,还需要一个vim的插件 Vundle至于安装的代码,我在下方给出,需要一句一句执行
有些功能,我使用了 " 注释掉了,如果你需要,可以自行去掉 ” 来使用它
配置代码来源网络; 安装 vimsudo apt-get install vim
安装 git
sudo apt-get install git
运行这段代码,等待它结束
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
然后运行
vi ~/.vimrc
或者
gedit ~/.vimrc
复制以下代码到 .vimrc里
set nocompatible " 去除VI一致性,必须filetype off " 必须" 设置包括vundle和初始化相关的runtime pathset rtp+=~/.vim/bundle/Vundle.vimcall vundle#begin()" 另一种选择, 指定一个vundle安装插件的路径"call vundle#begin('~/some/path/here')" 让vundle管理插件版本,必须Plugin 'VundleVim/Vundle.vim'" 以下范例用来支持不同格式的插件安装." 请将安装插件的命令放在vundle#begin和vundle#end之间." Github上的插件" 格式为 Plugin '用户名/插件仓库名'Plugin 'tpope/vim-fugitive'" 来自 http://vim-scripts.org/vim/scripts.html 的插件" Plugin '插件名称' 实际上是 Plugin 'vim-scripts/插件仓库名' 只是此处的用户名可以省略Plugin 'L9'" 由Git支持但不再github上的插件仓库 Plugin 'git clone 后面的地址'Plugin 'git://git.wincent.com/command-t.git'" 本地的Git仓库(例如自己的插件) Plugin 'file:///+本地插件仓库绝对路径'Plugin 'file:///home/gmarik/path/to/plugin'" 插件在仓库的子目录中." 正确指定路径用以设置runtimepath. 以下范例插件在sparkup/vim目录下Plugin 'rstacruz/sparkup', { 'rtp': 'vim/'}" 安装L9,如果已经安装过这个插件,可利用以下格式避免命名冲突Plugin 'ascenator/L9', {'name': 'newL9'}Plugin 'vim-utils/vim-man'" 你的所有插件需要在下面这行之前call vundle#end() " 必须filetype plugin indent on " 必须 加载vim自带和插件相应的语法和文件类型相关脚本" 忽视插件改变缩进,可以使用以下替代:"filetype plugin on"" 简要帮助文档" :PluginList - 列出所有已配置的插件" :PluginInstall - 安装插件,追加 `!` 用以更新或使用 :PluginUpdate" :PluginSearch foo - 搜索 foo ; 追加 `!` 清除本地缓存" :PluginClean - 清除未使用插件,需要确认; 追加 `!` 自动批准移除未使用插件" 将你自己对非插件片段放在这行之后"设置编码,中文不乱码set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936set termencoding=utf-8set encoding=utf-8"显示行号set number"突出显示当前行set cursorline"突出当前列"set cursorcolumn"启用鼠标"set mouse=aset selection=exclusiveset selectmode=mouse,key"显示括号匹配set showmatch"设置缩进set tabstop=4"设置自动缩进长度为4空格set shiftwidth=4"继承前一行的缩进方式set autoindent"设置粘贴模式set paste"显示空格和tab键"set listchars=tab:>-,trail:-"显示状态栏set laststatus=2" 我的状态行显示的内容(包括文件类型和解码) set statusline=%F%m%r%h%w\ [FORMAT=%{ &ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{ strftime(\"%d/%m/%y\ -\ %H:%M\")} "set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%] "显示光标当前位置set ruler"打开文件类型检测filetype plugin indent on"vim配置立即生效autocmd BufWritePost $MYVIMRC source $MYVIMRC"语法高亮set syntax=on"搜索忽略大小写set ignorecase"C的编译和运行 map:call CompileRunGcc() func! CompileRunGcc() exec "w" exec "!gcc % -o %<" exec "! ./%<" endfunc " C++的编译和运行 map :call CompileRunGpp() func! CompileRunGpp() exec "w" exec "!g++ % -o %<" exec "! ./%<" endfuncnmap m :Man =expand(" ") nmap vm :Vman =expand(" ")
然后保存,退出
执行这句代码vim +PluginInstall +qall
或者,在vim的底行模式中输入以下代码
:PluginInstall
在之后自动进入安装,过程可能有点长,耐心等待,当界面回到Bash或者vim时
就是完成了,再次进入到vim就可以光标移动到函数上,在底行模式按m,可以上下分屏显示man手册,或者按 v+m 这两个按键,可以左右分屏显示man手册。 在底行模式下使用 ctrl + w + w 这三个按键可以在分屏之间跳转。其他的分屏操作可以在网上寻找,后期我会写一篇有关这方面的博客。
转载地址:http://rkewi.baihongyu.com/