现代的文盲,不是看不懂字句,而是不愿意学习,不愿意阅读的人。若你想保持与世界接轨的能力与旺盛的学习动机,阅读是最好的途径。——《爱读书的孩子,不会变坏 (宋怡慧 著)》

简介

  Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是自由软件。
  Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线, 总的来看, Vim和Emacs在文本编辑方面都是非常优秀的。

安装依赖

  假如你的系统的Ubuntu或者deepin~可以使用如下

sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev \python3-dev ruby-dev lua5.1 lua5.1-dev git

  假如你的系统是Debian系列

sudo apt-get install libncurses5-dev libgnome2-dev libgnomeui-dev \libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev \python3-dev ruby-dev lua5.1 lua5.1-dev libperl-dev git

  假如你的系统是Fedora 20

sudo yum install -y ruby ruby-devel lua lua-devel luajit \luajit-devel ctags git python python-devel \python3 python3-devel tcl-devel \perl perl-devel perl-ExtUtils-ParseXS \perl-ExtUtils-XSpp perl-ExtUtils-CBuilder \perl-ExtUtils-Embed

  之后

# symlink xsubpp (perl) from /usr/bin to the perl dir
sudo ln -s /usr/bin/xsubpp /usr/share/perl5/ExtUtils/xsubpp 

移除你已经安装的vim

sudo apt-get remove vim vim-runtime gvim

或者是下面的

dpkg -l | grep vim
sudo dpkg -P vim vim-common vim-run

  要是你的系统是Ubuntu 12.04.2的话,还要加上

sudo apt-get remove vim-tiny vim-common vim-gui-common vim-nox

下载vim源码并编译安装

cd ~
git clone https://github.com/vim/vim.git
cd vim
./configure --with-features=huge \--enable-multibyte \            --enable-rubyinterp=yes \            --enable-pythoninterp=yes \            --with-python-config-dir=/usr/lib/python2.7/config \            --enable-python3interp=yes \            --with-python3-config-dir=/usr/lib/python3.5/config \            --enable-perlinterp=yes \            --enable-luainterp=yes \            --enable-gui=gtk2 --enable-cscope --prefix=/usrmake VIMRUNTIMEDIR=/usr/share/vim/vim80

  如果你想要之后可以简单的安装和卸载vim的话,可以使用checkinstall工具打包安装:

sudo apt-get install checkinstall
cd vim
sudo checkinstall

  如果不要的话,就执行下面的指令

cd ~/vim
sudo make install

  设置vim作为你的默认编辑器:

sudo update-alternatives --install /usr/bin/editor editor /usr/bin/vim 1
sudo update-alternatives --set editor /usr/bin/vim
sudo update-alternatives --install /usr/bin/vi vi /usr/bin/vim 1
sudo update-alternatives --set vi /usr/bin/vim

编译中可能出现的问题

  假如出现了no terminal library found

checking –with-tlib argument… empty: automatic terminal library selection
checking for tgetent in -lncurses… no
checking for tgetent in -ltermlib… no
checking for tgetent in -ltermcap… no
checking for tgetent in -lcurses… no
no terminal library found
checking for tgetent()… configure: error: NOT FOUND!You need to install a terminal library; for example ncurses.Or specify the name of the library withwith-tlib.

  这个时候,只需要

sudo apt-get install libncurses5-dev

附录:

  • 我自己编译好的vim8.0
  • 原文地址

配置vim

注意:vim安装完后有提供对应的文档教程,具体使用方法是:

vimtutor

后就可以打开文档教程进行学习对应的vim指令。

VIM配置

  当提到VIM配置的时候,就不得不说我们vim强大的自定义性,以及庞大的插件库。当我们使用了较多的插件的时候,我们就会发现插件真的很难管理(安装和卸载都很麻烦)。所以就不得不说VIM的插件管理器Vundle了。

Vundle安装和配置插件

  好了,直接上安装和使用教程:
  1、克隆我们需要的Vundle到你的用户目录下

git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim

  2、配置属于你的专属的.vimrc 文件。
  
  在用户目录下,cd ~,回到用户目录下,vim .vimrc,就可以编辑VIM的配置了。
  注:.vimrc是vim的配置文件。

  在.vimrc的前半部分找到下面的内容,将你所需要安装的插件放在begin和end之间。

call vundle#begin()
" 这里是插件放置位置
call vundle#end()

  这个是完整的配置。

set nocompatible "be iMproved, required
filetype off " required" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')" let Vundle manage Vundle, required
Plugin 'VundleVim/Vundle.vim'
Plugin 'scrooloose/syntastic' " 语法检测工具
Plugin 'scrooloose/nerdcommenter' "注释代码工具 \cc注释当前行 \cu 撤销注释当前行 \cs sexily注释 \cA 行尾注释,切换成输入模式
Plugin 'scrooloose/nerdtree' "树状结构文件夹目录
Plugin 'majutsushi/tagbar'
Plugin 'jiangmiao/auto-pairs' " 括号自动匹配" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required
" To ignore plugin indent changes, instead use:
" filetype plugin on
"
" Brief help
" :PluginList       - lists configured plugins
" :PluginInstall    - installs plugins; append `!` to update or just :PluginUpdate
" :PluginSearch foo - searches for foo; append `!` to refresh local cache
" :PluginClean      - confirms removal of unused plugins; append `!` to auto-approve removal
"
" see :h vundle for more details or wiki for FAQ
" Put your non-Plugin stuff after this line"powerline部分"
set rtp+=~/.local/lib/python2.7/site-packages/powerline/bindings/vim/
set guifont=Sauce\ Code\ Powerline:h14.5
set laststatus=2
set encoding=utf-8
set t_Co=256
set number
set fillchars+=stl:\ ,stlnc:\
set term=xterm-256color
set termencoding=utf-8
set background=darkset modelines=0set backspace=2 "设置更好的删除"syntax on "自动语法高亮""用浅色高亮当前行"
autocmd InsertLeave * se nocul
autocmd InsertEnter * se culset smartindent "智能对齐"set autoindent "自动对齐"set confirm "在处理未保存或只读文件的时候,弹出确认框"set tabstop=4 "tab键的宽度"
set softtabstop=4 "使得按退格键可以一次删掉4个空格"
set shiftwidth=4 "统一缩进为4"
set expandtab "不要用空格替代制表符"set autochdir "自动切换当前目录位当前文件所在目录"set number "显示行号"
set history=50  "历史纪录数"
set hlsearch "搜索时高亮被查找到的文本"
set incsearch "搜素高亮,搜索逐渐高亮"set hidden " 允许在有未保存的修改时切换缓冲区,此时的修改由 vim 负责保存set gdefault "行内替换“
set encoding=utf-8
set fileencodings=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936,utf-16,big5,euc-jp,latin1 "编码设置”set guifont=Menlo:h16:cANSI "设置字体“
set langmenu=zn_CN.UTF-8
set helplang=cn  "语言设置”set ruler "在编辑过程中,在右下角显示光标位置的状态行“set laststatus=2 " 显示状态栏 (默认值为 1, 无法显示状态栏)
set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\
" 设置在状态行显示的信息set showcmd "在状态行显示目前所执行的命令,未完成的指令片段也会显示出来"set scrolloff=3 "光标移动到buffer的顶部和底部时保持3行的距离"
set showmatch "高亮显示对应的括号"
set matchtime=5 "对应括号高亮时间(单位是十分之一秒)"set autowrite "在切换buffer时自动保存当前文件"set wildmenu  "增强模式中的命令行自动完成操作"set linespace=2 "字符间插入的像素行数目"
set whichwrap=b,s,<,>,[,] "开启normal 或visual模式下的backspace键空格键,左右方向键,insert或replace模式下的左方向键,右方向键的跳行功能"filetype plugin indent on "分为三部分命令:file on,file plugin on,file indent on 分别是自动识别文件类型, 用用文件类型脚本,使用缩进定义文件"set foldenable  "允许折叠"
set foldmethod=syntax " 设置语法折叠
set foldcolumn=0 " 设置折叠区域的宽度
setlocal foldlevel=1 " 设置折叠层数为
" set foldclose=all " 设置为自动关闭折叠
" " nnoremap <space> @=((foldclosed(line('.')) < 0) ? 'zc' : 'zo')<CR>
" " 用空格键来开关折叠set cursorline "突出显示当前行"
set magic  "设置魔术?神马东东"
set ignorecase "搜索忽略大小写"
filetype on "打开文件类型检测功能"
set background=dark
set t_Co=256   "256"
set mouse=a  "允许鼠标"" 配置nerdtree
let NERDTreeQuitOnOpen=1 "打开文件时关闭树
let NERDTreeShowBookmarks=1 "显示书签" 配置nerdtree的快捷键
let mapleader = ","
map <leader>ne :NERDTreeToggle<CR>
map <leader>tl :TlistToggle<cr>
nnoremap <leader>ma :set mouse=a<cr>
nnoremap <leader>mu :set mouse=<cr>" tagbar插件
nmap <leader>tb :TagbarToggle<CR>

  3、到了这里,我们需要执行安装插件的命令了。首先在Terminal中输入vim,进入之后打:VundleInstall,安装插件,之后就是等了……
  下面是Vim插件安装成功的图示了。^_^,退出可以使用:q退出。

Vundle使用教程

  • 安装(更新)插件

    • :BundleInstall
  • 卸载插件
    • :BundleClean
  • 显示所有插件
    • :BundleList
  • 查找插件
    • :BundleSearch 插件名称
  • 刷新插件(下面插件名称的)缓存
    • :BundleSearch! 插件名称
  • 清除插件缓存
    • BundleClean!

安装成功图示



附录

  • wang_j - vim 配置文件 ,高亮+自动缩进+行号+折叠+优化

安装YouCompleteMe

简介

  这是一个代码补全工具。


这里写图片描述


  在.vimrc中添加

Plugin 'Valloric/YouCompleteMe'

  在命令行中

vim
进入vim
:PluginInstall

  加载好了之后,

cd ~/.vim/bundle/YouCompleteMe
./install.py --clang-completer

安装uncrustify

cd ~
git clone https://github.com/uncrustify/uncrustify ~/uncrustify
sudo ./configure
sudo ./install-sh

附录

  • Valloric/YouCompleteMe
  • uncrustify/uncrustify

安装vim-autoformat

  vim中的格式化代码插件。
  在.vimrc中添加

Plugin 'Chiel92/vim-autoformat'

附录

  • 在VIM下写C++能有多爽?

自己编译vim8.0并安装插件相关推荐

  1. linux安装12c oem,OEM12C(12.1.0.5)安装插件监控mysql(linux)

    目录结构: 环境说明: oms:12.1.0.5  os:centos 6.X MYSQL: 5.7.21  OS:centos 7.X 一.安装插件mysql database 下载地址: http ...

  2. Sublime Text 4.0 4102 安装插件的问题

    文章目录 安装包控件(Package Control) 如何安装插件 打开 Install Package 面板 搜索和安装插件 无法打开 Install Package 面板的问题 故障排除 安装包 ...

  3. Xcode 5.0.1安装插件:规范注释生成器VVDocumenter + OSX 10.9.2

    终于有时间停下来玩下Xcode的插件了,最近需要用下规范注释生成器,于是装了个插件用下. 下面是安装过程(简单的不得了): 1.前往GitHub下载工程文件:VVDocumenter-Xcode 2. ...

  4. Windows gvim安装插件

    文章目录 1 Vundle 1.1 安装前准备 1.2 安装Vundle 1.3 编辑 _vimrc 1.4 插件安装示例 1.4.1 安装nerd comment 1.4.2 nerd commen ...

  5. vim8支持的linux版本,Vim 8.0 版本安装方法及添加Python支持

    利用Git安装 最简单也是最有效的方法 1. 获取Vim仓库: git clone https://github.com/vim/vim.git 2. 升级到最新的版本: cd vim git pul ...

  6. 编译vim-8.2并配置jedi-vim插件

    目录 一.背景 二.编译vim-8.2 三.配置jedi-vim插件 3.1.安装插件vundle 3.2.用vundle安装jedi-vim插件 一.背景 CentOS 7.9上已经安装了anaco ...

  7. centos升级之vim vim8.0安装

    YCM安装攻略:https://blog.csdn.net/csdn_kou/article/details/81213935 卸载旧的vim yum remove vim* -y 一.源码编译安装v ...

  8. elasticsearch-analysis-ik-1.10.0中文分词插件安装

    2019独角兽企业重金招聘Python工程师标准>>> 版本说明 根据ik官网提示,elasticsearch2.4.0需要使用elasticsearch-analysis-ik-1 ...

  9. Ubuntu18.04LTS系统编译Android所需安装的一些插件内容

    **Ubuntu18.04LTS系统编译Android所需安装的一些插件内容** 一.安装所需: sudo apt-get update echo y|sudo apt-get install ope ...

最新文章

  1. 处有未经处理的异常:0xC0000005 : 读取位置 0x00000000 时发生访问冲突。
  2. Matlab与线性代数 -- 矩阵的秩
  3. python爬取图片-Python爬取网页中的图片(搜狗图片)详解
  4. C#WinForm App自动更新(Live Update)架构
  5. 数据中心、云计算、大数据之间的区别与联系
  6. JAVA装mysql_已经安装了mysql,怎么能在java程序里使用SQL?
  7. [转] 彻底了解指针数组,数组指针,以及函数指针,以及堆中的分配规则
  8. 02:同行列对角线的格子
  9. 关于 IO 和 NIO 的思考
  10. 80端口未被占用,无法启动wamp的解决方法(原创)
  11. 区块链相关名词解释(一)
  12. 15优秀免费JQuery 图片 滑动效果
  13. Windows下编译FFmpeg-2.6.1详解
  14. poj2373 Dividing the Path (单调队列+dp)
  15. 远程Redis服务器 JedisConnectionException: Failed connecting to host localhost:6379 解决方案
  16. 我的世界服务器彩虹云,《我的世界》彩虹云跑酷地图存档
  17. 你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据,程序输出读到的数据中的奇数和偶数的个数。(Java经典编程案例)
  18. HIT-2022年春季学期《软件构造》Lab 1实验心得
  19. 《科研诚信与学术规范》
  20. ASCII 编码对照表 一览表

热门文章

  1. 《科研伦理与学术规范》期末考试答案2023
  2. 国产替代FT232RL-USB到UART桥接控制器 GP232RNL
  3. 疫情之下互联网跳槽面试全攻略
  4. MicroStrategy10安装问题
  5. 英语四级作文计算机,2020年6月大学英语四级作文范文50例:电脑
  6. C语言字符串围棋盘放麦粒,围棋高手(民间)用C编写的围棋程序。
  7. SpringBoot+Vue实现excel导入带格式化的时间参数(moment格式化明天日期并设置el-date-picker默认值)
  8. linux一些常用指令(根据尚硅谷韩顺平老师视频所写,都是自己手打的)
  9. 输出总结是成长的开始
  10. python仿真程序,用Python下载PHET互动仿真程序