This is my shell script to install vim and other packages so that I can use vim as my Python3 and C development environment.
Debian / Ubuntu install script can be found here: https://github.com/mhartzel/vim_python3_ide_installer
Manjaro install script can be found here: https://github.com/mhartzel/vim_python3_ide_installer-manjaro
This program will do the following things:
- Uninstall previous vim packages and old vim configuration. All Gentoo specific vim modifications are removed.
- Download latest vim source from git repository. Compile and install a new vim with Python3 support.
- Download and install 256 color capable urxvt terminal emulator and set it up to use clipboard and the Terminus font. Urxvt is the fastest terminal I found and it supports unicode characters and tabs. Terminus font makes code easier to read.
- Install vim plugins Pathogen and Tagbar to make vim an IDE.
- Install Syntastic and Pyflakes.
- Install Supertab and Pydoc.
- Install vim-gitgutter.
- Install git-fugitive.
- Install Nerdtree.
- Install Surround.
- Install C language reference documents.
- Remove most color schemes that come with vim, leaving only: default, desert, murphy and slate.
- Install 256 color vim colorschemes: desert256, distinguished, jellybeans, aldmeris (based on oblivion colorscheme for Gedit).
- All colorschemes are modified to show the current line as a 1 pixel underline.
- Aldmeris default color for statements (white) is the same as for the rest of text. Statements should stand out, so the color is changed to green.
- Colorscheme aldmeris is set as the default colorscheme.
After installation you have:
- A 256 color and UTF-8 capable terminal emulator urxvt.
- Copy / paste between urxvt and other programs with ctrl + alt + c and ctrl + alt + v
- Python3 syntax checking (every time you save).
- Python3 syntax highlighting.
- Python3 documentation for the keyword under cursor opens with leader + pw ( \pw NOTE second character must be pressed within 1 second ).
- C syntax checking (every time you save)
- C++17 syntax checking (every time you save)
- C syntax highlighting.
- C reference documentation for the keyword under cursor opens with leader + cr ( \cr NOTE second character must be pressed within 1 second ).
- The current line is underlined with a single pixel white line (all colorschemes).
- F2 - turns on/off line numbers.
- F3 - turns on/off ident guidelines
- F4 - turns on/off line wrapping
- F5 - turns on/off automatic identation (needs to be turned off when pasting text into vim).
- F6 - jump to next window
- F7 - open nerdtree to navigate the filesystem.
- F8 - turns on/off Tagbar.
- F9 - turns gitgutter on /off
- Tagbar shows your function names and variables in a small window on the right side of vim display.
- Tagbar also shows you the 'scope' meaning it highlights the function name the current code line belongs to.
- Pressing enter in Tagbar window on a function name makes the main window jump to that function.
- Matching brackets are automatically highlighted.
- Vim-Gitgutter shows what lines you have changed since committing that file to git (display refreshes every 4 seconds)
- Nerdtree lets you navigate the filesystem and open files.
- Git-fugitive lets you commit to your git repository right from vim.
- Surround lets you easily add change quotes, brakets, etc around a text block: https://github.com/tpope/vim-surround
- Search results are highlighted.
- Case is ignored in search.
- Vim remembers the code line that you were in last time the file was open.
- '' is mapped to `` meaning that the command '' returns to the line and character you were on before a jump in the text.
- Backspace configured to work like it should.
After installation fire up urxvt and start vim in it :)
git clone https://github.com/mhartzel/vim_python3_ide_installer-gentoo.git
cd vim_python3_ide_installer-gentoo
./install_vim_and_packages_required_for_python3_ide.sh
Toggle line numbers on/off with F2
Toggle indent guides on/off with F3
Toggle Tagbar on/off with F8
Python3: leader + pw ( \pw )
C: leader + cr ( \cr )
Vim-Gitgutter shows what lines you have changes since committing that file to git (display refreshes every 4 seconds).
Toggle Gitgutter on/off with F9
Open Nerdtree with F7 and close with q
Gwrite or Gw = git add .
Gstatus or Gst = git status
Gcommit or Gco = git commit