配置linux下的Vim,函数一键跳转man手册,光标显示等

对大多的开发者来说,vi是一个好用的代码编辑器。
它可以在linux中默认安装,也就是说,在你的linux中如果没有其他的编译器,那vi就是你最后的港湾。
但是有些人觉得vi的功能少了点,所以他们给vi增加了许多的插件来实现多种功能
,例如光标的位置显示,状态栏的显示,缩进格式,一键编译运行等等。
我的使用理念是尽量减少插件的影响,用基本的编辑器也能较好写出质量不错的代码。所以对于vi的升级版,vim来说,我只增加了一些基本功能,和一个函数跳转man手册的插件,这样可以提升效率。
毕竟在代码编写的过程中需要查看man手册,使用跳转,不能分屏。或者自己开另一个终端,所以我觉得不如找到一个插件可以直接从函数跳转到man。
我们要注意的是需要先安装一个vim,还需要一个vim的插件 Vundle

至于安装的代码,我在下方给出,需要一句一句执行

有些功能,我使用了 " 注释掉了,如果你需要,可以自行去掉 ” 来使用它
配置代码来源网络;
安装 vim

sudo 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 path
set rtp+=~/.vim/bundle/Vundle.vim
call 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,cp936
set termencoding=utf-8
set encoding=utf-8
"显示行号
set number
"突出显示当前行
set cursorline
"突出当前列
"set cursorcolumn
"启用鼠标
"set mouse=a
set selection=exclusive
set 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 <F5> :call CompileRunGcc()<CR>  
func! CompileRunGcc()  
exec "w"  
exec "!gcc % -o %<"  
exec "! ./%<"  
endfunc  
" C++的编译和运行  
map <F6> :call CompileRunGpp()<CR>  
func! CompileRunGpp()  
exec "w"  
exec "!g++ % -o %<"  
exec "! ./%<"  
endfunc
nmap m :Man <C-R>=expand("<cword>")<CR><CR>
 nmap vm :Vman <C-R>=expand("<cword>")<CR><CR>

然后保存,退出
执行这句代码

vim +PluginInstall +qall

或者,在vim的底行模式中输入以下代码

:PluginInstall

在之后自动进入安装,过程可能有点长,耐心等待,当界面回到Bash或者vim时
就是完成了,再次进入到vim就可以光标移动到函数上,在底行模式按m,可以上下分屏显示man手册,或者按 v+m 这两个按键,可以左右分屏显示man手册。
在底行模式下使用 ctrl + w + w 这三个按键可以在分屏之间跳转。

其他的分屏操作可以在网上寻找,后期我会写一篇有关这方面的博客。

发布了11 篇原创文章 · 获赞 8 · 访问量 1039

猜你喜欢

转载自blog.csdn.net/qq_43666528/article/details/103764417