tvl-depot/README.md
2017-01-04 00:10:33 -05:00

4.3 KiB

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 <C-h> 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):

$ 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):

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:

$ 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

Sublime keybindings (user)

Default (OSX).sublime-keymap

other notes

  • Install Hasklig for ligature support in Elm, Elixir, etc
  • Install FiraCode for ligature support
  • Install Operator Mono for expressive Italics
  • Install powerline fonts
  • add Adobe Source Code Pro font for shell and text editors
  • increase trackpad / mouse speed to maximum levels