Clone Jarvis into your directory of choice and run the install script. This script will install Homebrew (if it needs to) and then install all of Jarvis' dependencies.
Warning: This will move existing zsh
, tmux
, or nvim
configurations to a backup folder inside of the installation repo.
git clone https://github.com/ctaylo21/jarvis ~/jarvis
cd ~/jarvis
./install.sh
The following tools are the only ones that are (currently) required to be installed manually (if you are using OSX).
-
Install iTerm2 - Terminal emulator for macOSX.
-
Install iTerm2 Oceanic Theme - Oceanic theme for Iterm. Provides seamless UI experience between Neovim + Tmux.
-
Manually update your iTerm profile to use a new font (Knack Regular Nerd Font Complete is added by the installation script) and colorscheme.
-
(Optional) Depending on your autocomplete needs with coc.nvim, you will want to install the appropriate langague servers. For example, I use the following extensions:
- Typescript/Javascript:
:CocInstall coc-tsserver
- Eslint:
:CocInstall coc-eslint
- Prettier:
:CocInstall coc-prettier
- CSS:
:CocInstall coc-css
- json:
:CocInstall coc-json
- (Optional) Install Pecan for customizable OSX header. Follow install instructions on page. For Oceanic theme, copy
jarvis/config/Pecan/style.css
into~/Library/Application Support/Übersicht/widgets/Pecan/style.css
and refresh widget by usingÜbersicht
->Refresh All Widgets
from native OSX menu bar.
cd ~/.config/nvim/plugged/tern_for_vim/
npm install
Installed Tools
- Tmux - Terminal multiplexer with session management, customizable terminal layouts, and much more.
- NeoVim - A fork of Vim that was created to be a community-driven rewrite of Vim that is focused on cleaning up the codebase and providing a way for developers to contribute to the advancement of the editor. For a list of all the plugins installed for Neovim, see the plugins file.
- Python 3/Python Neovim Client - Implements support for python plugins in Neovim.
- ripgrep - A blazingly fast line-oriented search tool that respects .gitignore rules.
- fzf - A general-purpose command-line fuzzy finder that can be used with any list; files, command history, processes, hostnames, bookmarks, git commits, etc.
- z - Tracks your most used directories and lets you quickly hop there with regexes.
- nerd font - Custom fonts with glyphs added for icon support within NeoVim.
- Tmux Plugin Manager - Installs and loads tmux plugins.
These steps currently just detail instructions for getting Neovim working in Windows with Jarvis.
Follow the Windows install instructions from the Neovim wiki.
- Install Python 3
- Ensure the latest version of the Visual Studio Build Tools is installed (required by pip)
- Install the python client for Neovim with
pip3 install --upgrade neovim
- Set python installation location
let g:python3_host_prog = 'Path\To\Python\Python37\python.exe'
Note: Cloning this repo probably isn't necessary. You only need to grab the config/nvim/init.vim
and config/nvim/plugins.vim
files from this repo and put them in the correct locations on your computer.
- Copy
config\nvim\init.vim
to~\AppData\Local\nvim\init.vim
on your computer. - Copy
jarvis\config\nvim\init.vim
to~\AppData\Local\nvim\plugins.vim
on your computer. - Open
~\AppData\Local\nvim\init.vim
and replace every instance of~/.config/nvim/
with~\AppData\Local\nvim\
- Open Neovim (
C:\tools\neovim\Neovim\bin\nvim-qt.exe
) and run:PlugInstall
and:UpdateRemotePlugins
. You might need to close and re-open Neovim. - Install the vim linter vint with
pip install vim-vint
- Install ripgrep for windows (may need to run as admin)
choco intall ripgrep
- Copy custom vim airline theme:
config\nvim\space.vim\
to~\AppData\Local\nvim\plugged\vim-airline-themes\autoload\airline\themes\space.vim
The following configurations require manual changes outside of Jarvis.
These are the steps to configure your iTerm setup. Typically, I work in full-screen mode with multiple tmux sessions and panes. This keeps things very distraction-free and maximizes screen space.
Warning: The automatic loading of settings is untested. The settings were just exported from my current setup.
In iTerm, do the following:
- Load settings from folder:
Preferences
->General
->Preferences
->Load preferences from a custom folder or URL
and choose<your-jarvis-directory>/iterm
If automatically loading settings didn't work, the key pieces to manually configure are:
- Setting your font:
Prefereneces
->Profiles
->Text
->Font
->Change Font
- Set Native Windows:
Preferences
->General
->Window
->Native Full Screen Windows
- Hide menu bar in full screen:
Preferences
->Appearances
->System
->Auto-hide menu bar in non-native fullscreen
- Hide scrollbars:
Preferences
->Appearances
->Window
->Hide scrollbars
- Uncheck "Show border around window":
Preferences
->Appearance
->Window
->Show border around window
- (Optional) Make iterm default to full-screen windows:
Preferences
->Profiles
->Window
->Settings for New Windows
->Style: Fullscreen
In order to keep your fingers near the home row, mapping caps lock to escape to get out of different vim modes can be extremely helpful. This is especially useful for laptops that made the escape key "virutal" (I'm looking at you, Apple).
MacOSX
This can be done on MacOS by following these simple steps: http://vim.wikia.com/wiki/Map_caps_lock_to_escape_in_macOS
Windows
Install and use the free tool SharpKeys to easily remap caps lock to escape on Windows.