/jarvis

Dotfiles for a powerful, web development-focused environment powered by Neovim, iTerm2, tmux, and zsh

Primary LanguageVim ScriptMIT LicenseMIT

PR's Welcome

Jarvis

(Neo)Vim of the Future
A powerful, minimalist development environment with cutting-edge features

Jarvis SS

Table of Contents

Features

The following are features provided by Jarvis. They all have quick keybindings to make them quick and easy to use.

  1. Quick-open files - zsh & NeoVim

    Open files with simple keystrokes with fuzzy matching via command line and inside NeoVim.

  2. Buffer management - NeoVim

    Manage buffers inside NeoVim and add/delete/search your open files.

  3. Project searching - NeoVim

    Quickly search for simple terms or complex regular expressions in your project.

  4. Asynchronous linting - NeoVim

    For Typescript/Javascript development, code is linted asynchronously with coc-eslint and automatically formatted via coc-prettier on file save to conform to prettier standards.

  5. Session management - Tmux and zsh/fzf

    Create sessions for each project with a custom layout. Quickly browse, create, and delete sessions. Tmux even keeps sessions alive if the terminal is closed. Using fzf and zsh, you can create or switch to sessions easily, as well as delete session by name or fuzzy-search.

  6. Keyword auto-complete - NeoVim and zsh

    Neovim - Automatic, asynchronous keyword completion available in the current buffer via coc.nvim. It's powered by the same language server extensions as VSCode. It also supports the new "floating window" feature so you can finally have syntax highlighting in your completion windows!

    A variety of languages are supported by coc.nvim. I currently use a pretty standard set for web development that I will continue to tweak as needed.

  7. Code Snippets - NeoVim

    Commonly used code snippets made available with a few keystrokes to reduce time and effort via neosnippet. Snippets available via auto-complete window removes need to memorize commands. Quickly hop to relevant pieces of snippet as needed.

  8. Improved Vim motion - NeoVim

    Using vim-easymotion, quickly jump to precise locations with minimal keystrokes.

Installation

Neovim is supported across multiple platforms. Some tools used by Jarvis are not, however. For MacOSX, an installation script is included that will install several tools for you. For Windows, no installation script is available, but you can manually install everything needed for Neovim in a few short steps.

See the Installation Guide for detailed instructions.

Commands

See the Commands Guide for a list of mappings/shortcuts.

Optional Tools

This is a collection of cool tools that you might want to use.

z* - Tracks most commonly used directories for optimized directory switching

vtop* - A nifty graphical activity monitor for the command line

taskbook - Tasks, boards, & notes for command-line. Think Trello for the terminal.

pecan - Configurable menu bar for OSX.

vim-markdown-composer - Asynchronous markdown preview plugin for Vim/Neovim.

shpotify - Control Spotify from the command line (OSX-only)

* - Tool is installed automatically if install.sh script is used

Support

If you find any problems or bugs, please open a new issue.