Skip to content

Basic development environment, include bashrc, vimrc/plugins, gitconfig, etc.

License

Notifications You must be signed in to change notification settings

finaldie/final_dev_env

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fenv

fenv

The project is Basic Development Environment, including:

  • bashrc
  • vimrc, plugins
  • gitconfig
  • ...

This environment is a simple, clean and easy to manage.

Editors

  • Vim latest 8.x version
  • NeoVim 0.3.3 version

Vim Plugins

The following are the total plugins in here:

Code Browsing/Completion

Language Language Server
C/C++ YouCompleteMe(libclang), cquery, clangd, ccls
Python YouCompleteMe(jedi), pyls
Java YouCompleteMe(eclipse-jdt)
Javascript YouCompleteMe(tsserver)
Bash bash-language-server

Code Linters

Language Linter
C/C++ clangtidy
Python flake8, pylint
Bash shellcheck
YAML yamllint
Markdown alex, write-good
Json jsonlint
XML xmllint
HTML htmllint, alex, write-good
Javascript eslint

Code Fixers/Formatters

Language Fixers/Formatters
C/C++ clang-format
Python isort, yapf
Bash N/A
YAML prettier
Markdown prettier
Json jq, prettier
XML xmllint
HTML prettier
Javascript prettier, eslint

All-in-one Docker Image

Besides go through the Installation steps, the eaisest way to use this environment is pulling the Docker Image, and start it directly:

Pull Docker Image

docker pull finaldie/dev

This docker image is based on Ubuntu 18.10 release, and includes all basic build toolchains which work out of box.

Start

From the project you want to jump in the dev environment, then type:

docker run -it --rm -v `pwd`:/workspace finaldie/dev

Then, we enter the dev environment with all the scripts we want.

Notes: Configure above into .bash_profile would save a lot time in the future.

alias dev='docker run -it --rm -v `pwd`:/workspace finaldie/dev'

How to Install

If we want to build it from scratch, follow the step 1 to 4 :)

Step 1 - Clone and Deploy

First click Fork Button, then clone the code from your own repository and install it

git clone git@github.com:$yourname/final_dev_env.git fenv
cd fenv
git submodule update --init
make

Step 2 - Link Bashrc

  • After make, you will see the following text:

    if [ -f /path/to/fenv/user_env/all.bashrc ]; then
        . /path/to/fenv/user_env/all.bashrc
    fi
  • Copy this into your own ~/.bash_profile

  • Restart Bash

NOTE: After that, the two global environment variables already there:

  • FENV_HOME - All the bashrcs, git config and vim plugins here
  • FENV_GIT - the place of this repository in your computer

Step 3 - Install Vim Plugins

All the vim plugins are managed by vim-plug, so you need to install them for the first time

  • Run vim +PlugInstall +qall

NOTE: You also can open vim and run :PluginInstall for the first time
NOTE: For updating plugins, you can run :PluginUpdate to update all your plugins

Step 4 - Special Plugin

For who also install the YouCompleteMe, to complete this plugin's installation step:

  • go to its folder $FENV_HOME/vim/YouCompleteMe
  • Run ./install.py --clang-completer

Using System Clang

If in Mac, use system clang sometimes may be a solution, but not recommended

  • go to its folder $FENV_HOME/vim/YouCompleteMe
  • Run ./install.py --clang-completer --system-libclang

NOTE: If you are a Mac User, please download the lastest MacVim.

Enjoy

Now, your development environment is ready, any question/problem please file an issue here. If you also like it, please Star it.

Furture Read

Update Vim Plugins

If you only want to update your vim plugins, just run the following in your shell:

bash$ vim +PluginUpdate +qall

Update all scripts/configs

make

NOTES: This won't break your vim plugins, only re-deploy your scripts/configs

Install Powerline-Font

To give a better experience, install SourceCodePro font for the terminal.
Download it and install it in the laptop, and configure it from the terminal settings.

Contribution

If you have more suggestions or recommendations, it's great to send a pull request.

About

Basic development environment, include bashrc, vimrc/plugins, gitconfig, etc.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published