我的Shell + VIM配置
1. 安装powerline-shell
下载powerline-shell
# cd /opt/
# git clone https://github.com/milkbikis/powerline-shell
复制config.py.dist为config.py,根据需要修改该配置文件,然后运行install.py,将会生成powerline-shell.py
# cd powerline-shell/
# cp config.py.dist config.py
# ./install.py
添加以下内容到~/.bashrc
# vi ~/.bashrc
# powerline-shell
function _update_ps1() {
PS1="$(/opt/powerline-shell/powerline-shell.py --cwd-mode dironly $? 2> /dev/null)"
} if [ "$TERM" != "linux" ]; then
PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
fi
使powerline-shell立即生效
# source ~/.bashrc
安装ctags(vim下方便代码阅读的工具)
# yum install ctags
安装ag(比ack更快的的搜索工具)
# yum install the_silver_searcher
我的vim配置文件
地址: https://github.com/guanwei/dotfiles/blob/master/.vimrc
下载.vimrc 到~/.vimrc
# curl https://github.com/guanwei/dotfiles/blob/master/.vimrc -L -o ~/.vimrc
设置alias
# vi ~/.bashrc
alias vi='vim'
手动编译VIM和使用spf13-vim来快速配置vim
手动编译安装VIM
因为neocomplete插件需要vim支持lua,centos7自带的vim不支持lua,需要重新编译安装vim
首先,检测vim是否支持python,python3,ruby,perl,lua
# vim --version | grep -Eo '\+(python|python3|ruby|perl|lua)'
如果前面是减号就是不支持该语言,加号是支持。
编译安装vim,参考http://www.cnblogs.com/edward2013/p/5300459.html
安装spf13-vim
# curl https://j.mp/spf13-vim3 -L > spf13-vim.sh && sh spf13-vim.sh
为spf13-vim添加个性化配置
# vim ~/.vimrc.before.local
let g:airline_powerline_fonts =
let g:airline_theme = 'bubblegum'
let g:spf13_bundle_groups=['general', 'neocomplete', 'programming', 'php', 'python', 'javascript', 'html', 'misc',]
# vim ~/.vimrc.bundles.local
UnBundle 'nathanaelkane/vim-indent-guides'
Bundle 'Yggdroot/indentLine'
Bundle 'bronson/vim-trailing-whitespace'
Bundle 'nvie/vim-togglemouse'
Bundle 'thinca/vim-quickrun'
Bundle 'dantezhu/authorinfo'
Bundle 'IndexedSearch'
Bundle 'christoomey/vim-tmux-navigator'
Bundle 'edkolev/tmuxline.vim'
vim ~/.vimrc.local
let g:vimrc_author='guanwei'
let g:vimrc_email='285006386@qq.com'
let g:vimrc_homepage='http://edward2013.cnblogs.com/'
nmap <F4> :AuthorInfoDetect<CR> if &term == 'xterm' || &term == 'screen'
color molokai
else
color delek
endif set nospell
set listchars=tab:›\ ,extends:#,nbsp:·
let g:NERDSpaceDelims =
set pastetoggle=<F11>
nnoremap <leader>f :CtrlPMRU<CR>
map <leader><space> :FixWhitespace<CR>
noremap <F5> :QuickRun<CR>
inoremap <F5> <Esc>:QuickRun<CR>a autocmd BufNewFile *.py,*.sh exec ":call SetFileHead()"
function! SetFileHead()
if &filetype == 'sh'
call setline(, "\#!/bin/bash")
elseif &filetype == 'python'
call setline(, "\#!/usr/bin/env python")
call append(, "\# encoding: utf-8")
endif
normal G
normal o
normal o
endfunc
更新插件
# vim +BundleInstall! +BundleClean +qall
如果使用YouCompleteMe代码补全插件,按照下面的步骤安装
安装Mono(.Net开发环境)
# rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
# yum install yum-utils
# yum-config-manager --add-repo http://download.mono-project.com/repo/centos/
# yum install mono-complete
安装golang(Go开发环境)
yum install golang
安装NodeJS
安装Node.js的版本管理软件
# curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
# source ~/.bash_profile 列出所有可安装的版本
# nvm list-remote 安装相应的版本
# nvm install 5.9 查看已经安装的版本
# nvm ls 切换版本
# nvm use 5.9 设置默认版本
# nvm alias default 5.9 显示Node.js版本
# node –v 显示npm版本
# npm -v
安装TypeScript SDK
# npm install -g typescript
安装Rust
# curl -sSf https://static.rust-lang.org/rustup.sh | sh
安装YouCompleteMe
# yum install automake gcc gcc-c++ kernel-devel cmake python-devel
cd ~/.vim/bundle/YouCompleteMe
./install.py --all 参数:
--omnisharp-completer C#支持
--gocode-completer Go支持
--tern-completer JavaScript支持
--racer-completer Rust支持
--all 支持所有语言
VIM常用插件列表
Plugin 'VundleVim/Vundle.vim' " VIM插件管理工具
Plugin 'scrooloose/nerdcommenter' " 代码注释插件
Plugin 'scrooloose/nerdtree' " 树形文件浏览器插件
Plugin 'kien/ctrlp.vim' " 模糊文件,缓存,Tag查找插件
Plugin 'tomasr/molokai' " Molokai皮肤
Plugin 'lilydjwg/colorizer' " 文本颜色插件
Plugin 'plasticboy/vim-markdown' " Markdown语法高亮插件
Plugin 'vim-scripts/matchit.zip' " 扩展%匹配字符范围插件
Plugin 'tpope/vim-surround' " 快速切换括号/引号或者标签插件
Plugin 'tpope/vim-repeat' " 扩展surround.vim重复命令 (.)插件
Plugin 'tpope/vim-fugitive' " Git命令封装插件
Plugin 'airblade/vim-gitgutter' " 实时显示Git更改插件
Plugin 'Lokaltog/vim-powerline' " 状态栏增强插件
Plugin 'bling/vim-airline' " 轻量级状态栏增强插件
Plugin 'mattn/emmet-vim' " Emmet插件,快速生成html代码
Plugin 'vim-scripts/xptemplate' " 快速生成代码片段插件
if v:version > 703 || (v:version == 703 && has('patch584'))
Plugin 'Valloric/YouCompleteMe' " 自动补全插件,clang级别的补全以及cache补全
endif
Plugin 'mileszs/ack.vim' " 工程全局搜索插件
Plugin 'mattn/gist-vim' " gists创建管理插件
Plugin 'altercation/vim-colors-solarized' " Solarized皮肤
Plugin 'dyng/ctrlsf.vim' " 全局搜索插件,以ag或者ack作为后端
Plugin 'sjl/gundo.vim' " 撤销树插件
Plugin 'scrooloose/syntastic' " 语法检查插件
Plugin 'Lokaltog/vim-easymotion' " 快速跳转插件
Plugin 'skammer/vim-css-color' " css颜色高亮插件
Plugin 'pangloss/vim-javascript' " javascript语法高亮,智能缩进插件
Plugin 'maksimr/vim-jsbeautify' " 快速格式化javascript插件
Plugin 'elzr/vim-json' " JSON语法高亮插件
Plugin 'SirVer/ultisnips' " 快速插入代码片段插件
Plugin 'honza/vim-snippets' " 代码片段模板插件
Plugin 'godlygeek/tabular' " 文本自动对齐插件
Plugin 'junegunn/vim-easy-align' " 按分隔符文本对齐插件
Plugin 'othree/xml.vim' " xml格式化插件
Plugin 'vim-scripts/Greplace.vim' " 全局查找替换插件
Plugin 'evanmiller/nginx-vim-syntax' " Nginx语法高亮插件
Plugin 'kien/rainbow_parentheses.vim' " 括号美观匹配高亮插件
Plugin 'majutsushi/tagbar' " 代码结构浏览器插件
Plugin 'vim-scripts/TaskList.vim' " 任务列表插件
Plugin 'Raimondi/delimitMate' " 补全括号和引号插件
Plugin 'jiangmiao/auto-pairs' " 补全括号和引号插件
Plugin 'Yggdroot/indentLine' " 显示缩进对齐线插件
Plugin 'terryma/vim-expand-region' " 扩展选择内容插件
Plugin 'terryma/vim-multiple-cursors' " 多光标选择插件
Plugin 'YankRing.vim' " 剪贴板增强插件
Plugin 'fs111/pydoc.vim' " python文档查看插件
Plugin 'hdima/python-syntax' " Python语法插件
Plugin 'pyflakes.vim' " Python代码检查插件
Plugin 'python.vim' " Python语法高亮,智能缩进插件
Plugin 'klen/python-mode' " Python集成开发插件,整合了pylint, rope, pydoc, pyflakes, pep8, and mccabePlugin 'jabapyth/vim-debug' " Python,PHP debug插件
Plugin 'rkulla/pydiction' " Python自动补全插件
Plugin 'vim-scripts/Conque-Shell' " Vim buffer中运行交互程序插件
Plugin 'ivanov/vim-ipython' " IPython支持插件
if has("lua")
Plugin 'Shougo/neocomplete' " 代码补全插件
else
Plugin 'Shougo/neocomplcache' " 代码补全插件
endif
Plugin 'Shougo/neosnippet' " 代码片段插件
Plugin 'Shougo/neosnippet-snippets' " neosnippet的基础代码片段库插件
Plugin 'Shougo/vimshell.vim' " shell命令显示插件
Plugin 'Shougo/vimproc.vim' " 交互式命令执行插件
Plugin 'Shougo/neomru.vim' " MRU补丁,支持unite.vim插件
Plugin 'Shougo/unite.vim' " 全局查找显示插件
Plugin 'Shougo/unite-outline' " unite增强插件
Plugin 'Shougo/unite-help' " unite帮助插件
Plugin 'Rykka/riv.vim' " reStructuredText扩展插件
Plugin 'vim-scripts/DrawIt' " 画图插件
Plugin 'wesleyche/Trinity' " taglist, NERDtree and SrcExpl 整合插件
Plugin 'wesleyche/SrcExpl' " 源代码浏览器插件
Plugin 'vim-scripts/taglist.vim' " 源码结构列表插件
Plugin 'vim-scripts/winmanager' " windows样式文件浏览器插件
Plugin 'jlanzarotta/bufexplorer' " BufExplorer插件
Plugin 'vim-commentary' " 代码注释插件
Plugin 'tomtom/tcomment_vim' " 代码注释插件
Plugin 'davidhalter/jedi-vim' " Jedi库Python代码补全插件
Plugin 'fatih/vim-go' " Go开发支持插件
Plugin 'tpope/vim-speeddating' " 日期生成插件
Plugin 'mattn/calendar-vim' " 日历生成插件
Plugin 'dhruvasagar/vim-table-mode' " 表格生成插件
Plugin 'vim-scripts/a.vim' " .h和.c之间切换插件
Plugin 'mbbill/echofunc' " 显示C/C++函数声明提示插件
Plugin 'xuhdev/SingleCompile' " 简单编译运行源文件插件
Plugin 'vim-scripts/TagHighlight' " 给类/结构体/枚举等数据类型添加语法高亮显示插件
Plugin 'vim-scripts/FuzzyFinder' " 很强大的文件查找工具,需要依赖L9Plugin 'vim-scripts/fencview.vim' " 自动检测文件编码,也可以手动选择文件编码
Plugin 'vimwiki/vimwiki' " 用vim来打造个人wiki
Plugin 'vim-scripts/AuthorInfo' " 自动生成/更新文件的作者信息(vimer.cn博主编写)
Plugin 'vim-scripts/DoxygenToolkit.vim' " 添加doxygen注释
Plugin 'sjas/csExplorer' " 提供列出配色列表的功能,就不用一个个手工去敲配色名字了
Plugin 'vim-scripts/VisIncr' " 提供生成数列的功能
一些资源:
All things Vim and Neovim!
https://github.com/mhinz/vim-galore
The ultimate vim distribution
https://github.com/spf13/spf13-vim
Maple's vim config files
https://github.com/humiaozuzu/dot-vimrc
The ultimate Vim configuration: vimrc
my vim configuration (lot of python, autocompletition, fuzzy finder, debugger, ...)
https://github.com/fisadev/fisa-vim-config
我的Shell + VIM配置的更多相关文章
- Vi快捷操作 vim配置【shell文件格式从windows转换为linux】
vim配置 http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html gg 首行 dd 删除当前行 :.,$d 删除全部内容 :se ...
- Env:VIM配置
注:文章来自于http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html 花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配 ...
- VIM配置(转载)
注: 转载于http://www.cnblogs.com/ma6174/ 花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配置主要有以下优点: 1.按F5可以直接编译并执行C.C++.ja ...
- 大神的vim配置
大神的vim配置,O(∩_∩)O spf13-vim : Steve Francia's Vim Distribution __ _ _____ _ ___ _ __ / _/ |___ / __ _ ...
- vim配置之——ctags与TagList的配置以及NERDTree && doxygentoolkit的安装
参考(2)vim插件:显示树形目录插件NERDTree安装 和 使用 本文档主要对Linux下vim的ctags,TagList,NerdTree与doxgentoolkit进行相关的配置. 以下部分 ...
- acm的ubuntu (ubuntu16.04 安装指南,chrome安装,vim配置,git设置和github,装QQ)
日常手贱把ubuntu14.04更新到了16.04,然后就game over了.mdzz,不然泥萌也看不到这篇博客了=.= 然后花了些时间重装了一个16.04版的,原来那个14.04的用可以用,就是动 ...
- 简单快捷好用的vim配置和终端配置推荐
vim 配置实用spf13-vim,安装方便简单快捷,极力推荐. 另外oh-my-zsh 终端配置很好,与之搭配使用效果更佳. 安装都很简单,一个脚本搞定, 都是在gitHub上开源的,自行搜索,这里 ...
- 快速学习C语言三: 开发环境, VIM配置, TCP基础,Linux开发基础,Socket开发基础
上次学了一些C开发相关的工具,这次再配置一下VIM,让开发过程更爽一些. 另外再学一些linux下网络开发的基础,好多人学C也是为了做网络开发. 开发环境 首先得有个Linux环境,有时候家里机器是W ...
- centos vim配置高亮语法和格式化粘贴
centos vim配置高亮语法和格式化粘贴 设置vim别名和高亮grep词语 echo -e "\nalias vi=vim\nalias grep='grep --color'\n&qu ...
随机推荐
- Spring 定时任务 quartz的配置
环境:我用的是spring3.2,其中引入了quartz-1.5.2.jar 先写一个任务类: package com.hlcg.common.task; public class TestJob { ...
- 【HDU 3949】 XOR (线性基,高斯消元)
XOR Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- 转:十八、java中this的用法
http://blog.csdn.net/liujun13579/article/details/7732443 我知道很多朋友都和我一样:在JAVA程序中似乎经常见到“this”,自己也偶尔用到它, ...
- [FJSC2014]圈地
[题目描述] 2维平面上有n个木桩,黄学长有一次圈地的机会并得到圈到的土地,为了体现他的高风亮节,他要使他圈到的土地面积尽量小.圈地需要圈一个至少3个点的多边形,多边形的顶点就是一个木桩,圈得的土地就 ...
- SharePoint2010沙盒解决方案基础开发——关于TreeView树形控件读取列表数据(树形导航)的webpart开发及问题
转:http://blog.csdn.net/miragesky2049/article/details/7204882 SharePoint2010沙盒解决方案基础开发--关于TreeView树形控 ...
- GCC常用参数
GCC--GNU C Compiler c语言编译器(远不止c语言) 介绍: 作为自由软件的旗舰项目,Richard Stallman 在十多年前刚开始写作 GCC 的时候,还只是把它当作仅仅一个C ...
- (转载)PHP数组传递是值传递而非引用传递
(转载)http://www.fengfly.com/plus/view-212127-1.html 在调用函数时通过将PHP数组作为实参赋给形参,在函数中修改,并不会影响到数组本身. 说明此过程中的 ...
- (转载)JavaScript中的Window窗口对象
(转载)http://www.ijavascript.cn/jiaocheng/javascript-window-65.html 例子: <html> <head> < ...
- linux之cut用法
转载:http://www.cnblogs.com/dong008259/archive/2011/12/09/2282679.html cut是一个选取命令,就是将一段数据经过分析,取出我们想要的. ...
- c#将金额转换为大写,支持小数点,原创经典
网上搜的都有问题,这个代码属于原创,代码简洁,支持小数点,若没有小数点,则为整 /// <summary> /// 将金额转换成大写 /// </summary> /// &l ...