# My Mac Configuration I'm documenting this primarily for personal use. This reposity contains shell configs, vim configs, emacs configs, a list of commonly used applications, and other items. The overall goal of this repository is to reduce the time it takes to adopt a new computer and equip it with the necessary tooling to do meaningful work. # Neovim The following snippet fixes the `` issue in neovim on macOS. ``` $ infocmp $TERM | sed 's/kbs=^[hH]/kbs=\\177/' > $TERM.ti $ tic $TERM.ti ``` ## True Color and Italics in tmux and vim ### TrueColor Note: make sure that the terminal you are using supports TrueColor (hint: recent version of iTerm2 do). Also make sure that the tmux version you are using supports TrueColor (hint: versions north of 2.2 should). At each step of the way, test TrueColor using the following shell pipeline (hint: the gradients should be smooth): ```bash $ curl https://raw.githubusercontent.com/JohnMorales/dotfiles/master/colors/24-bit-color.sh | bash ``` * Terminal: recent versions of iTerm 2 should support TrueColor * Tmux: versions 2.2 and after should support TrueColor * NeoVim: recent versions of NeoVim should support TrueColor Enable TrueColor in your `~/.vimrc` (already done in this repository): ```viml set termguicolors ``` Enable TrueColor in your `~/.tmux.conf` (already done in this repository): NOTE: This may conflict with the setting for italics. Need to verify to confirm / disconfirm this (pending). ``` set -ga terminal-overrides ",xterm-256color-italic:Tc" ``` ### Italics In the file `/configs/.tmux.conf` there is a line to add italics support to tmux: ``` set -g default-terminal "tmux-256color-italic" ``` The `$TERM` entry, `tmux-256color-italic`, will be unavailable until you add the file, `/configs/tmux-256color-italic`, to your terminal database. You can do this with the following command: ```bash $ tic ~/pc_settings/configs/tmux-256color-italic ``` ## Ligature Support To support ligatures make sure Hasklig is installed (link at the bottom). Ensure that you are using an iTerm 2 build that supports ligatures. With both of these tasks completed, ligatures should function in Neovim. ### Commonly used applications * dash - provides quick access to offline documentation (use with Alfred) * Alfred - replaces macOS Spotlight and integrates with external Apps like Dash * homebrew - necessary for procuring shell applications * karabiner - `key-repeat: 50ms delay-until-repeat: 300ms` increase your Mac's key repeat settings beyond the default range * spectacle - resize and move your windows with keyboard shortcuts * iterm - substitute for Terminal application * oh my zsh - a full suite of z-shell extensions * sublime text - text editor * webstorm - web IDE * pycharm - python IDE * docker - for running containers and virtual environments * mou - markdown editor * f.lux - modulates the blue amount from the screen throughout the day ### Sublime Text Packages * SublimeLinter - lints files * SublimeLinter-contrib-eslint - lints using eslint * Oceanic Next Theme - buffer and editor theme * Vintageous - extended Vim key-binding support * Vintageous-Origami - extended Vintageous support for window pane mgt (ctrl + w) `"vintageous_use_ctrl_keys": true` * Origami - dep. of Vintageous-Origami (see above) * babel-sublime - supports JSNext features * SublimeCodeIntel - robust autocomplete engine * PackageResourceViewer - quickly view / edit installed Sublime Packages to enhance customization options * SidebarEnhancements - extensions for Sublime Text's sidebar * SublimeREPL - convenient REPL for ST * FoldComments - collapse comments with keystrokes #### Sublime preferences (user) [Preferences.sublime-settings](https://github.com/wpcarro/pc_settings/blob/master/Preferences.sublime-settings) #### Sublime keybindings (user) [Default (OSX).sublime-keymap](https://github.com/wpcarro/pc_settings/blob/master/Default%20(OSX).sublime-keymap) ### other notes * Install [Hasklig](https://github.com/i-tu/Hasklig) for ligature support in Elm, Elixir, etc * Install [FiraCode](https://github.com/tonsky/FiraCode/wiki) for ligature support * Install [Operator Mono](http://www.typography.com/blog/introducing-operator) for expressive Italics * Install powerline fonts * add Adobe Source Code Pro font for shell and text editors * increase trackpad / mouse speed to maximum levels