Skip to content

Instantly share code, notes, and snippets.

@fd0
Created January 26, 2019 21:24
Show Gist options
  • Save fd0/a64192393d99b229dc935b2caa510e49 to your computer and use it in GitHub Desktop.
Save fd0/a64192393d99b229dc935b2caa510e49 to your computer and use it in GitHub Desktop.
# Configuration for Alacritty, the GPU enhanced terminal emulator
# Any items in the `env` entry below will be added as
# environment variables. Some entries may override variables
# set by alacritty it self.
env:
# TERM env customization.
#
# If this property is not set, alacritty will set it to xterm-256color.
#
# Note that some xterm terminfo databases don't declare support for italics.
# You can verify this by checking for the presence of `smso` and `sitm` in
# `infocmp xterm-256color`.
TERM: xterm-256color
# Window dimensions in character columns and lines
# (changes require restart)
window:
dimensions:
columns: 80
lines: 24
padding:
x: 2
y: 2
# Adds this many blank pixels of padding around the window
# Units are physical pixels; this is not DPI aware.
# (change requires restart)
# padding:
# x: 2
# y: 2
# The FreeType rasterizer needs to know the device DPI for best results
# (changes require restart)
# dpi:
# x: 208
# y: 208
# Display tabs using this many cells (changes require restart)
tabspaces: 8
# When true, bold text is drawn using the bright variant of colors.
draw_bold_text_with_bright_colors: true
# Font configuration (changes require restart)
font:
# The normal (roman) font face to use.
normal:
family: Iosevka Term # should be "Menlo" or something on macOS.
# Style can be specified to pick a specific face.
style: Regular
# The bold font face
bold:
family: Iosevka Term # should be "Menlo" or something on macOS.
# Style can be specified to pick a specific face.
style: Bold
# The italic font face
italic:
family: Iosevka Term # should be "Menlo" or something on macOS.
# Style can be specified to pick a specific face.
style: Italic
# Point size of the font
size: 10
# Offset is the extra space around each character. offset.y can be thought of
# as modifying the linespacing, and offset.x as modifying the letter spacing.
# offset:
# x: -0.2
# y: 0
# Glyph offset determines the locations of the glyphs within their cells with
# the default being at the bottom. Increase the x offset to move the glyph to
# the right, increase the y offset to move the glyph upward.
# glyph_offset:
# x: 0.0
# y: 0.0
# OS X only: use thin stroke font rendering. Thin strokes are suitable
# for retina displays, but for non-retina you probably want this set to
# false.
use_thin_strokes: true
# Should display the render timer
render_timer: false
# Colors (neverland)
colors:
# Default colors
primary:
background: '0x111111'
foreground: '0xcccccc'
cursor:
cursor: '0xcccccc'
text: '0x111111'
# Normal colors
normal:
black: '0x222222'
red: '0xe84f4f'
green: '0xb7ce42'
yellow: '0xfea63c'
blue: '0x005f87'
magenta: '0xb7416e'
cyan: '0x179e9e'
white: '0xcccccc'
# Bright colors
bright:
black: '0x666666'
red: '0xd23d3d'
green: '0xbde077'
yellow: '0xffe863'
blue: '0x0094d2'
magenta: '0xe16a98'
cyan: '0x1dcbcb'
white: '0xffffff'
# # Colors (default)
# colors:
# # Default colors
# primary:
# background: '0xfafafa'
# foreground: '0x69717a'
# # Normal colors
# normal:
# black: '0xe7e7e7'
# red: '0xf46864'
# green: '0x00ae58'
# yellow: '0xac9510'
# blue: '0x389bff'
# magenta: '0xdc6dd2'
# cyan: '0x00d0cc'
# white: '0x5b636b'
# # Bright colors
# bright:
# black: '0x8f98a1'
# red: '0xb42b33'
# green: '0x007525'
# yellow: '0x726000'
# blue: '0x0066cb'
# magenta: '0xa03398'
# cyan: '0x007793'
# white: '0x00020e'
# Colors (Solarized Dark)
# colors:
# # Default colors
# primary:
# background: '0x002b36'
# foreground: '0x839496'
#
# # Normal colors
# normal:
# black: '0x073642'
# red: '0xdc322f'
# green: '0x859900'
# yellow: '0xb58900'
# blue: '0x268bd2'
# magenta: '0xd33682'
# cyan: '0x2aa198'
# white: '0xeee8d5'
#
# # Bright colors
# bright:
# black: '0x002b36'
# red: '0xcb4b16'
# green: '0x586e75'
# yellow: '0x657b83'
# blue: '0x839496'
# magenta: '0x6c71c4'
# cyan: '0x93a1a1'
# white: '0xfdf6e3'
#
# # Colors (Gruvbox dark)
# colors:
# # Default colors
# primary:
# # hard contrast: background = '0x1d2021'
# # background: '0x282828'
# # soft contrast: background = '0x32302f'
# background: '0x1d2021'
# foreground: '0xebdbb2'
# # Normal colors
# normal:
# black: '0x282828'
# red: '0xcc241d'
# green: '0x98971a'
# yellow: '0xd79921'
# blue: '0x458588'
# magenta: '0xb16286'
# cyan: '0x689d6a'
# white: '0xa89984'
# # Bright colors
# bright:
# black: '0x928374'
# red: '0xfb4934'
# green: '0xb8bb26'
# yellow: '0xfabd2f'
# blue: '0x83a598'
# magenta: '0xd3869b'
# cyan: '0x8ec07c'
# white: '0xebdbb2'
# # Colors (Gruvbox light)
# colors:
# # Default colors
# primary:
# # hard contrast: background = '0xf9f5d7'
# background: '0xfbf1c7'
# # soft contrast: background = '0xf2e5bc'
# foreground: '0x3c3836'
# # Normal colors
# normal:
# black: '0xfbf1c7'
# red: '0xcc241d'
# green: '0x98971a'
# yellow: '0xd79921'
# blue: '0x458588'
# magenta: '0xb16286'
# cyan: '0x689d6a'
# white: '0x7c6f64'
# # Bright colors
# bright:
# black: '0x928374'
# red: '0x9d0006'
# green: '0x79740e'
# yellow: '0xb57614'
# blue: '0x076678'
# magenta: '0x8f3f71'
# cyan: '0x427b58'
# white: '0x3c3836'
# # Colors (Pencil Light)
# colors:
# # Default Colors
# primary:
# background: '0xf1f1f1'
# foreground: '0x424242'
# # Normal colors
# normal:
# black: '0x212121'
# red: '0xc30771'
# green: '0x10a778'
# yellow: '0xa89c14'
# blue: '0x008ec4'
# magenta: '0x523c79'
# cyan: '0x20a5ba'
# white: '0xe0e0e0'
# # Bright colors
# bright:
# black: '0x212121'
# red: '0xfb007a'
# green: '0x5fd7af'
# yellow: '0xf3e430'
# blue: '0x20bbfc'
# magenta: '0x6855de'
# cyan: '0x4fb8cc'
# white: '0xf1f1f1'
# # Colors (Tomorrow Night Bright)
# colors:
# # Default colors
# primary:
# background: '0xfafafa'
# foreground: '0x69717a'
# # Normal colors
# normal:
# black: '0xe7e7e7'
# red: '0xf46864'
# green: '0x00ae58'
# yellow: '0xac9510'
# blue: '0x389bff'
# magenta: '0xdc6dd2'
# cyan: '0x00b0cc'
# white: '0x5b636b'
# # Bright colors
# bright:
# black: '0x8f98a1'
# red: '0xb42b33'
# green: '0x007525'
# yellow: '0x726000'
# blue: '0x0066cb'
# magenta: '0xa03398'
# cyan: '0x007793'
# white: '0x00020e'
# Visual Bell
#
# Any time the BEL code is received, Alacritty "rings" the visual bell. Once
# rung, the terminal background will be set to white and transition back to the
# default background color. You can control the rate of this transition by
# setting the `duration` property (represented in milliseconds). You can also
# configure the transition function by setting the `animation` property.
#
# Possible values for `animation`
# `Ease`
# `EaseOut`
# `EaseOutSine`
# `EaseOutQuad`
# `EaseOutCubic`
# `EaseOutQuart`
# `EaseOutQuint`
# `EaseOutExpo`
# `EaseOutCirc`
# `Linear`
#
# To completely disable the visual bell, set its duration to 0.
#
visual_bell:
animation: EaseOutExpo
duration: 0
# Key bindings
#
# Each binding is defined as an object with some properties. Most of the
# properties are optional. All of the alphabetical keys should have a letter for
# the `key` value such as `V`. Function keys are probably what you would expect
# as well (F1, F2, ..). The number keys above the main keyboard are encoded as
# `Key1`, `Key2`, etc. Keys on the number pad are encoded `Number1`, `Number2`,
# etc. These all match the glutin::VirtualKeyCode variants.
#
# Possible values for `mods`
# `Command`, `Super` refer to the super/command/windows key
# `Control` for the control key
# `Shift` for the Shift key
# `Alt` and `Option` refer to alt/option
#
# mods may be combined with a `|`. For example, requiring control and shift
# looks like:
#
# mods: Control|Shift
#
# The parser is currently quite sensitive to whitespace and capitalization -
# capitalization must match exactly, and piped items must not have whitespace
# around them.
#
# Either an `action` or `chars` field must be present. `chars` writes the
# specified string every time that binding is activated. These should generally
# be escape sequences, but they can be configured to send arbitrary strings of
# bytes. Possible values of `action` include `Paste` and `PasteSelection`.
#
# Want to add a binding (e.g. "PageUp") but are unsure what the X sequence
# (e.g. "\x1b[5~") is? Open another terminal (like xterm) without tmux,
# then run `showkey -a` to get the sequence associated to a key combination.
key_bindings:
- { key: Up, mods: Control, action: IncreaseFontSize }
- { key: Down, mods: Control, action: DecreaseFontSize }
- { key: V, mods: Control|Shift, action: Paste }
- { key: C, mods: Control|Shift, action: Copy }
- { key: Q, mods: Command, action: Quit }
- { key: W, mods: Command, action: Quit }
- { key: Insert, mods: Shift, action: PasteSelection }
- { key: Home, chars: "\x1bOH", mode: AppCursor }
- { key: Home, chars: "\x1b[1~", mode: ~AppCursor }
- { key: End, chars: "\x1bOF", mode: AppCursor }
- { key: End, chars: "\x1b[4~", mode: ~AppCursor }
# - { key: PageUp, mods: Shift, chars: "\x1b[5;2~" }
# - { key: PageDown, mods: Shift, chars: "\x1b[6;2~" }
- { key: PageUp, mods: Shift, action: ScrollPageUp }
- { key: PageDown, mods: Shift, action: ScrollPageDown }
- { key: PageUp, mods: Control, chars: "\x1b[5;5~" }
- { key: PageUp, chars: "\x1b[5~" }
- { key: PageDown, mods: Control, chars: "\x1b[6;5~" }
- { key: PageDown, chars: "\x1b[6~" }
- { key: Left, mods: Shift, chars: "\x1b[1;2D" }
- { key: Left, mods: Control, chars: "\x1b[1;5D" }
- { key: Left, mods: Alt, chars: "\x1b[1;3D" }
- { key: Left, chars: "\x1b[D", mode: ~AppCursor }
- { key: Left, chars: "\x1bOD", mode: AppCursor }
- { key: Right, mods: Shift, chars: "\x1b[1;2C" }
- { key: Right, mods: Control, chars: "\x1b[1;5C" }
- { key: Right, mods: Alt, chars: "\x1b[1;3C" }
- { key: Right, chars: "\x1b[C", mode: ~AppCursor }
- { key: Right, chars: "\x1bOC", mode: AppCursor }
- { key: Up, mods: Shift, chars: "\x1b[1;2A" }
- { key: Up, mods: Control, chars: "\x1b[1;5A" }
- { key: Up, mods: Alt, chars: "\x1b[1;3A" }
- { key: Up, chars: "\x1b[A", mode: ~AppCursor }
- { key: Up, chars: "\x1bOA", mode: AppCursor }
- { key: Down, mods: Shift, chars: "\x1b[1;2B" }
- { key: Down, mods: Control, chars: "\x1b[1;5B" }
- { key: Down, mods: Alt, chars: "\x1b[1;3B" }
- { key: Down, chars: "\x1b[B", mode: ~AppCursor }
- { key: Down, chars: "\x1bOB", mode: AppCursor }
- { key: Tab, mods: Shift, chars: "\x1b[Z" }
- { key: F1, chars: "\x1bOP" }
- { key: F2, chars: "\x1bOQ" }
- { key: F3, chars: "\x1bOR" }
- { key: F4, chars: "\x1bOS" }
- { key: F5, chars: "\x1b[15~" }
- { key: F6, chars: "\x1b[17~" }
- { key: F7, chars: "\x1b[18~" }
- { key: F8, chars: "\x1b[19~" }
- { key: F9, chars: "\x1b[20~" }
- { key: F10, chars: "\x1b[21~" }
- { key: F11, chars: "\x1b[23~" }
- { key: F12, chars: "\x1b[24~" }
- { key: Back, chars: "\x7f" }
- { key: Back, mods: Alt, chars: "\x1b\x7f" }
- { key: Insert, chars: "\x1b[2~" }
- { key: Delete, chars: "\x1b[3~" }
# Mouse bindings
#
# Currently doesn't support modifiers. Both the `mouse` and `action` fields must
# be specified.
#
# Values for `mouse`:
# - Middle
# - Left
# - Right
# - Numeric identifier such as `5`
#
# Values for `action`:
# - Paste
# - PasteSelection
# - Copy (TODO)
mouse_bindings:
- { mouse: Middle, action: PasteSelection }
mouse:
double_click: { threshold: 300 }
triple_click: { threshold: 300 }
hide_when_typing: true
selection:
semantic_escape_chars: ",│`|:\"' ()[]{}<>"
# Shell
#
# You can set shell.program to the path of your favorite shell, e.g. /bin/fish.
# Entries in shell.args are passed unmodified as arguments to the shell.
#shell:
# program: /bin/bash
# args:
# - --login
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment