Jarvis
Table of Contents
Features
The following are features provided by Jarvis. They all have quick keybindings to make them quick and easy to use.
-
Quick-open files - zsh & NeoVim
Open files with simple keystrokes with fuzzy matching via command line and inside NeoVim.
-
Buffer management - NeoVim
Manage buffers inside NeoVim and add/delete/search your open files.
-
Project searching - NeoVim
Quickly search for simple terms or complex regular expressions in your project.
-
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.
-
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
andzsh
, you can create or switch to sessions easily, as well as delete session by name or fuzzy-search. -
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.
- Typescript/Javascript:
:CocInstall coc-tsserver
- Eslint:
:CocInstall coc-eslint
- Prettier:
:CocInstall coc-prettier
- CSS:
:CocInstall coc-css
- json:
:CocInstall coc-json
- Typescript/Javascript:
-
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.
-
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.