Linux学习(三):vim安装及基础配置

“编辑器之神”vim的以前的配置很繁琐,要打造成一个很好用的IDE并不容易,网上的教程也很多,但是真正适合自己的并不好找。

首先推荐一片网上的一片关于vim详细配置的博文,https://www.xncoding.com/2016/06/02/linux/vim.html,当然不知道是不是这哥们用了很长时间写的,不过写的真的很详细。

首先说一个问题,网上的很多教程都有Vundle,估计很多人都很MB,出现了两个网址,https://github.com/gmarik/vundle.githttps://github.com/VundleVim/Vundle.git,然而当你点开这两个链接的时候,心中是不是一万个那啥在奔跑,因为这两个是一个链接。说得也是一个东西!

我的原则就是,能简化尽量先简化,不要那么繁琐。本来很简单的事非得搞得很复杂。

上面推荐的那篇blog不错。有兴趣的道友(PS:本人看霹雳)可以去试一下,唯一可能遇到的问题可能就是关于python2的支持和YouCompleteMe编译的问题,百度一下都能解决。

这里介绍一个简单的方法。

一、准备工作

首先了解一下自己的系统安装vim后是不是7.4及以上的版本。如果是7.4以下的版本(ubuntu12.04安装的就是7.3),那就恭喜了,有些插件你是装不了的,尤其是YouCompleteMe插件。不过网上有教程试试添加一下仓库是可以办到的。使用以下命令安装:

sudo apt-get install vim

二、配置vim

在用户目录下新建一个.vim文件夹和一个.vimrc文件,这是用来管理vim的。

为了不让 .vimrc 看起来太臃肿,新建了一个 ~/.vimrc.vundles 文件来保存所有插件的配置。先在 ~/.vimrc.vundles 文件中包含如下内容:

filetype on
filetype plugin on
filetype indent on

set rtp+=~/.vim/bundle/Vundle.vim

call vundle#begin()


call vundle#end()

然后在 ~/.vimrc 文件中加入内容:

if filereadable(expand("~/.vimrc.vundles"))
  source ~/.vimrc.vundles
endif

这样 vundle 就准备就绪了。

三、安装Vundle

在.vim文件夹下新建一个bundle的文件夹,然后使用以下命令下载Vundle:

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

下载完成后,打开~/.vimrc.vundles文件添加配置文件,在call vundle#begin()和call vundle#end()之间添加一下内容:

" Define bundles via Github repos "
Plugin 'christoomey/vim-run-interactive'
Plugin 'Valloric/YouCompleteMe'
Plugin 'croaky/vim-colors-github'
Plugin 'danro/rename.vim'
Plugin 'majutsushi/tagbar'
Plugin 'kchmck/vim-coffee-script'
Plugin 'kien/ctrlp.vim'
Plugin 'pbrisbin/vim-mkdir'
Plugin 'scrooloose/syntastic'
Plugin 'slim-template/vim-slim'
Plugin 'thoughtbot/vim-rspec'
Plugin 'tpope/vim-bundler'
Plugin 'tpope/vim-endwise'
Plugin 'tpope/vim-fugitive'
Plugin 'tpope/vim-rails'
Plugin 'tpope/vim-surround'
Plugin 'vim-ruby/vim-ruby'
Plugin 'vim-scripts/ctags.vim'
Plugin 'vim-scripts/matchit.zip'
Plugin 'vim-scripts/tComment'
Plugin 'mattn/emmet-vim'
Plugin 'scrooloose/nerdtree'
Plugin 'Lokaltog/vim-powerline'
Plugin 'godlygeek/tabular'
Plugin 'msanders/snipmate.vim'
Plugin 'jelera/vim-javascript-syntax'
Plugin 'altercation/vim-colors-solarized'
Plugin 'othree/html5.vim'
Plugin 'xsbeats/vim-blade'
Plugin 'Raimondi/delimitMate'
Plugin 'groenewege/vim-less'
Plugin 'chr4/nginx.vim'
Plugin 'Lokaltog/vim-easymotion'
Plugin 'tomasr/molokai'
Plugin 'klen/python-mode'

*不是所有插件都要安装,至于每个插件什么用途网上都可以搜索到,可以根据自己喜欢的安装,

四、安装插件

打开vim,进入命令行模式,输入:PluginInstall,开始安装插件。直到出现Done!表示安装完成。

 

*五、卸载vim

如何彻底的卸载vim,网上的各种卸载方式都不能策底卸载,老版本的vim,不是一条apt-get remove vim 就能解决的,最好最后也删除配置文件。

sudo apt-get remove vim

sudo apt-get remove vim-runtime

sudo apt-get remove vim -tiny

sudo apt-get remove vim-common

sudo apt-get remove vim-doc

sudo apt-get remove vim-scripts

-------------------------------------------------------------------------------------------------------------

以上基本上就简单实现了vim的一些自动补全等命令。

-------------------------------------------------------------------------------------------------------------

接下来的配置文件就有些复杂了,因为是个人每人的意见都不一样,可以根据自己的需要修改配置文件,同样可以是加在.vimrc.vundles文件中,但是不要写在call vundle#begin()和call vundle#end()之间。也可以加在.vimrc文件中。

全局:

" ***************** 全局设置 ************** "

syntax enable "开启语法高亮功能
syntax on "允许用指定语法高亮配色方案替换默认方案

set nocompatible "关闭兼容模式
set incsearch "开启实时搜索功能
set ignorecase "搜索忽略大小写
set wildmenu "vim命令自动补全
set autoread "文件自动更新
set gcr=a:block-blinkon0 "禁止关闭闪烁
set laststatus=2 "总是显示状态栏
set ruler "显示光标位置
set number "显示行号
set cursorline "高亮显示当前行
set cursorcolumn "高亮显示当前列
set hlsearch "高亮显示搜索结果
"set nowrap "禁止折行
set backspace=2 "回退键生效
"set backspace=indent,eol,start
set novisualbell
 
" 禁止显示滚动条
set guioptions-=l
set guioptions-=L
set guioptions-=r
set guioptions-=R
" 禁止显示菜单和工具条
set guioptions-=m
set guioptions-=T
 
" 将制表符扩展为空格
set expandtab
" 设置编辑时制表符占用空格数
set tabstop=4
" 设置格式化时制表符占用空格数
set shiftwidth=4
" 让 vim 把连续数量的空格视为一个制表符
set softtabstop=4
" 基于缩进或语法进行代码折叠
set foldmethod=syntax
" 启动 vim 时关闭折叠代码
set nofoldenable
" 交互式打开shell
set shell=bash\ -i

set encoding=utf-8      "使用国际通用编码
set hlsearch            "高亮度反白
set backspace=2         "可以用Backspace键删除
set ts=4                "tab键等于4个空格
set expandtab           "tab键自动变空格
set tabstop=4
set softtabstop=4
set autoindent          "自动缩进
set pastetoggle=<F9>    "插入模式粘贴按F9取消自动缩进
set ruler               "可显示最后一行的状态
set showmode            "左下角那一行的状态
set nu                  "可以在每一行的最前面显示行号啦!
set bg=dark             "显示不同的底色色调
"set cursorline          "光标所在行一横线
set laststatus=2        "显示当前编辑文件名

快捷键:

" *************** 设置全局快捷键 *****************
 
" 定义快捷键的前缀,即<Leader>
"let mapleader="\<space>"
let mapleader="'"
 
" 设置快捷键将选中文本块复制至系统剪贴板
vnoremap <Leader>y "+y
 
" 设置快捷键将系统剪贴板内容粘贴至 vim
nmap <Leader>p "+p
 
" 定义快捷键关闭当前分割窗口
nmap <Leader>q :q<CR>
" 定义快捷键保存当前窗口内容
nmap <Leader>w :w<CR>
 
" 定义快捷键保存所有窗口内容并退出 vim
"nmap <Leader>WQ :wa<CR>:q<CR>
 
" 不做任何保存,直接退出 vim
"nmap <Leader>Q :qa!<CR>
 
" 依次遍历子窗口
nnoremap nw <C-W><C-W>
" 跳转至右方的窗口
nnoremap <Leader>l <C-W>l
 
" 跳转至左方的窗口
nnoremap <Leader>h <C-W>h
" 跳转至上方的子窗口
nnoremap <Leader>k <C-W>k
 
" 跳转至下方的子窗口
nnoremap <Leader>j <C-W>j
" 定义快捷键在结对符之间跳转
nmap <Leader>M %
 
nnoremap <Leader>g <C-]>
nnoremap <Leader>b <C-t>

配色:

进入vim,输入":colorscheme"即可查看当前的配色方案,默认是default,系统的配色方案放在/usr/share/vim/vim74/colors/里

。在vim命令行模式下输入":colorscheme 方案名",例如":colorscheme desert"即可更改配色方案。

这里再推荐一篇blog:https://www.cnblogs.com/jhssd/p/6803689.html,有配色的全部效果,不过最好自己试一试。

 

树形结构:

用到的是上面安装好的插件,NERDTree插件

" NERDTree config
map <F2> :NERDTreeToggle<CR>"使用F2快速隐藏和显示目录栏
autocmd vimenter * NERDTree"打开vim自动显示

分割布局:

使用sv <filename>命令打开一个文件,你可以纵向分割布局(新文件会在当前文件下方界面打开), 使用相反的命令vs <filename>`你可以得到横向分割布局(新文件会在当前文件右侧界面打开)。

  • ctrl + w + h    光标 focus 左侧树形目录

  • ctrl + w + l    光标 focus 右侧文件显示窗口

  • ctrl + w + w    光标自动在左右侧窗口切换 #!!!

  • ctrl + w + r    移动当前窗口的布局位置

 

命令太多就会变得复杂,现在的基本就可以算是入门级别的vim了,用个一年半载足够了。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值