Git Product home page Git Product logo

vim's Introduction

Build Status pipeline status Docker Build Status

screenshot

screenshot.png

Star History

Star History Chart

Try it

You can use Docker to try it.

sudo docker run -it -v $PWD:/src --rm taobeier/vim

Or use the GitLab registry, where the image is automatically built weekly and all dependent packages are updated.

sudo docker run -it -v $PWD:/src --rm registry.gitlab.com/taobeier/vim

Install

(You need a vim compiled with python support. Check it with vim --version | grep +python)

  • Dependencies(Debian/Ubuntu platform)

    sudo apt-get install python vim exuberant-ctags git

    sudo pip install pep8 flake8 pyflakes isort

  • Dependencies(RedHat/CentOS platform)

    The CentOS 6.7's default Python is 2.6, it's recommend to install Python2.7.

    sudo yum install python vim ctags git

    sudo pip install pep8 flake8 pyflakes isort

  • Dependencies(Mac OS platform)

    brew install python vim git

    wget --no-check-certificate http://tenet.dl.sourceforge.net/project/ctags/ctags/5.8/ctags-5.8.tar.gz && tar -zxvf ctags-5.8.tar.gz && cd ctags-5.8 && ./configure && make && sudo make install

    sudo pip install pep8 flake8 pyflakes isort

  • Download vimrc file to user home directory

    wget --no-check-certificate https://raw.githubusercontent.com/tao12345666333/vim/master/vimrc -O $HOME/.vimrc

  • Open Vim

    Open vim, it will install plugins automatically. Wait for the installation to be finished. Or you can run

    vim -E -u $HOME/.vimrc +qall

  • Enjoy your Vim and costomize it

Features

Plugin Manage(Vundle)

In this configuration,I use Vundle as plugins manager. Vundle will auto manage the .vim directory,all plugins which has been configured will be downloaded to ~/.vim/bundle/ by default, please keep the .vim directory clean before use it. When Vundle installing plugins git clone operation will be triggered,the search operation need curl .

Configuration(one part)

" let Vundle manage Vundle
Plugin 'gmarik/vundle'

" ============================================================================
" Active plugins
" You can disable or add new ones here:

" Plugins from github repos:

" Better file browser
Plugin 'scrooloose/nerdtree'
" Code commenter
Plugin 'scrooloose/nerdcommenter'
" Class/module browser
Plugin 'majutsushi/tagbar'
" Code and files fuzzy finder
Plugin 'kien/ctrlp.vim'
" Extension to ctrlp, for fuzzy command finder
Plugin 'fisadev/vim-ctrlp-cmdpalette'
" Zen coding
Plugin 'mattn/emmet-vim'
" Git integration
Plugin 'motemen/git-vim'
" Tab list panel
Plugin 'kien/tabman.vim'

Supported operations

command description
:PluginList list all Plugins
:PluginInstall(!) install/update Plugin
:PluginSearch(!) foo search Plugin about foo
:PluginClean(!) clean unused Plugins
:PluginUpdate update Plugins

Project file browser(NERDTree)

In this configuration,I use NERDTree as file browser. The NERDTree allows you to explore your filesystem and to open files and directory. It also allows you to hide files or set bookmarks etc. In NERDTree window input ? can get the operation guide. This configuration filters out .pyc, .git, .hg, .svn etc.

Configuration

" auto open or close NERDTree
autocmd vimenter * if !argc() | NERDTree | endif
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif

" NERDTree -----------------------------

" toggle nerdtree display
map <F3> :NERDTreeToggle<CR>
" open nerdtree with the current file selected
nmap ,t :NERDTreeFind<CR>
" don;t show these file types
let NERDTreeIgnore = ['\.pyc$', '\.pyo$']

Supported operation

shortcut key description
F3 open/close NERDTree
,t open NERDTree and select current file

Syntax checking

In this configuration,I use Syntastic plugin for syntax checking. Support C/C++/Go/Python/Haskell/Ruby/JavaScript etc. For JavaScript, I use eslint as checker, so it can check ES6 and JSX etc. You can see JSLint, JSHint和ESLint的对比及Vim配置 for more details, when you want to change checker tools, just modify a little setting.

Configuration

" Syntastic ------------------------------

" show list of errors and warnings on the current file
nmap <leader>e :Errors<CR>
" turn to next or previous errors, after open errors list
nmap <leader>n :lnext<CR>
nmap <leader>p :lprevious<CR>
" check also when just opened the file
let g:syntastic_check_on_open = 1
" syntastic checker for javascript.
" eslint is the only tool support JSX.
" If you don't need write JSX, you can use jshint.
" And eslint is slow, but not a hindrance
" let g:syntastic_javascript_checkers = ['jshint']
let g:syntastic_javascript_checkers = ['eslint']
" don't put icons on the sign column (it hides the vcs status icons of signify)
let g:syntastic_enable_signs = 0
" custom icons (enable them if you use a patched font, and enable the previous 
" setting)
let g:syntastic_error_symbol = ''
let g:syntastic_warning_symbol = ''
let g:syntastic_style_error_symbol = ''
let g:syntastic_style_warning_symbol = ''

Features

When you save files, it will check syntax automatically, and display syntax errors.

Supported operations

shortcut key description
\e list syntax errors
\n turn to next error
\p turn to previous error

vim's People

Contributors

bitdeli-chef avatar tao12345666333 avatar thatscode avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vim's Issues

Tagbar 疑问

你好,我是vim的新手,看到你使用tarbag 希望可以得到你的帮助

补全后的问题

触发补全后会出现候选菜单,然而有时候并不需要候选菜单里的结果。
这时候继续输入 假如要空格或换行 那么又会自动填充默认候选内容
请问怎么解决这个问题?

hi,

I am a beginners for vim, how to use this ide to write , debug, run python, could you give a tutorial about writing little python code on this ide.
Many thanks

怎么 跳转到下一个语法错误提示?

我用你的vim 配置,写python 的 时候 使用flake8 进行语法检查, 会有一些错误提示,但是不知道,是否有什么快捷键 [可以直接跳转到下一个错误。 相关插件:syntastic

vim -E -u $HOME/.vimrc +qall 执行错误

大佬我执行 vim -E -u $HOME/.vimrc +qall 一直抱着个错误是咋回事?

! Plugin 'VundleVim/Vundle.vim'
! Error processing 'scrooloose/nerdtree'Plugin 'scrooloose/nerdtree'
! Error processing 'scrooloose/nerdcommenter'Plugin 'scrooloose/nerdcommenter'
! Error processing 'majutsushi/tagbar'Plugin 'majutsushi/tagbar'
! Error processing 'ctrlpvim/ctrlp.vim'Plugin 'ctrlpvim/ctrlp.vim'
! Error processing 'fisadev/vim-ctrlp-cmdpalette'Plugin 'fisadev/vim-ctrlp-cmdpalette'
! Error processing 'mattn/emmet-vim'Plugin 'mattn/emmet-vim'

感谢!

Messy code in vim

I'm new to configuring vim. After I install your .vimrc, I find some weird messy code as shown in the figure below.
figure here!

Is it because of some encoding problems or anything else?

Thanks

乱码问题

selection_002

OS:Elementary OS 0.4.1

是不是缺少字体?如何排查这个问题?

关于vim的python代码高亮

想请教哈你,你的python代码高亮是用的什么插件,能请教哈吗,我vim用的vim-plus尝试配置了几次,但都不理想,只能高亮关键字,我的python版本是3.5

I have some problem about imp.

/must>not&exist/foo:2: DeprecationWarning: the imp module is deprecated in favou
r of importlib;
I find some answer at SirVer/ultisnips#996
if has('python3')
silent! python3 1
endif

but it can't work.
my vim is 8.1. Python is 8.1.0279. macOS 10.12.5

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.