aboutsummaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorterminaldweller <thabogre@gmail.com>2021-05-14 18:14:50 +0000
committerterminaldweller <thabogre@gmail.com>2021-05-14 18:14:50 +0000
commit6e528248414e330c9e25e81596ab47b8b8a5b701 (patch)
treee1aa41a7f3198eeac187e6177ec7d4a33db229d3 /c
downloadscripts-6e528248414e330c9e25e81596ab47b8b8a5b701.tar.gz
scripts-6e528248414e330c9e25e81596ab47b8b8a5b701.zip
first commitmaster
Diffstat (limited to '')
-rw-r--r--c/debug.dbg15
-rw-r--r--c/devi_extra.h33
-rw-r--r--c/header.hpp4
-rw-r--r--c/main.c12
-rw-r--r--c/main.cpp6
-rw-r--r--cfam.vimrc10
-rwxr-xr-xchecknodeversion.sh18
-rw-r--r--compiler-explorer/ceconfig.json14
-rw-r--r--compiler-explorer/index.js21
-rw-r--r--compiler-explorer/main.js45
-rw-r--r--compiler-explorer/package.json14
-rw-r--r--crontab1
-rw-r--r--cygwin/.tmux.conf59
-rw-r--r--cygwin/.zshrc89
-rwxr-xr-xcygwin/ChangeCapsToControl.regbin0 -> 386 bytes
-rwxr-xr-xcygwin/_emacs.el124
-rwxr-xr-xcygwin/alac.bat2
-rw-r--r--cygwin/alacritty.yml747
-rw-r--r--cygwin/conemu.xml775
-rw-r--r--cygwin/devi.zsh-theme264
-rw-r--r--cygwin/sumatrapdf/SumatraPDF-settings.txt67
-rwxr-xr-xcygwin/xserver.bat2
22 files changed, 2322 insertions, 0 deletions
diff --git a/c/debug.dbg b/c/debug.dbg
new file mode 100644
index 0000000..36b21f6
--- /dev/null
+++ b/c/debug.dbg
@@ -0,0 +1,15 @@
+
+set width 0
+set height 0
+set verbose off
+
+b main
+commands 1
+ print argc
+ print argv[0]
+ continue
+end
+
+file ./main-dbg
+run
+
diff --git a/c/devi_extra.h b/c/devi_extra.h
new file mode 100644
index 0000000..9ef66b3
--- /dev/null
+++ b/c/devi_extra.h
@@ -0,0 +1,33 @@
+
+/*first line intentionally left blank.*/
+/**********************************************************************************************************************/
+#include <inttypes.h>
+#include <stdint.h>
+/**********************************************************************************************************************/
+#ifndef DEVI_EXTRA_H
+#define DEVI_EXTRA_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define RED "\033[1;31m"
+#define CYAN "\033[1;36m"
+#define GREEN "\033[1;32m"
+#define BLUE "\033[1;34m"
+#define BLACK "\033[1;30m"
+#define BROWN "\033[1;33m"
+#define MAGENTA "\033[1;35m"
+#define GRAY "\033[1;37m"
+#define DARKGRAY "\033[1;30m"
+#define YELLOW "\033[1;33m"
+#define NORMAL "\033[0m"
+#define CLEAR "\033[2J"
+
+#ifdef __cplusplus
+}
+#endif
+#endif
+/**********************************************************************************************************************/
+/*last line intentionally left blank.*/
+
diff --git a/c/header.hpp b/c/header.hpp
new file mode 100644
index 0000000..2df2a5a
--- /dev/null
+++ b/c/header.hpp
@@ -0,0 +1,4 @@
+
+#include <iostream>
+#include <string>
+#include <vector>
diff --git a/c/main.c b/c/main.c
new file mode 100644
index 0000000..8cc320a
--- /dev/null
+++ b/c/main.c
@@ -0,0 +1,12 @@
+
+#include <inttypes.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <string.h>
+
+#define __maybe_unused__ __attribute__((unused))
+
+#pragma weak main
+int main (int argc, char** argv) {
+ return 0;
+}
diff --git a/c/main.cpp b/c/main.cpp
new file mode 100644
index 0000000..4e1d93b
--- /dev/null
+++ b/c/main.cpp
@@ -0,0 +1,6 @@
+
+#include "header.hpp"
+
+int main (int argc, char** argv) {
+ return 0;
+}
diff --git a/cfam.vimrc b/cfam.vimrc
new file mode 100644
index 0000000..e34c70f
--- /dev/null
+++ b/cfam.vimrc
@@ -0,0 +1,10 @@
+set tabstop=2
+"set softtabstop=4
+set shiftwidth=2
+set noexpandtab
+augroup project
+ autocmd!
+ autocmd BufRead,BufNewFile *.h,*.c set filetype=c.doxygen
+augroup END
+
+set tags=./tags
diff --git a/checknodeversion.sh b/checknodeversion.sh
new file mode 100755
index 0000000..9f13e80
--- /dev/null
+++ b/checknodeversion.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+function check_node_version() {
+ MIN_VERSION="7.6.0"
+ if [[ "$MIN_VERSION" == "$1" ]]; then return 0;fi
+ local IFS=.
+ VERSION="${1:1}"
+ local i ver1=($MIN_VERSION) ver2=($VERSION)
+ for ((i=0; i < ${#ver1[@]}; i++)); do
+ if [[ 10#${ver1[i]} > 10#${ver2[i]} ]]; then return 1;fi
+ if [[ 10#${ver1[i]} < 10#${ver2[i]} ]]; then return 0;fi
+ done
+}
+
+NODE_VERSION=$(node --version)
+check_node_version $NODE_VERSION
+if [[ $? == 1 ]]; then echo "node version is too old. please use v.7.6.0 or newer." && exit 1; fi
+echo "node version is new enough!"
diff --git a/compiler-explorer/ceconfig.json b/compiler-explorer/ceconfig.json
new file mode 100644
index 0000000..386a2cc
--- /dev/null
+++ b/compiler-explorer/ceconfig.json
@@ -0,0 +1,14 @@
+{"userArguments":"-O3",
+ "filters":{
+ "binary":false,
+ "commentOnly":true,
+ "demangle":true,
+ "directives":true,
+ "execute":false,
+ "intel":true,
+ "labels":true,
+ "lables":true,
+ "libraryCode":false,
+ "trim":false
+ }
+}
diff --git a/compiler-explorer/index.js b/compiler-explorer/index.js
new file mode 100644
index 0000000..fae05b7
--- /dev/null
+++ b/compiler-explorer/index.js
@@ -0,0 +1,21 @@
+
+const fetch = require('node-fetch')
+const fs = require("fs")
+const util = require("util")
+const readFile = util.promisify(fs.readFile)
+
+async function JSON_POST_req(data,options) {
+ var dummy = {"source": data.toString(), "options":"{}"}
+ return await {method:"POST", body:JSON.stringify(dummy), headers:{"Content-Type":"application/json"}}
+}
+
+function compiler_explorer(data, options) {
+ JSON_POST_req(data, options).then(post_arg=>
+ fetch("https://godbolt.org/api/compiler/g92/compile?options=-O3", post_arg)).then(res=>
+ res.text()).then(body=>
+ console.log(body.split("\n").slice(1,body.split("\n").length).join("\n"))).catch(error=>
+ console.log(error))
+}
+
+const config = JSON.parse(fs.readFileSync("./ceconfig.json"))
+compiler_explorer(process.argv[2], config)
diff --git a/compiler-explorer/main.js b/compiler-explorer/main.js
new file mode 100644
index 0000000..1b142c3
--- /dev/null
+++ b/compiler-explorer/main.js
@@ -0,0 +1,45 @@
+
+const fetch = require('node-fetch')
+const fs = require("fs")
+const util = require("util")
+const readFile = util.promisify(fs.readFile)
+const path = require("path")
+const defaultOpts = {
+"userArguments":"-O3", "filters":
+ {"binary":false,
+ "commentOnly":true,
+ "demangle":true,
+ "directives":true,
+ "execute":false,
+ "intel":true,
+ "labels":true,
+ "lables":true,
+ "libraryCode":false,
+ "trim":false
+ }
+}
+
+async function read_C_source(path) {
+ return await readFile(path, "utf-8")
+}
+
+function JSON_POST_req(data, options) {
+ const config = fs.readFileSync(options, "utf-8")
+ var dummy = {"source": data, "options": JSON.parse(config)}
+ /* if no config found, then run default
+ var dummy = {"source": data, "options": defaultOpts}
+ */
+ return {method:"POST", body:JSON.stringify(dummy), headers:{"Content-Type":"application/json"}}
+}
+
+function compiler_explorer(path, options) {
+ read_C_source(path).then(data=>
+ JSON_POST_req(data, options)).then(post_arg=>
+ fetch("https://godbolt.org/api/compiler/g92/compile", post_arg)).then(res=>
+ res.text()).then(body=>
+ console.log(body.split("\n").slice(1,body.split("\n").length).join("\n"))).catch(error=>
+ console.log(error))
+}
+
+if (process.argv.length < 3) {console.log("you did not specify enough args. needs two. path to source code and path to options to pass to compiler explorer.")}
+else {compiler_explorer(process.argv[2], process.argv[3])}
diff --git a/compiler-explorer/package.json b/compiler-explorer/package.json
new file mode 100644
index 0000000..1b60c79
--- /dev/null
+++ b/compiler-explorer/package.json
@@ -0,0 +1,14 @@
+{
+ "name": "compiler-explorer",
+ "version": "1.0.0",
+ "description": "",
+ "main": "main.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "author": "Farzad Sadeghi",
+ "license": "GPL-3.0-or-later",
+ "dependencies": {
+ "node-fetch": ">=2.1.2"
+ }
+}
diff --git a/crontab b/crontab
new file mode 100644
index 0000000..add2fb7
--- /dev/null
+++ b/crontab
@@ -0,0 +1 @@
+59 * * * * if [[ $(yy --alive) == hived ]]; then :;else yy --demon &;fi
diff --git a/cygwin/.tmux.conf b/cygwin/.tmux.conf
new file mode 100644
index 0000000..5fbae37
--- /dev/null
+++ b/cygwin/.tmux.conf
@@ -0,0 +1,59 @@
+
+set -g default-terminal "tmux-256color"
+set-option -g prefix C-a
+
+#key bindings
+bind | split-window -h
+bind - split-window -v
+bind -r k select-pane -U
+bind -r j select-pane -D
+bind -r h select-pane -L
+bind -r l select-pane -R
+bind -n S-Right next-window
+bind -n S-Left previous-window
+bind -n M-Up select-pane -U
+bind -n M-Down select-pane -D
+bind -n M-Left select-pane -L
+bind -n M-Right select-pane -R
+setw -g mode-keys vi
+bind [ copy-mode
+bind -T copy-mode-vi 'v' send -X begin-selection
+bind -T copy-mode-vi 'y' send -X copy-selection-and-cancel
+#bind -T copy-mode-vi 'V' rectangle-toggle
+bind ] paste-buffer
+bind Space choose-buffer
+
+#move windows
+bind-key -n C-S-Left swap-window -t -1
+bind-key -n C-S-Right swap-window -t +1
+
+#unbindings
+unbind Up
+unbind Down
+unbind Left
+unbind Right
+
+#color stuff
+set -g status-bg colour16
+set -g status-position bottom
+set -g status-justify left
+set -g status-fg colour137
+set -g status-attr dim
+set -g status-left ""
+set -g status-right "#[fg=colour16,bg=colour32,bold] %d/%m #[fg=colour16,bg=colour22,bold] %H:%M:%S "
+set -g status-right-length 70
+set -g status-left-length 70
+setw -g window-status-current-fg colour6
+setw -g window-status-current-bg colour22
+setw -g window-status-current-attr bold
+setw -g window-status-current-format " #I#[fg=colour16]:#[fg=colour16]#W#[fg=colour16]#F "
+setw -g window-status-fg colour0
+setw -g window-status-bg colour23
+setw -g window-status-attr none
+setw -g window-status-format "#[fg=colour1, bold] #I#[fg=colour1, bold]:#[fg=colour16]#W#[fg=colour16]#F "
+setw -g window-status-bell-attr bold
+setw -g window-status-bell-fg colour255
+setw -g window-status-bell-bg colour64
+# message text
+set -g message-attr bold
+set -g message-style bg='#44475a',fg='#8be9fd'
diff --git a/cygwin/.zshrc b/cygwin/.zshrc
new file mode 100644
index 0000000..eedd697
--- /dev/null
+++ b/cygwin/.zshrc
@@ -0,0 +1,89 @@
+
+COMPLETION_WAITING_DOTS="true"
+plugins=(git svn zsh-syntax-highlighting autojump vi-mode)
+export ZSH=~/.oh-my-zsh
+
+if [[ -n "$INSIDE_EMACS" ]]; then
+ ZSH_THEME="simple"
+else
+ ZSH_THEME="devi"
+fi
+
+COMPLETION_WAITING_DOTS="true"
+plugins=(
+ git
+ zsh-syntax-highlighting
+ autojump
+)
+source $ZSH/oh-my-zsh.sh
+function dig {
+ globalholecounter=0
+ if [ -d ~/abbatoir ]; then
+ while [ 1 ]; do
+ if [ -d ~/abbatoir/hole$globalholecounter ]; then
+ if test "$(ls -A ~/abbatoir/hole$globalholecounter)"; then
+ :
+ else
+ cd ~/abbatoir/hole$globalholecounter
+ break
+ fi
+ else
+ mkdir ~/abbatoir/hole$globalholecounter
+ cd ~/abbatoir/hole$globalholecounter
+ echo $globalholecounter
+ break
+ fi
+ ((globalholecounter++))
+ done
+ else
+ mkdir ~/abbatoir
+ mkdir ~/abbatoir/hole$globalholecounter
+ cd ~/abbatoir/hole$globalholecounter
+ fi
+}
+if [[ -n $SSH_CONNECTION ]]; then
+ export EDITOR='vim'
+else
+ export EDITOR='mvim'
+fi
+alias quit="exit"
+alias clean="clear"
+alias la="ls -A"
+alias digg="dig && clear"
+alias lss="ls -s"
+alias diff="colordiff"
+function clearhalf {
+ size=$(stty size|gawk '{print$1}')
+ size=$(($size/2))
+ tput cup $size 0 && tput ed
+}
+alias cleanhalf="clearhalf"
+alias halfclear="clearhalf"
+alias halfclean="clearhalf"
+alias mv="mv -i"
+alias cp="cp -i"
+alias contest="ping 4.2.2.4 -c 7"
+function math {
+ echo $(($1))
+}
+
+alias ee="explorer ."
+alias vi="vim"
+alias lynx="lynx -lss ~/lynx.lss -prettysrc "
+alias tmux="tmux -2"
+function pdfsearch {
+ tempfile=$(mktemp)
+ for filename in /cygdrive/d/mi-server/ETCS/ONBOARD.KERNEL/RM/STD/*.pdf; do
+ echo $filename >> $tempfile
+ done
+ RGX=$1
+ shift
+ pdfgrep $RGX "$@" $(cat $tempfile)
+}
+
+REPORTTIME=4
+export BROWSER=lynx
+bindkey -v
+export KEYTIMEOUT=1
+export VIRTUAL_ENV_DISABLE_PROMPT=yes
+export TERM=screen-256color
diff --git a/cygwin/ChangeCapsToControl.reg b/cygwin/ChangeCapsToControl.reg
new file mode 100755
index 0000000..4bdf091
--- /dev/null
+++ b/cygwin/ChangeCapsToControl.reg
Binary files differ
diff --git a/cygwin/_emacs.el b/cygwin/_emacs.el
new file mode 100755
index 0000000..c68c7d7
--- /dev/null
+++ b/cygwin/_emacs.el
@@ -0,0 +1,124 @@
+
+(require 'package)
+(setq package-enable-at-startup nil)
+(let* ((no-ssl (and (memq system-type '(windows-nt ms-dos))
+ (not (gnutls-available-p))))
+ (proto (if no-ssl "http" "https")))
+ (when no-ssl
+ (warn "\
+Your version of Emacs does not support SSL connections,
+which is unsafe because it allows man-in-the-middle attacks.
+There are two things you can do about this warning:
+1. Install an Emacs version that does support SSL and be safe.
+2. Remove this warning from your init file so you won't see it again."))
+ ;; Comment/uncomment these two lines to enable/disable MELPA and MELPA Stable as desired
+(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
+;;(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t)
+(add-to-list 'package-archives (cons "melpa-stable" (concat proto "://stable.melpa.org/packages/")) t)
+(add-to-list 'package-archives (cons "org" (concat proto "://orgmode.org/elpa/")) t)
+(when (< emacs-major-version 24)
+ ;; For important compatibility libraries like cl-lib
+ (add-to-list 'package-archives (cons "elpa" (concat proto "://elpa.gnu.org/packages/")))))
+;;(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t)
+(add-to-list 'package-archives '("melpa-stable" . "http://stable.melpa.org/packages/") t)
+(package-initialize)
+(add-to-list 'load-path "~/.emacs.d/evil")
+
+(require 'evil)
+(evil-mode 1)
+(helm-mode 1)
+(custom-set-variables
+ ;; custom-set-variables was added by Custom.
+ ;; If you edit it by hand, you could mess it up, so be careful.
+ ;; Your init file should contain only one such instance.
+ ;; If there is more than one, they won't work right.
+ '(ansi-color-names-vector
+ ["#212337" "#ff5370" "#c7f59b" "#ffbd76" "#70b0ff" "#baacff" "#34d3fb" "#e4f3fa"])
+ '(column-number-mode t)
+ '(custom-safe-themes
+ (quote
+ ("84d2f9eeb3f82d619ca4bfffe5f157282f4779732f48a5ac1484d94d5ff5b279" "3c83b3676d796422704082049fc38b6966bcad960f896669dfc21a7a37a748fa" "c8f959fb1ea32ddfc0f50db85fea2e7d86b72bb4d106803018be1c3566fd6c72" "2a3ffb7775b2fe3643b179f2046493891b0d1153e57ec74bbe69580b951699ca" "1728dfd9560bff76a7dc6c3f61e9f4d3e6ef9d017a83a841c117bd9bebe18613" "f589e634c9ff738341823a5a58fc200341b440611aaa8e0189df85b44533692b" "0713580a6845e8075113a70275b3421333cfe7079e48228c52300606fa5ce73b" "f30aded97e67a487d30f38a1ac48eddb49fdb06ac01ebeaff39439997cbdd869" "2d1fe7c9007a5b76cea4395b0fc664d0c1cfd34bb4f1860300347cdad67fb2f9" default)))
+ '(display-battery-mode t)
+ '(display-line-numbers-type (quote relative))
+ '(display-time-mode t)
+ '(fci-rule-color "#383e5c")
+ '(jdee-db-active-breakpoint-face-colors (cons "#161a2a" "#baacff"))
+ '(jdee-db-requested-breakpoint-face-colors (cons "#161a2a" "#c7f59b"))
+ '(jdee-db-spec-breakpoint-face-colors (cons "#161a2a" "#383e5c"))
+ '(objed-cursor-color "#ff5370")
+ '(package-selected-packages
+ (quote
+ (powerline linum-relative pdfgrep pdf-tools smart-mode-line-powerline-theme smart-mode-line powerline-evil neotree tabbar helm doom-themes evil)))
+ '(show-paren-mode t)
+ '(size-indication-mode t)
+ '(vc-annotate-background "#212337")
+ '(vc-annotate-color-map
+ (list
+ (cons 20 "#c7f59b")
+ (cons 40 "#d9e28e")
+ (cons 60 "#eccf82")
+ (cons 80 "#ffbd76")
+ (cons 100 "#ffb071")
+ (cons 120 "#ffa36c")
+ (cons 140 "#ff9668")
+ (cons 160 "#e89d9a")
+ (cons 180 "#d1a4cc")
+ (cons 200 "#baacff")
+ (cons 220 "#d18ecf")
+ (cons 240 "#e8709f")
+ (cons 260 "#ff5370")
+ (cons 280 "#cd4d6b")
+ (cons 300 "#9b4866")
+ (cons 320 "#694361")
+ (cons 340 "#383e5c")
+ (cons 360 "#383e5c")))
+ '(vc-annotate-very-old-color nil))
+(custom-set-faces
+ ;; custom-set-faces was added by Custom.
+ ;; If you edit it by hand, you could mess it up, so be careful.
+ ;; Your init file should contain only one such instance.
+ ;; If there is more than one, they won't work right.
+ '(default ((t (:family "DejaVu Sans Mono" :foundry "outline" :slant normal :weight bold :height 98 :width normal)))))
+;;(evil-mode t)
+
+(require 'doom-themes)
+(setq inhibit-startup-screen t)
+(load-theme 'doom-one)
+
+(setq doom-line-numbers-style 'relative)
+(setq evil-emacs-state-cursor '("red" box))
+(setq evil-normal-state-cursor '("green" box))
+(setq evil-visual-state-cursor '("orange" box))
+(setq evil-insert-state-cursor '("blue" bar))
+(setq evil-replace-state-cursor '("red" bar))
+(setq evil-operator-state-cursor '("red" hollow))
+
+
+(require 'powerline-evil)
+(powerline-evil-vim-color-theme)
+
+;; These two lines are just examples
+;;(setq powerline-arrow-shape 'curve)
+;;(setq powerline-default-separator-dir '(right . left))
+;; These two lines you really need.
+(setq sml/theme 'powerline)
+(sml/setup)
+
+(setq shell-file-name (executable-find "zsh.exe"))
+;;(setq shell-file-name (executable-find "zsh-5.5.1.exe"))
+
+(setenv "PATH" (concat (getenv "PATH") ":D:\\home\\apps\\cygwin\\bin"))
+;;(setq exec-path (append exec-path '("D:\\home\\apps\\cygwin\\bin")))
+(setq explicit-shell-file-name "D:\\home\\apps\\cygwin\\bin\\zsh.exe")
+(setq shell-file-name "zsh")
+(setq explicit-zsh.exe-args '("-l" "-i"))
+
+(setq display-line-numbers-mode t)
+(setq display-line-numbers 'relative)
+;;wont be able to open pdf's in docview mode without ghostscript
+(setq doc-view-ghostscript-program "C:\\Program Files\\gs\\gs9.50\\bin\\gswin64.exe")
+;;settings this for zsh. basically lets zsh know its running inside emacs and not a terminal
+(setenv "INSIDE_EMACS")
+(windmove-default-keybindings)
+
+(global-display-line-numbers-mode)
diff --git a/cygwin/alac.bat b/cygwin/alac.bat
new file mode 100755
index 0000000..52c5fc6
--- /dev/null
+++ b/cygwin/alac.bat
@@ -0,0 +1,2 @@
+"C:\Program Files\Alacritty\alacritty.exe" -e E:\cygwin\bin\zsh.exe -l -i
+pause
diff --git a/cygwin/alacritty.yml b/cygwin/alacritty.yml
new file mode 100644
index 0000000..68cf978
--- /dev/null
+++ b/cygwin/alacritty.yml
@@ -0,0 +1,747 @@
+# 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: cygwin
+
+window:
+ # Window dimensions (changes require restart)
+ #
+ # Specified in number of columns/lines, not pixels. If both are zero this
+ # setting is ignored.
+ dimensions:
+ columns: 100
+ lines: 85
+
+ # Window padding (changes require restart)
+ #
+ # Blank space added around the window in pixels. This padding is not scaled by
+ # DPI and the specified value is always added at both opposing sides.
+ padding:
+ x: 0
+ y: 0
+
+ # Spread additional padding evenly around the terminal content.
+ dynamic_padding: false
+
+ # Window decorations
+ #
+ # Available values:
+ # - full: borders and title bar
+ # - none: neither borders nor title bar
+ # - transparent: title bar, transparent background and title bar buttons
+ # - buttonless: title bar, transparent background, but no title bar buttons
+ decorations: full
+
+ # Startup Mode (changes require restart)
+ #
+ # Values for `startup_mode`:
+ # - Windowed
+ # - Maximized
+ # - Fullscreen
+ #
+ # Values for `startup_mode` (macOS only):
+ # - SimpleFullscreen
+ startup_mode: Windowed
+
+scrolling:
+ # maximum number of lines in the scrollback buffer. Specifying '0' will
+ # disable scrolling.
+ history: 0
+
+ # Number of lines the viewport will move for every line scrolled when
+ # scrollback is enabled (history > 0).
+ multiplier: 3
+
+# Font configuration (changes require restart)
+font:
+ # The normal (roman) font face to use.
+ # Style can be specified to pick a specific face.
+ normal:
+ family: DejaVuSansMono NF
+ # family: "Fira Code"
+ # family: "Source Code Pro"
+ # style: Retina
+
+ # The bold font face
+ bold:
+ family: DejaVuSansMono NF
+ # family: "Fira Code"
+ # family: "Source Code Pro"
+
+ # The italic font face
+ italic:
+ family: DejaVuSansMono NF
+ # family: "Fira Code"
+ # family: "Source Code Pro"
+ # style: "Medium Italic"
+
+ # Point size of the font
+ size: 12.0
+
+ # 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
+ 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
+ y: 0
+
+ # Thin stroke font rendering (macOS only)
+ #
+ # Thin strokes are suitable for retina displays, but for non-retina you
+ # probably want this set to false.
+ #
+ # macOS >= 10.14.x:
+ #
+ # If the font quality on non-retina display looks bad then set
+ # `use_thin_strokes` to `true` and enable font smoothing by running the
+ # following command:
+ # `defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO`
+ #
+ # This is a global setting and will require a log out or restart to take
+ # effect.
+ use_thin_strokes: true
+
+# When true, bold text is drawn using the bright variant of colors.
+draw_bold_text_with_bright_colors: false
+
+# Use custom cursor colors. If true, display the cursor in the cursor.foreground
+# and cursor.background colors, otherwise invert the colors of the cursor.
+# custom_cursor_colors: false
+
+# Colors
+colors:
+ # Default colours
+ primary:
+ background: '0x000000'
+ foreground: '0x808080'
+
+ # Colors that should be used to draw the terminal cursor. If these are unset,
+ # the cursor colour will be the inverse of the cell colour.
+ # cursor:
+ text: '0x2e2e2d'
+ # text: '0x000000'
+ cursor: '0xffffff'
+
+ # Normal colors
+ normal:
+ black: '0x000000'
+ red: '0xc62828'
+ green: '0x558b2f'
+ yellow: '0xf9a825'
+ blue: '0x1565c0'
+ magenta: '0x6a1e9a'
+ cyan: '0x00838f'
+ white: '0xffffff'
+
+ # Bright colors
+ bright:
+ black: '0x000000'
+ red: '0xef5350'
+ green: '0x8bc34a'
+ yellow: '0xffeb3b'
+ blue: '0x64b5f6'
+ magenta: '0xba68c8'
+ cyan: '0x26c6da'
+ white: '0xffffff'
+
+ # Dim colors (Optional)
+ dim:
+ black: '0x000000'
+ red: '0xf2777a'
+ green: '0x99cc99'
+ yellow: '0xffcc66'
+ blue: '0x6699cc'
+ magenta: '0xcc99cc'
+ cyan: '0x66cccc'
+ white: '0xffffff'
+
+ # Tomorrow Night Bright
+ # primary:
+ # background: '0x000000'
+ # foreground: '0xeaeaea'
+ #
+ # cursor:
+ # text: '0x000000'
+ # cursor: '0xffffff'
+ #
+ # normal:
+ # black: '0x000000'
+ # red: '0xd54e53'
+ # green: '0xb9ca4a'
+ # yellow: '0xe6c547'
+ # blue: '0x7aa6da'
+ # magenta: '0xc397d8'
+ # cyan: '0x70c0ba'
+ # white: '0xffffff'
+ #
+ # bright:
+ # black: '0x666666'
+ # red: '0xff3334'
+ # green: '0x9ec400'
+ # yellow: '0xe7c547'
+ # blue: '0x7aa6da'
+ # magenta: '0xb77ee0'
+ # cyan: '0x54ced6'
+ # white: '0xffffff'
+
+ # Indexed Colors
+ #
+ # The indexed colors include all colors from 16 to 256.
+ # When these are not set, they're filled with sensible defaults.
+ #
+ # Example:
+ # `- { index: 16, color: '0xff00ff' }`
+ #
+ indexed_colors: []
+
+# 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.
+#
+bell:
+ animation: EaseOutExpo
+ color: '0xffffff'
+ duration: 0
+
+# Background opacity
+background_opacity: 1.0
+
+# Key bindings
+#
+# Key bindings are specified as a list of objects. Each binding will specify a
+# key and modifiers required to trigger it, terminal modes where the binding is
+# applicable, and what should be done when the key binding fires. It can either
+# send a byte sequence to the running application (`chars`), execute a
+# predefined action (`action`) or fork and execute a specified command plus
+# arguments (`command`).
+#
+# Bindings are always filled by default, but will be replaced when a new binding
+# with the same triggers is defined. To unset a default binding, it can be
+# mapped to the `None` action.
+#
+# Example:
+# `- { key: V, mods: Control|Shift, action: Paste }`
+#
+# Available fields:
+# - key
+# - mods (optional)
+# - chars | action | command (exactly one required)
+# - mode (optional)
+#
+# Values for `key`:
+# - `A` -> `Z`
+# - `F1` -> `F12`
+# - `Key1` -> `Key0`
+#
+# A full list with available key codes can be found here:
+# https://docs.rs/glutin/*/glutin/enum.VirtualKeyCode.html#variants
+#
+# Instead of using the name of the keys, the `key` field also supports using
+# the scancode of the desired key. Scancodes have to be specified as a
+# decimal number.
+# This command will allow you to display the hex scancodes for certain keys:
+# `showkey --scancodes`
+#
+# Values for `mods`:
+# - Command
+# - Control
+# - Option
+# - Super
+# - Shift
+# - Alt
+#
+# Multiple `mods` can be combined using `|` like this: `mods: Control|Shift`.
+# Whitespace and capitalization is relevant and must match the example.
+#
+# Values for `chars`:
+# The `chars` field writes the specified string to the terminal. This makes
+# it possible to pass escape sequences.
+# To find escape codes for bindings like `PageUp` ("\x1b[5~"), you can run
+# the command `showkey -a` outside of tmux.
+# Note that applications use terminfo to map escape sequences back to
+# keys. It is therefore required to update the terminfo when
+# changing an escape sequence.
+#
+# Values for `action`:
+# - Paste
+# - PasteSelection
+# - Copy
+# - IncreaseFontSize
+# - DecreaseFontSize
+# - ResetFontSize
+# - ScrollPageUp
+# - ScrollPageDown
+# - ScrollLineUp
+# - ScrollLineDown
+# - ScrollToTop
+# - ScrollToBottom
+# - ClearHistory
+# - Hide
+# - Quit
+# - ClearLogNotice
+# - SpawnNewInstance
+# - ToggleFullscreen
+# - None
+#
+# Values for `action` (macOS only):
+# - ToggleSimpleFullscreen: Enters fullscreen without occupying another space
+#
+# Values for `command`:
+# The `command` field must be a map containing a `program` string and
+# an `args` array of command line parameter strings.
+#
+# Example:
+# `command: { program: "alacritty", args: ["-e", "vttest"] }`
+#
+# Values for `mode`:
+# - ~AppCursor
+# - AppCursor
+# - ~AppKeypad
+# - AppKeypad
+#
+key_bindings:
+ - { key: V, mods: Command, action: Paste }
+ - { key: C, mods: Command, action: Copy }
+ - { key: Q, mods: Command, action: Quit }
+ - { key: N, mods: Command, action: SpawnNewInstance }
+ - { key: Return, mods: Command, action: ToggleFullscreen }
+
+ - { key: Home, chars: "\x1bOH", mode: AppCursor }
+ - { key: Home, chars: "\x1b[H", mode: ~AppCursor }
+ - { key: End, chars: "\x1bOF", mode: AppCursor }
+ - { key: End, chars: "\x1b[F", mode: ~AppCursor }
+ - { key: Equals, mods: Command, action: IncreaseFontSize }
+ - { key: Minus, mods: Command, action: DecreaseFontSize }
+ - { key: Minus, mods: Command|Shift, action: ResetFontSize }
+ - { key: PageUp, mods: Shift, chars: "\x1b[5;2~" }
+ - { key: PageUp, mods: Control, chars: "\x1b[5;5~" }
+ - { key: PageUp, chars: "\x1b[5~" }
+ - { key: PageDown, mods: Shift, chars: "\x1b[6;2~" }
+ - { 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~" }
+ - { key: Space, mods: Control, chars: "\x00" }
+ - { key: Home, mods: Shift, chars: "\x1b[2J", mode: ~AppCursor}
+ - { key: Home, mods: Shift, chars: "\x1b[1;2H", mode: AppCursor}
+ - { key: Home, mods: Control, chars: "\x1b[H", mode: ~AppCursor}
+ - { key: Home, mods: Control, chars: "\x1b[1~", mode: AppCursor}
+ - { key: PageUp, mods: Shift, chars: "\x1b[5;2~"}
+ - { key: PageUp, mods: Control, chars: "\x1b[5~"}
+ - { key: PageUp, mods: Alt, chars: "\x1b[5~"}
+ # - { key: Begin, mods: Shift, chars: "\x1b[E"}
+ # - { key: Begin, mods: Control, chars: "\x1b[E"}
+ # - { key: Begin, mods: Alt, chars: "\x1b[E"}
+ - { key: End, mods: Control, chars: "\x1b[J", mode: ~AppKeypad}
+ - { key: End, mods: Control, chars: "\x1b[1;5F", mode: AppKeypad}
+ - { key: End, mods: Shift, chars: "\x1b[K", mode: ~AppKeypad}
+ - { key: End, mods: Shift, chars: "\x1b[1;2F", mode: AppKeypad}
+ - { key: End, mods: Alt, chars: "\x1b[4~"}
+ - { key: PageDown, mods: Shift, chars: "\x1b[6;2~"}
+ - { key: PageDown, mods: Control, chars: "\x1b[6~"}
+ - { key: PageDown, mods: Alt, chars: "\x1b[6~"}
+ # - { key: Insert, mods: Shift, chars: "\x1b[2;2~", mode: AppKeypad}
+ # - { key: Insert, mods: Shift, chars: "\x1b[4l", mode: ~AppKeypad}
+ # - { key: Insert, mods: Control, chars: "\x1b[L", mode: ~AppKeypad}
+ # - { key: Insert, mods: Control, chars: "\x1b[2;5~", mode: AppKeypad}
+ # - { key: Insert, mods: Alt, chars: "\x1b[4h", mode: ~AppKeypad}
+ # - { key: Insert, mods: Alt, chars: "\x1b[2~", mode: AppKeypad}
+ - { key: Delete, mods: Control, chars: "\x1b[M", mode: ~AppKeypad}
+ - { key: Delete, mods: Control, chars: "\x1b[3;5~", mode: AppKeypad}
+ # - { key: Delete, mods: Shift, chars: "\x1b[2K", mode: ~AppKeypad}
+ # - { key: Delete, mods: Shift, chars: "\x1b[3;2~", mode: AppKeypad}
+ - { key: Delete, mods: Shift, chars: "\x1b[3;2~"}
+ - { key: Delete, mods: Alt, chars: "\x1b[P", mode: ~AppKeypad}
+ - { key: Delete, mods: Alt, chars: "\x1b[3~", mode: AppKeypad}
+ - { key: NumpadMultiply, mods: Shift, chars: "\x1bOj", mode: AppKeypad}
+ - { key: NumpadMultiply, mods: Control, chars: "\x1bOj", mode: AppKeypad}
+ - { key: NumpadMultiply, mods: Alt, chars: "\x1bOj", mode: AppKeypad}
+ - { key: NumpadAdd, mods: Shift, chars: "\x1bOk", mode: AppKeypad}
+ - { key: NumpadAdd, mods: Control, chars: "\x1bOk", mode: AppKeypad}
+ - { key: NumpadAdd, mods: Alt, chars: "\x1bOk", mode: AppKeypad}
+ - { key: NumpadEnter, mods: Shift, chars: "\x1bOM", mode: AppKeypad}
+ - { key: NumpadEnter, mods: Control, chars: "\x1bOM", mode: AppKeypad}
+ - { key: NumpadEnter, mods: Alt, chars: "\x1bOM", mode: AppKeypad}
+ - { key: NumpadEnter, mods: Shift, chars: "\r", mode: ~AppKeypad}
+ - { key: NumpadEnter, mods: Control, chars: "\r", mode: ~AppKeypad}
+ - { key: NumpadEnter, mods: Alt, chars: "\r", mode: ~AppKeypad}
+ - { key: NumpadSubtract, mods: Shift, chars: "\x1bOm", mode: AppKeypad}
+ - { key: NumpadSubtract, mods: Control, chars: "\x1bOm", mode: AppKeypad}
+ - { key: NumpadSubtract, mods: Alt, chars: "\x1bOm", mode: AppKeypad}
+ - { key: NumpadDecimal, mods: Shift, chars: "\x1bOn", mode: AppKeypad}
+ - { key: NumpadDecimal, mods: Control, chars: "\x1bOn", mode: AppKeypad}
+ - { key: NumpadDecimal, mods: Alt, chars: "\x1bOn", mode: AppKeypad}
+ - { key: NumpadDivide, mods: Shift, chars: "\x1bOo", mode: AppKeypad}
+ - { key: NumpadDivide, mods: Control, chars: "\x1bOo", mode: AppKeypad}
+ - { key: NumpadDivide, mods: Alt, chars: "\x1bOo", mode: AppKeypad}
+ - { key: Key0, mods: Shift, chars: "\x1bOp", mode: AppKeypad}
+ - { key: Key0, mods: Control, chars: "\x1bOp", mode: AppKeypad}
+ - { key: Key0, mods: Alt, chars: "\x1bOp", mode: AppKeypad}
+ - { key: Key1, mods: Shift, chars: "\x1bOq", mode: AppKeypad}
+ - { key: Key1, mods: Control, chars: "\x1bOq", mode: AppKeypad}
+ - { key: Key1, mods: Alt, chars: "\x1bOq", mode: AppKeypad}
+ - { key: Key2, mods: Shift, chars: "\x1bOr", mode: AppKeypad}
+ - { key: Key2, mods: Control, chars: "\x1bOr", mode: AppKeypad}
+ - { key: Key2, mods: Alt, chars: "\x1bOr", mode: AppKeypad}
+ - { key: Key3, mods: Shift, chars: "\x1bOs", mode: AppKeypad}
+ - { key: Key3, mods: Control, chars: "\x1bOs", mode: AppKeypad}
+ - { key: Key3, mods: Alt, chars: "\x1bOs", mode: AppKeypad}
+ - { key: Key4, mods: Shift, chars: "\x1bOt", mode: AppKeypad}
+ - { key: Key4, mods: Control, chars: "\x1bOt", mode: AppKeypad}
+ - { key: Key4, mods: Alt, chars: "\x1bOt", mode: AppKeypad}
+ - { key: Key5, mods: Shift, chars: "\x1bOu", mode: AppKeypad}
+ - { key: Key5, mods: Control, chars: "\x1bOu", mode: AppKeypad}
+ - { key: Key5, mods: Alt, chars: "\x1bOu", mode: AppKeypad}
+ - { key: Key6, mods: Shift, chars: "\x1bOv", mode: AppKeypad}
+ - { key: Key6, mods: Control, chars: "\x1bOv", mode: AppKeypad}
+ - { key: Key6, mods: Alt, chars: "\x1bOv", mode: AppKeypad}
+ - { key: Key7, mods: Shift, chars: "\x1bOw", mode: AppKeypad}
+ - { key: Key7, mods: Control, chars: "\x1bOw", mode: AppKeypad}
+ - { key: Key7, mods: Alt, chars: "\x1bOw", mode: AppKeypad}
+ - { key: Key8, mods: Shift, chars: "\x1bOx", mode: AppKeypad}
+ - { key: Key8, mods: Control, chars: "\x1bOx", mode: AppKeypad}
+ - { key: Key8, mods: Alt, chars: "\x1bOx", mode: AppKeypad}
+ - { key: Key9, mods: Shift, chars: "\x1bOy", mode: AppKeypad}
+ - { key: Key9, mods: Control, chars: "\x1bOy", mode: AppKeypad}
+ - { key: Key9, mods: Alt, chars: "\x1bOy", mode: AppKeypad}
+ - { key: Up, mods: Shift, chars: "\x1b[1;2A"}
+ # - { key: Up, mods: Mod1Mask, chars: "\x1b[1;3A"}
+ # - { key: Up, mods: Shift|Mod1Mask, chars: "\x1b[1;4A"}
+ - { key: Up, mods: Control, chars: "\x1b[1;5A"}
+ - { key: Up, mods: Shift|Control, chars: "\x1b[1;6A"}
+ # - { key: Up, mods: Control|Mod1Mask, chars: "\x1b[1;7A"}
+ # - { key: Up, mods: Shift|Control|Mod1Mask, chars: "\x1b[1;8A"}
+ - { key: Up, chars: "\x1b[A", mode: ~AppCursor}
+ - { key: Up, mods: Alt, chars: "\x1bOA", mode: AppCursor}
+ - { key: Down, mods: Shift, chars: "\x1b[1;2B"}
+ # - { key: Down, mods: Mod1Mask, chars: "\x1b[1;3B"}
+ # - { key: Down, mods: Shift|Mod1Mask, chars: "\x1b[1;4B"}
+ - { key: Down, mods: Control, chars: "\x1b[1;5B"}
+ - { key: Down, mods: Shift|Control, chars: "\x1b[1;6B"}
+ # - { key: Down, mods: Control|Mod1Mask, chars: "\x1b[1;7B"}
+ # - { key: Down, mods: Shift|Control|Mod1Mask, chars: "\x1b[1;8B"}
+ - { key: Down, mods: Alt, chars: "\x1b[B", mode: ~AppCursor}
+ - { key: Down, mods: Alt, chars: "\x1bOB", mode: AppCursor}
+ - { key: Left, mods: Shift, chars: "\x1b[1;2D"}
+ # - { key: Left, mods: Mod1Mask, chars: "\x1b[1;3D"}
+ # - { key: Left, mods: Shift|Mod1Mask, chars: "\x1b[1;4D"}
+ - { key: Left, mods: Control, chars: "\x1b[1;5D"}
+ - { key: Left, mods: Shift|Control, chars: "\x1b[1;6D"}
+ # - { key: Left, mods: Control|Mod1Mask, chars: "\x1b[1;7D"}
+ # - { key: Left, mods: Shift|Control|Mod1Mask, chars: "\x1b[1;8D"}
+ - { key: Left, mods: Alt, chars: "\x1b[D", mode: ~AppCursor}
+ - { key: Left, mods: Alt, chars: "\x1bOD", mode: AppCursor}
+ - { key: Right, mods: Shift, chars: "\x1b[1;2C"}
+ # - { key: Right, mods: Mod1Mask, chars: "\x1b[1;3C"}
+ # - { key: Right, mods: Shift|Mod1Mask, chars: "\x1b[1;4C"}
+ - { key: Right, mods: Control, chars: "\x1b[1;5C"}
+ - { key: Right, mods: Shift|Control, chars: "\x1b[1;6C"}
+ # - { key: Right, mods: Control|Mod1Mask,chars: "\x1b[1;7C"}
+ # - { key: Right,Shift|Control|Mod1Mask,chars: "\x1b[1;8C"}
+ - { key: Right, mods: Alt, chars: "\x1b[C", mode: ~AppCursor}
+ - { key: Right, mods: Alt, chars: "\x1bOC", mode: AppCursor}
+ # - { key: ISO_Left_Tab, mods: Shift, chars: "\x1b[Z"}
+ # - { key: Return, mods: Mod1Mask, chars: "\x1b\r"}
+ # - { key: Return, mods: XK_ANY_MOD, chars: "\r"}
+ # - { key: Insert, mods: Shift, chars: "\x1b[4l", mode: ~AppKeypad}
+ # - { key: Insert, mods: Shift, chars: "\x1b[2;2~", mode: AppKeypad}
+ - { key: Insert, mods: Control, chars: "\x1b[L", mode: ~AppKeypad}
+ - { key: Insert, mods: Control, chars: "\x1b[2;5~", mode: AppKeypad}
+ - { key: Insert, mods: Alt, chars: "\x1b[4h", mode: ~AppKeypad}
+ - { key: Insert, mods: Alt, chars: "\x1b[2~", mode: AppKeypad}
+ # - { key: Delete, mods: Control, chars: "\x1b[M", mode: ~AppKeypad}
+ # - { key: Delete, mods: Control, chars: "\x1b[3;5~", mode: AppKeypad}
+ # - { key: Delete, mods: Shift, chars: "\x1b[2K", mode: ~AppKeypad}
+ # - { key: Delete, mods: Shift, chars: "\x1b[3;2~", mode: AppKeypad}
+ # - { key: Delete, mods: Alt, chars: "\x1b[P", mode: ~AppKeypad}
+ # - { key: Delete, mods: Alt, chars: "\x1b[3~", mode: AppKeypad}
+ # - { key: BackSpace, chars: "\177"}
+ # - { key: BackSpace, mods: Mod1Mask, chars: "\x1b\177"}
+ - { key: Home, mods: Shift, chars: "\x1b[2J", mode: ~AppCursor}
+ - { key: Home, mods: Shift, chars: "\x1b[1;2H", mode: AppCursor}
+ - { key: Home, mods: Control, chars: "\x1b[H", mode: ~AppCursor}
+ - { key: Home, mods: Control, chars: "\x1b[1~", mode: ~AppCursor}
+ - { key: Home, mods: Alt, chars: "\x1b[H", mode: ~AppCursor}
+ - { key: Home, mods: Alt, chars: "\x1b[1~", mode: ~AppCursor}
+ - { key: End, mods: Control, chars: "\x1b[J", mode: ~AppKeypad}
+ - { key: End, mods: Control, chars: "\x1b[1;5F", mode: AppKeypad}
+ - { key: End, mods: Shift, chars: "\x1b[K", mode: ~AppKeypad}
+ - { key: End, mods: Shift, chars: "\x1b[1;2F", mode: AppKeypad}
+ - { key: End, mods: Alt, chars: "\x1b[4~"}
+ - { key: PageUp, mods: Control, chars: "\x1b[5;5~"}
+ - { key: PageUp, mods: Shift, chars: "\x1b[5;2~"}
+ - { key: PageUp, mods: Alt, chars: "\x1b[5~"}
+ - { key: PageDown, mods: Control, chars: "\x1b[6;5~"}
+ - { key: PageDown, mods: Shift, chars: "\x1b[6;2~"}
+ - { key: PageDown, mods: Alt, chars: "\x1b[6~"}
+ - { key: F1, chars: "\x1bOP"}
+ - { key: F1, mods: Shift, chars: "\x1b[1;2P"}
+ - { key: F1, mods: Control, chars: "\x1b[1;5P"}
+ # - { key: F1, mods: Mod4Mask, chars: "\x1b[1;6P"}
+ # - { key: F1, mods: Mod1Mask, chars: "\x1b[1;3P"}
+ # - { key: F1, mods: Mod3Mask, chars: "\x1b[1;4P"}
+ - { key: F2, chars: "\x1bOQ"}
+ - { key: F2, mods: Shift, chars: "\x1b[1;2Q"}
+ - { key: F2, mods: Control, chars: "\x1b[1;5Q"}
+ # - { key: F2, mods: Mod4Mask, chars: "\x1b[1;6Q"}
+ # - { key: F2, mods: Mod1Mask, chars: "\x1b[1;3Q"}
+ # - { key: F2, mods: Mod3Mask, chars: "\x1b[1;4Q"}
+ - { key: F3, chars: "\x1bOR"}
+ - { key: F3, mods: Shift, chars: "\x1b[1;2R"}
+ - { key: F3, mods: Control, chars: "\x1b[1;5R"}
+ # - { key: F3, mods: Mod4Mask, chars: "\x1b[1;6R"}
+ # - { key: F3, mods: Mod1Mask, chars: "\x1b[1;3R"}
+ # - { key: F3, mods: Mod3Mask, chars: "\x1b[1;4R"}
+ - { key: F4, chars: "\x1bOS"}
+ - { key: F4, mods: Shift, chars: "\x1b[1;2S"}
+ - { key: F4, mods: Control, chars: "\x1b[1;5S"}
+ # - { key: F4, mods: Mod4Mask, chars: "\x1b[1;6S"}
+ # - { key: F4, mods: Mod1Mask, chars: "\x1b[1;3S"}
+ - { key: F5, chars: "\x1b[15~"}
+ - { key: F5, mods: Shift, chars: "\x1b[15;2~"}
+ - { key: F5, mods: Control, chars: "\x1b[15;5~"}
+ # - { key: F5, mods: Mod4Mask, chars: "\x1b[15;6~"}
+ # - { key: F5, mods: Mod1Mask, chars: "\x1b[15;3~"}
+ - { key: F6, chars: "\x1b[17~"}
+ - { key: F6, mods: Shift, chars: "\x1b[17;2~"}
+ - { key: F6, mods: Control, chars: "\x1b[17;5~"}
+ # - { key: F6, mods: Mod4Mask, chars: "\x1b[17;6~"}
+ # - { key: F6, mods: Mod1Mask, chars: "\x1b[17;3~"}
+ - { key: F7, chars: "\x1b[18~"}
+ - { key: F7, mods: Shift, chars: "\x1b[18;2~"}
+ - { key: F7, mods: Control, chars: "\x1b[18;5~"}
+ # - { key: F7, mods: Mod4Mask, chars: "\x1b[18;6~"}
+ # - { key: F7, mods: Mod1Mask, chars: "\x1b[18;3~"}
+ - { key: F8, chars: "\x1b[19~"}
+ - { key: F8, mods: Shift, chars: "\x1b[19;2~"}
+ - { key: F8, mods: Control, chars: "\x1b[19;5~"}
+ # - { key: F8, mods: Mod4Mask, chars: "\x1b[19;6~"}
+ # - { key: F8, mods: Mod1Mask, chars: "\x1b[19;3~"}
+ - { key: F9, chars: "\x1b[20~"}
+ - { key: F9, mods: Shift, chars: "\x1b[20;2~"}
+ - { key: F9, mods: Control, chars: "\x1b[20;5~"}
+ # - { key: F9, mods: Mod4Mask, chars: "\x1b[20;6~"}
+ # - { key: F9, mods: Mod1Mask, chars: "\x1b[20;3~"}
+ - { key: F10, chars: "\x1b[21~"}
+ - { key: F10, mods: Shift, chars: "\x1b[21;2~"}
+ - { key: F10, mods: Control, chars: "\x1b[21;5~"}
+ # - { key: F10, mods: Mod4Mask, chars: "\x1b[21;6~"}
+ # - { key: F10, mods: Mod1Mask, chars: "\x1b[21;3~"}
+ - { key: F11, chars: "\x1b[23~"}
+ - { key: F11, mods: Shift, chars: "\x1b[23;2~"}
+ - { key: F11, mods: Control, chars: "\x1b[23;5~"}
+ # - { key: F11, mods: Mod4Mask, chars: "\x1b[23;6~"}
+ # - { key: F11, mods: Mod1Mask, chars: "\x1b[23;3~"}
+ - { key: F12, chars: "\x1b[24~"}
+ - { key: F12, mods: Shift, chars: "\x1b[24;2~"}
+ - { key: F12, mods: Control, chars: "\x1b[24;5~"}
+ # - { key: F12, mods: Mod4Mask, chars: "\x1b[24;6~"}
+ # - { key: F12, mods: Mod1Mask, chars: "\x1b[24;3~"}
+ - { key: F13, chars: "\x1b[1;2P"}
+ - { key: F14, chars: "\x1b[1;2Q"}
+ - { key: F15, chars: "\x1b[1;2R"}
+ - { key: F16, chars: "\x1b[1;2S"}
+ - { key: F17, chars: "\x1b[15;2~"}
+ - { key: F18, chars: "\x1b[17;2~"}
+ - { key: F19, chars: "\x1b[18;2~"}
+ - { key: F20, chars: "\x1b[19;2~"}
+ - { key: F21, chars: "\x1b[20;2~"}
+ - { key: F22, chars: "\x1b[21;2~"}
+ - { key: F23, chars: "\x1b[23;2~"}
+ - { key: F24, chars: "\x1b[24;2~"}
+ # - { key: F25, chars: "\x1b[1;5P"}
+ # - { key: F26, chars: "\x1b[1;5Q"}
+ # - { key: F27, chars: "\x1b[1;5R"}
+ # - { key: F28, chars: "\x1b[1;5S"}
+ # - { key: F29, chars: "\x1b[15;5~"}
+ # - { key: F30, chars: "\x1b[17;5~"}
+ # - { key: F31, chars: "\x1b[18;5~"}
+ # - { key: F32, chars: "\x1b[19;5~"}
+ # - { key: F33, chars: "\x1b[20;5~"}
+ # - { key: F34, chars: "\x1b[21;5~"}
+ # - { key: F35, chars: "\x1b[23;5~"}
+
+ # shortcuts for tmux. the leader key is control-b (0x02)
+ - { key: W, mods: Command, chars: "\x02&" } # close tab (kill)
+ - { key: T, mods: Command, chars: "\x02c" } # new tab
+ - { key: RBracket, mods: Command|Shift, chars: "\x02n" } # select next tab
+ - { key: LBracket, mods: Command|Shift, chars: "\x02p" } # select previous tab
+ - { key: RBracket, mods: Command, chars: "\x02o" } # select next pane
+ - { key: LBracket, mods: Command, chars: "\x02;" } # select last (previously used) pane
+ - { key: F, mods: Command, chars: "\x02/" } # search (upwards) (see tmux.conf)
+
+mouse:
+ # Click settings
+ #
+ # The `double_click` and `triple_click` settings control the time
+ # alacritty should wait for accepting multiple clicks as one double
+ # or triple click.
+ double_click: { threshold: 300 }
+ triple_click: { threshold: 300 }
+
+ # If this is `true`, the cursor is temporarily hidden when typing.
+ hide_when_typing: true
+
+ # URL launcher
+ # url:
+ # This program is executed when clicking on a text which is recognized as a URL.
+ # The URL is always added to the command as the last parameter.
+ #
+ # When set to `None`, URL launching will be disabled completely.
+ #
+ # Default:
+ # - (macOS) open
+ # - (Linux) xdg-open
+ # - (Windows) explorer
+ # launcher:
+ # program: xdg-open
+ # args: []
+
+ # These are the modifiers that need to be held down for opening URLs when clicking
+ # on them. The available modifiers are documented in the key binding section.
+ # modifiers: Control|Shift
+
+selection:
+ semantic_escape_chars: ",│`|:\"' ()[]{}<>"
+
+ # When set to `true`, selected text will be copied to the primary clipboard.
+ save_to_clipboard: true
+
+# Mouse bindings
+#
+# Available fields:
+# - mouse
+# - action
+# - mods (optional)
+#
+# Values for `mouse`:
+# - Middle
+# - Left
+# - Right
+# - Numeric identifier such as `5`
+#
+# All available `mods` and `action` values are documented in the key binding
+# section.
+mouse_bindings:
+ - { mouse: Middle, action: PasteSelection }
+
+cursor:
+ # Cursor style
+ #
+ # Values for 'style':
+ # - ▇ Block
+ # - _ Underline
+ # - | Beam
+ style: Block
+
+ # If this is `true`, the cursor will be rendered as a hollow box when the
+ # window is not focused.
+ unfocused_hollow: true
+
+# dynamic_title: false
+
+# Live config reload (changes require restart)
+hive_config_reload: true
+
+# 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: powershell.exe
+ # args:
+
+debug:
+ # Should display the render timer
+ render_timer: false
+
+ # Keep the log file after quitting Alacritty.
+ persistent_logging: false
+
+ # Log level
+ #
+ # Values for `log_level`:
+ # - None
+ # - Error
+ # - Warn
+ # - Info
+ # - Debug
+ # - Trace
+ log_level: Off
+
+ # Print all received window events.
+ print_events: false
+
+ # Record all characters and escape sequences as test data.
+ ref_test: false
+
+# vim: nospell
diff --git a/cygwin/conemu.xml b/cygwin/conemu.xml
new file mode 100644
index 0000000..a901db0
--- /dev/null
+++ b/cygwin/conemu.xml
@@ -0,0 +1,775 @@
+<?xml version="1.0" encoding="utf-8"?>
+<key name="Software">
+ <key name="ConEmu">
+ <key name=".Vanilla" modified="2020-11-05 18:21:22" build="201101">
+ <value name="Language" type="string" data="en"/>
+ <value name="StartType" type="hex" data="02"/>
+ <value name="CmdLine" type="string" data=""/>
+ <value name="StartTasksFile" type="string" data=""/>
+ <value name="StartTasksName" type="string" data="{Shells::cmd}"/>
+ <value name="StartFarFolders" type="hex" data="00"/>
+ <value name="StartFarEditors" type="hex" data="00"/>
+ <value name="StartCreateDelay" type="ulong" data="100"/>
+ <value name="ColorTable00" type="dword" data="00010101"/>
+ <value name="ColorTable01" type="dword" data="007226f9"/>
+ <value name="ColorTable02" type="dword" data="00808000"/>
+ <value name="ColorTable03" type="dword" data="00a48231"/>
+ <value name="ColorTable04" type="dword" data="00164bcb"/>
+ <value name="ColorTable05" type="dword" data="00b6369c"/>
+ <value name="ColorTable06" type="dword" data="00009985"/>
+ <value name="ColorTable07" type="dword" data="00d5e8ee"/>
+ <value name="ColorTable08" type="dword" data="00010101"/>
+ <value name="ColorTable09" type="dword" data="00d28b26"/>
+ <value name="ColorTable10" type="dword" data="0036b64f"/>
+ <value name="ColorTable11" type="dword" data="0098a12a"/>
+ <value name="ColorTable12" type="dword" data="002f32dc"/>
+ <value name="ColorTable13" type="dword" data="008236d3"/>
+ <value name="ColorTable14" type="dword" data="000089b5"/>
+ <value name="ColorTable15" type="dword" data="00e3f6fd"/>
+ <value name="TextColorIdx" type="hex" data="10"/>
+ <value name="BackColorIdx" type="hex" data="10"/>
+ <value name="PopTextColorIdx" type="hex" data="10"/>
+ <value name="PopBackColorIdx" type="hex" data="10"/>
+ <value name="ExtendFonts" type="hex" data="00"/>
+ <value name="ExtendFontNormalIdx" type="hex" data="01"/>
+ <value name="ExtendFontBoldIdx" type="hex" data="0C"/>
+ <value name="ExtendFontItalicIdx" type="hex" data="0D"/>
+ <value name="CursorTypeActive" type="dword" data="000232c1"/>
+ <value name="CursorTypeInactive" type="dword" data="00823283"/>
+ <value name="ClipboardDetectLineEnd" type="hex" data="01"/>
+ <value name="ClipboardBashMargin" type="hex" data="00"/>
+ <value name="ClipboardTrimTrailing" type="hex" data="02"/>
+ <value name="ClipboardEOL" type="hex" data="00"/>
+ <value name="ClipboardArrowStart" type="hex" data="01"/>
+ <value name="ClipboardAllLines" type="hex" data="01"/>
+ <value name="ClipboardAllLinesPosix" type="hex" data="00"/>
+ <value name="ClipboardFirstLine" type="hex" data="01"/>
+ <value name="ClipboardFirstLinePosix" type="hex" data="00"/>
+ <value name="ClipboardClickPromptPosition" type="hex" data="02"/>
+ <value name="ClipboardDeleteLeftWord" type="hex" data="02"/>
+ <value name="TrueColorerSupport" type="hex" data="00"/>
+ <value name="VividColors" type="hex" data="01"/>
+ <value name="FadeInactive" type="hex" data="01"/>
+ <value name="FadeInactiveLow" type="hex" data="00"/>
+ <value name="FadeInactiveHigh" type="hex" data="D0"/>
+ <value name="ConVisible" type="hex" data="00"/>
+ <value name="UseInjects" type="hex" data="01"/>
+ <value name="SetDefaultTerminal" type="hex" data="00"/>
+ <value name="SetDefaultTerminalStartup" type="hex" data="00"/>
+ <value name="SetDefaultTerminalStartupTSA" type="hex" data="00"/>
+ <value name="DefaultTerminalAgressive" type="hex" data="01"/>
+ <value name="DefaultTerminalNoInjects" type="hex" data="00"/>
+ <value name="DefaultTerminalNewWindow" type="hex" data="00"/>
+ <value name="DefaultTerminalDebugLog" type="hex" data="00"/>
+ <value name="DefaultTerminalConfirm" type="hex" data="01"/>
+ <value name="DefaultTerminalApps" type="string" data="explorer.exe"/>
+ <value name="ProcessAnsi" type="hex" data="01"/>
+ <value name="AnsiExecution" type="hex" data="01"/>
+ <value name="AnsiAllowedCommands" type="multi">
+ <line data="cmd -cur_console:R /cGitShowBranch.cmd"/>
+ </value>
+ <value name="AnsiLog" type="hex" data="00"/>
+ <value name="AnsiLogCodes" type="hex" data="00"/>
+ <value name="AnsiLogPath" type="string" data="%ConEmuDir%\Logs\"/>
+ <value name="KillSshAgent" type="hex" data="01"/>
+ <value name="ProcessNewConArg" type="hex" data="01"/>
+ <value name="ProcessCmdStart" type="hex" data="01"/>
+ <value name="ProcessCtrlZ" type="hex" data="00"/>
+ <value name="SuppressBells" type="hex" data="01"/>
+ <value name="ConsoleExceptionHandler" type="hex" data="00"/>
+ <value name="UseClink" type="hex" data="01"/>
+ <value name="StoreTaskbarkTasks" type="hex" data="00"/>
+ <value name="StoreTaskbarCommands" type="hex" data="00"/>
+ <value name="JumpListAutoUpdate" type="hex" data="01"/>
+ <value name="SaveCmdHistory" type="hex" data="01"/>
+ <value name="CmdLineHistory" type="multi">
+ <line data="{Scripts::Chocolatey (Admin)}"/>
+ <line data="{gvim}"/>
+ <line data="{Far}"/>
+ <line data="{notepad}"/>
+ <line data="{Shells::cmd}"/>
+ <line data="{Pi3}"/>
+ <line data="{babun}"/>
+ <line data="{Pi2}"/>
+ <line data="{Shells::PowerShell}"/>
+ <line data="{Shells::cmd (Admin)}"/>
+ <line data="{putty}"/>
+ </value>
+ <value name="SingleInstance" type="hex" data="00"/>
+ <value name="ShowHelpTooltips" type="hex" data="01"/>
+ <value name="Multi" type="hex" data="01"/>
+ <value name="Multi.ShowButtons" type="hex" data="01"/>
+ <value name="Multi.ShowSearch" type="hex" data="01"/>
+ <value name="Multi.NumberInCaption" type="hex" data="00"/>
+ <value name="Multi.CloseConfirmFlags" type="hex" data="04"/>
+ <value name="Multi.NewConfirm" type="hex" data="00"/>
+ <value name="Multi.DupConfirm" type="hex" data="01"/>
+ <value name="Multi.DetachConfirm" type="hex" data="01"/>
+ <value name="Multi.UseArrows" type="hex" data="00"/>
+ <value name="Multi.UseNumbers" type="hex" data="01"/>
+ <value name="Multi.UseWinTab" type="hex" data="00"/>
+ <value name="Multi.AutoCreate" type="hex" data="00"/>
+ <value name="Multi.LeaveOnClose" type="hex" data="00"/>
+ <value name="Multi.HideOnClose" type="hex" data="00"/>
+ <value name="Multi.MinByEsc" type="hex" data="02"/>
+ <value name="MapShiftEscToEsc" type="hex" data="01"/>
+ <value name="Multi.Iterate" type="hex" data="01"/>
+ <value name="Multi.SplitWidth" type="hex" data="04"/>
+ <value name="Multi.SplitHeight" type="hex" data="04"/>
+ <value name="ResetTerminalConfirm" type="hex" data="01"/>
+ <value name="KeyboardHooks" type="hex" data="01"/>
+ <value name="FontName" type="string" data="DejaVuSansMono NF"/>
+ <value name="FontName2" type="string" data="Consolas"/>
+ <value name="FontAutoSize" type="hex" data="00"/>
+ <value name="FontSize" type="ulong" data="20"/>
+ <value name="FontSizeX" type="ulong" data="0"/>
+ <value name="FontUseDpi" type="hex" data="01"/>
+ <value name="FontUseUnits" type="hex" data="01"/>
+ <value name="FontSizeX2" type="ulong" data="0"/>
+ <value name="FontSizeX3" type="ulong" data="0"/>
+ <value name="FontCharSet" type="hex" data="00"/>
+ <value name="Anti-aliasing" type="ulong" data="6"/>
+ <value name="FontBold" type="hex" data="00"/>
+ <value name="FontItalic" type="hex" data="00"/>
+ <value name="Monospace" type="hex" data="01"/>
+ <value name="CompressLongStrings" type="hex" data="01"/>
+ <value name="BackGround Image show" type="hex" data="00"/>
+ <value name="BackGround Image" type="string" data="c:\back.bmp"/>
+ <value name="bgImageDarker" type="hex" data="FF"/>
+ <value name="bgImageColors" type="dword" data="ffffffff"/>
+ <value name="bgOperation" type="hex" data="00"/>
+ <value name="bgPluginAllowed" type="hex" data="01"/>
+ <value name="AlphaValue" type="hex" data="FF"/>
+ <value name="AlphaValueSeparate" type="hex" data="00"/>
+ <value name="AlphaValueInactive" type="hex" data="FF"/>
+ <value name="UserScreenTransparent" type="hex" data="00"/>
+ <value name="ColorKeyTransparent" type="hex" data="00"/>
+ <value name="ColorKeyValue" type="dword" data="00010101"/>
+ <value name="UseCurrentSizePos" type="hex" data="01"/>
+ <value name="AutoSaveSizePos" type="hex" data="01"/>
+ <value name="Cascaded" type="hex" data="01"/>
+ <value name="IntegralSize" type="hex" data="00"/>
+ <value name="WindowMode" type="dword" data="00000520"/>
+ <value name="ConWnd X" type="long" data="2290"/>
+ <value name="ConWnd Y" type="long" data="185"/>
+ <value name="LastMonitor" type="string" data="1920,0,3840,1040"/>
+ <value name="ConWnd Width" type="dword" data="0000005e"/>
+ <value name="ConWnd Height" type="dword" data="0000002a"/>
+ <value name="16bit Height" type="ulong" data="0"/>
+ <value name="QuakeStyle" type="hex" data="00"/>
+ <value name="Restore2ActiveMon" type="hex" data="00"/>
+ <value name="RestoreInactive" type="hex" data="00"/>
+ <value name="QuakeAnimation" type="ulong" data="300"/>
+ <value name="HideCaption" type="hex" data="00"/>
+ <value name="HideChildCaption" type="hex" data="01"/>
+ <value name="FocusInChildWindows" type="hex" data="01"/>
+ <value name="HideCaptionAlways" type="hex" data="00"/>
+ <value name="HideCaptionAlwaysFrame" type="hex" data="FF"/>
+ <value name="HideCaptionAlwaysDelay" type="ulong" data="2000"/>
+ <value name="HideCaptionAlwaysDisappear" type="ulong" data="2000"/>
+ <value name="DownShowHiddenMessage" type="hex" data="00"/>
+ <value name="DownShowExOnTopMessage" type="hex" data="00"/>
+ <value name="ConsoleFontName" type="string" data="Lucida Console"/>
+ <value name="ConsoleFontWidth" type="long" data="3"/>
+ <value name="ConsoleFontHeight" type="long" data="5"/>
+ <value name="DynamicBufferHeight" type="hex" data="01"/>
+ <value name="DefaultBufferHeight" type="long" data="1000"/>
+ <value name="AutoBufferHeight" type="hex" data="01"/>
+ <value name="UseScrollLock" type="hex" data="01"/>
+ <value name="ComSpec.Type" type="hex" data="00"/>
+ <value name="ComSpec.Bits" type="hex" data="00"/>
+ <value name="ComSpec.UpdateEnv" type="hex" data="00"/>
+ <value name="ComSpec.EnvAddPath" type="hex" data="01"/>
+ <value name="ComSpec.EnvAddExePath" type="hex" data="01"/>
+ <value name="ComSpec.UncPaths" type="hex" data="00"/>
+ <value name="ComSpec.Path" type="string" data=""/>
+ <value name="AutoReloadEnvironment" type="hex" data="01"/>
+ <value name="EnvironmentSet" type="multi">
+ <line data="set PATH=%ConEmuBaseDir%\Scripts;%PATH%"/>
+ <line data=" "/>
+ <line data="# set ConEmuPromptNames=NO"/>
+ <line data="# set ConEmuPromptNL=NO"/>
+ <line data="# set ConEmuSudoSplit=NO"/>
+ <line data="# set ConEmuSudoConfirm=NO"/>
+ <line data=" "/>
+ <line data="# set LANG=ru_RU.utf8"/>
+ <line data="# set LANG=ru_RU.CP1251"/>
+ <line data=" "/>
+ <line data='# alias cdc=cd /d "%ConEmuDir%"'/>
+ <line data='# alias cd~=cd /d "%UserProfile%"'/>
+ <line data="# alias gl=git-log"/>
+ <line data="# alias glb=git-log --branches --date-order"/>
+ </value>
+ <value name="CTS.Intelligent" type="hex" data="01"/>
+ <value name="CTS.IntelligentExceptions" type="string" data="far|vim"/>
+ <value name="CTS.AutoCopy" type="hex" data="01"/>
+ <value name="CTS.ResetOnRelease" type="hex" data="00"/>
+ <value name="CTS.IBeam" type="hex" data="01"/>
+ <value name="CTS.EndOnTyping" type="hex" data="00"/>
+ <value name="CTS.EndOnKeyPress" type="hex" data="00"/>
+ <value name="CTS.EraseBeforeReset" type="hex" data="01"/>
+ <value name="CTS.Freeze" type="hex" data="00"/>
+ <value name="CTS.SelectBlock" type="hex" data="01"/>
+ <value name="CTS.SelectText" type="hex" data="01"/>
+ <value name="CTS.HtmlFormat" type="hex" data="00"/>
+ <value name="CTS.ForceLocale" type="dword" data="00000000"/>
+ <value name="CTS.RBtnAction" type="hex" data="03"/>
+ <value name="CTS.MBtnAction" type="hex" data="00"/>
+ <value name="CTS.ColorIndex" type="hex" data="E0"/>
+ <value name="ClipboardConfirmEnter" type="hex" data="01"/>
+ <value name="AutoTrimSingleLine" type="hex" data="00"/>
+ <value name="ClipboardConfirmLonger" type="ulong" data="200"/>
+ <value name="FarGotoEditorOpt" type="hex" data="01"/>
+ <value name="FarGotoEditorPath" type="string" data='far.exe /e%1:%2 "%3"'/>
+ <value name="HighlightMouseRow" type="hex" data="00"/>
+ <value name="HighlightMouseCol" type="hex" data="00"/>
+ <value name="FixFarBorders" type="hex" data="01"/>
+ <value name="Anti-aliasing2" type="hex" data="00"/>
+ <value name="FixFarBordersRanges" type="string" data="2013-25C4;"/>
+ <value name="ExtendUCharMap" type="hex" data="01"/>
+ <value name="EnhanceGraphics" type="hex" data="01"/>
+ <value name="EnhanceButtons" type="hex" data="00"/>
+ <value name="PartBrush75" type="hex" data="C8"/>
+ <value name="PartBrush50" type="hex" data="96"/>
+ <value name="PartBrush25" type="hex" data="5A"/>
+ <value name="PartBrushBlack" type="hex" data="20"/>
+ <value name="RightClick opens context menu" type="hex" data="02"/>
+ <value name="RightClickMacro2" type="string" data=""/>
+ <value name="SendAltTab" type="hex" data="00"/>
+ <value name="SendAltEsc" type="hex" data="00"/>
+ <value name="SendAltPrintScrn" type="hex" data="00"/>
+ <value name="SendPrintScrn" type="hex" data="00"/>
+ <value name="SendCtrlEsc" type="hex" data="00"/>
+ <value name="Min2Tray" type="hex" data="00"/>
+ <value name="AlwaysShowTrayIcon" type="hex" data="00"/>
+ <value name="SafeFarClose" type="hex" data="01"/>
+ <value name="SafeFarCloseMacro" type="string" data=""/>
+ <value name="FARuseASCIIsort" type="hex" data="00"/>
+ <value name="ShellNoZoneCheck" type="hex" data="00"/>
+ <value name="FixAltOnAltTab" type="hex" data="00"/>
+ <value name="UseAltGrayPlus" type="hex" data="01"/>
+ <value name="DisableMouse" type="hex" data="00"/>
+ <value name="RSelectionFix" type="hex" data="01"/>
+ <value name="MouseSkipActivation" type="hex" data="01"/>
+ <value name="MouseSkipMoving" type="hex" data="01"/>
+ <value name="MouseDragWindow" type="hex" data="01"/>
+ <value name="FarHourglass" type="hex" data="01"/>
+ <value name="FarHourglassDelay" type="ulong" data="500"/>
+ <value name="Dnd" type="hex" data="01"/>
+ <value name="DndDrop" type="hex" data="01"/>
+ <value name="DefCopy" type="hex" data="01"/>
+ <value name="DropUseMenu" type="hex" data="02"/>
+ <value name="DragOverlay" type="hex" data="01"/>
+ <value name="DragShowIcons" type="hex" data="01"/>
+ <value name="DebugSteps" type="hex" data="01"/>
+ <value name="DebugLog" type="hex" data="00"/>
+ <value name="DragPanel" type="hex" data="02"/>
+ <value name="DragPanelBothEdges" type="hex" data="00"/>
+ <value name="KeyBarRClick" type="hex" data="01"/>
+ <value name="StatusBar.Show" type="hex" data="01"/>
+ <value name="StatusBar.Flags" type="dword" data="00000002"/>
+ <value name="StatusFontFace" type="string" data="Segoe UI"/>
+ <value name="StatusFontCharSet" type="ulong" data="0"/>
+ <value name="StatusFontHeight" type="long" data="12"/>
+ <value name="StatusBar.Color.Back" type="dword" data="00423607"/>
+ <value name="StatusBar.Color.Light" type="dword" data="00e3f6fd"/>
+ <value name="StatusBar.Color.Dark" type="dword" data="00a1a193"/>
+ <value name="StatusBar.Hide.VCon" type="hex" data="01"/>
+ <value name="StatusBar.Hide.CapsL" type="hex" data="00"/>
+ <value name="StatusBar.Hide.NumL" type="hex" data="00"/>
+ <value name="StatusBar.Hide.ScrL" type="hex" data="00"/>
+ <value name="StatusBar.Hide.VisL" type="hex" data="01"/>
+ <value name="StatusBar.Hide.InputGrouping" type="hex" data="00"/>
+ <value name="StatusBar.Hide.Lang" type="hex" data="01"/>
+ <value name="StatusBar.Hide.KeyHooks" type="hex" data="01"/>
+ <value name="StatusBar.Hide.TMode" type="hex" data="01"/>
+ <value name="StatusBar.Hide.RMode" type="hex" data="01"/>
+ <value name="StatusBar.Hide.WPos" type="hex" data="01"/>
+ <value name="StatusBar.Hide.WSize" type="hex" data="01"/>
+ <value name="StatusBar.Hide.WClient" type="hex" data="01"/>
+ <value name="StatusBar.Hide.WWork" type="hex" data="01"/>
+ <value name="StatusBar.Hide.WVBack" type="hex" data="01"/>
+ <value name="StatusBar.Hide.WVDC" type="hex" data="01"/>
+ <value name="StatusBar.Hide.WMode" type="hex" data="01"/>
+ <value name="StatusBar.Hide.Style" type="hex" data="01"/>
+ <value name="StatusBar.Hide.StyleEx" type="hex" data="01"/>
+ <value name="StatusBar.Hide.hFore" type="hex" data="01"/>
+ <value name="StatusBar.Hide.hFocus" type="hex" data="01"/>
+ <value name="StatusBar.Hide.Zoom" type="hex" data="01"/>
+ <value name="StatusBar.Hide.Dpi" type="hex" data="01"/>
+ <value name="StatusBar.Hide.ABuf" type="hex" data="01"/>
+ <value name="StatusBar.Hide.CPos" type="hex" data="01"/>
+ <value name="StatusBar.Hide.CSize" type="hex" data="01"/>
+ <value name="StatusBar.Hide.BSize" type="hex" data="01"/>
+ <value name="StatusBar.Hide.CurX" type="hex" data="00"/>
+ <value name="StatusBar.Hide.CurY" type="hex" data="00"/>
+ <value name="StatusBar.Hide.CurS" type="hex" data="00"/>
+ <value name="StatusBar.Hide.CurI" type="hex" data="00"/>
+ <value name="StatusBar.Hide.CellI" type="hex" data="01"/>
+ <value name="StatusBar.Hide.ConEmuPID" type="hex" data="01"/>
+ <value name="StatusBar.Hide.ConEmuHWND" type="hex" data="01"/>
+ <value name="StatusBar.Hide.ConEmuView" type="hex" data="01"/>
+ <value name="StatusBar.Hide.Srv" type="hex" data="01"/>
+ <value name="StatusBar.Hide.SrvHWND" type="hex" data="01"/>
+ <value name="StatusBar.Hide.Transparency" type="hex" data="00"/>
+ <value name="StatusBar.Hide.New" type="hex" data="01"/>
+ <value name="StatusBar.Hide.Sync" type="hex" data="00"/>
+ <value name="StatusBar.Hide.Proc" type="hex" data="00"/>
+ <value name="StatusBar.Hide.Title" type="hex" data="00"/>
+ <value name="StatusBar.Hide.Time" type="hex" data="00"/>
+ <value name="StatusBar.Hide.Resize" type="hex" data="00"/>
+ <value name="Tabs" type="hex" data="01"/>
+ <value name="TabsLocation" type="hex" data="00"/>
+ <value name="TabIcons" type="hex" data="01"/>
+ <value name="OneTabPerGroup" type="hex" data="00"/>
+ <value name="ActivateSplitMouseOver" type="hex" data="01"/>
+ <value name="TabSelf" type="hex" data="01"/>
+ <value name="TabLazy" type="hex" data="01"/>
+ <value name="TabFlashChanged" type="long" data="8"/>
+ <value name="TabRecent" type="hex" data="01"/>
+ <value name="TabDblClick" type="ulong" data="1"/>
+ <value name="TabBtnDblClick" type="ulong" data="0"/>
+ <value name="TabsOnTaskBar" type="hex" data="02"/>
+ <value name="TaskBarOverlay" type="hex" data="01"/>
+ <value name="TaskbarProgress" type="hex" data="01"/>
+ <value name="TabCloseMacro" type="string" data=""/>
+ <value name="TabFontFace" type="string" data="Segoe UI"/>
+ <value name="TabFontCharSet" type="ulong" data="0"/>
+ <value name="TabFontHeight" type="long" data="13"/>
+ <value name="SaveAllEditors" type="string" data=""/>
+ <value name="ToolbarAddSpace" type="long" data="0"/>
+ <value name="TabConsole" type="string" data="&lt;%c&gt; %s"/>
+ <value name="TabModifiedSuffix" type="string" data="[*]"/>
+ <value name="TabSkipWords" type="string" data="Administrator:|Администратор:"/>
+ <value name="TabPanels" type="string" data="&lt;%c&gt; %s"/>
+ <value name="TabEditor" type="string" data="&lt;%c.%i&gt;{%s}"/>
+ <value name="TabEditorModified" type="string" data="&lt;%c.%i&gt;[%s] *"/>
+ <value name="TabViewer" type="string" data="&lt;%c.%i&gt;[%s]"/>
+ <value name="TabLenMax" type="ulong" data="20"/>
+ <value name="AdminTitleSuffix" type="string" data=" (Admin)"/>
+ <value name="AdminShowShield" type="hex" data="01"/>
+ <value name="HideInactiveConsoleTabs" type="hex" data="00"/>
+ <value name="ShowFarWindows" type="hex" data="01"/>
+ <value name="TryToCenter" type="hex" data="00"/>
+ <value name="CenterConsolePad" type="ulong" data="0"/>
+ <value name="ShowScrollbar" type="hex" data="02"/>
+ <value name="ScrollBarAppearDelay" type="ulong" data="100"/>
+ <value name="ScrollBarDisappearDelay" type="ulong" data="1000"/>
+ <value name="IconID" type="ulong" data="1"/>
+ <value name="MainTimerElapse" type="ulong" data="10"/>
+ <value name="MainTimerInactiveElapse" type="ulong" data="1000"/>
+ <value name="AffinityMask" type="dword" data="00000000"/>
+ <value name="SkipFocusEvents" type="hex" data="00"/>
+ <value name="MonitorConsoleLang" type="hex" data="03"/>
+ <value name="SnapToDesktopEdges" type="hex" data="00"/>
+ <value name="AlwaysOnTop" type="hex" data="00"/>
+ <value name="SleepInBackground" type="hex" data="00"/>
+ <value name="RetardInactivePanes" type="hex" data="00"/>
+ <value name="MinimizeOnLoseFocus" type="hex" data="00"/>
+ <value name="DisableFarFlashing" type="hex" data="00"/>
+ <value name="DisableAllFlashing" type="hex" data="00"/>
+ <value name="FindText" type="string" data=""/>
+ <value name="FindMatchCase" type="hex" data="00"/>
+ <value name="FindMatchWholeWords" type="hex" data="00"/>
+ <value name="FindTransparent" type="hex" data="01"/>
+ <value name="PanView.BackColor" type="dword" data="30ffffff"/>
+ <value name="PanView.PFrame" type="long" data="1"/>
+ <value name="PanView.PFrameColor" type="dword" data="28808080"/>
+ <value name="PanView.SFrame" type="long" data="1"/>
+ <value name="PanView.SFrameColor" type="dword" data="07c0c0c0"/>
+ <value name="PanView.Thumbs.ImgSize" type="long" data="96"/>
+ <value name="PanView.Thumbs.SpaceX1" type="long" data="1"/>
+ <value name="PanView.Thumbs.SpaceY1" type="long" data="1"/>
+ <value name="PanView.Thumbs.SpaceX2" type="long" data="5"/>
+ <value name="PanView.Thumbs.SpaceY2" type="long" data="20"/>
+ <value name="PanView.Thumbs.LabelSpacing" type="long" data="2"/>
+ <value name="PanView.Thumbs.LabelPadding" type="long" data="0"/>
+ <value name="PanView.Thumbs.FontName" type="string" data="Segoe UI"/>
+ <value name="PanView.Thumbs.FontHeight" type="long" data="14"/>
+ <value name="PanView.Tiles.ImgSize" type="long" data="48"/>
+ <value name="PanView.Tiles.SpaceX1" type="long" data="4"/>
+ <value name="PanView.Tiles.SpaceY1" type="long" data="4"/>
+ <value name="PanView.Tiles.SpaceX2" type="long" data="172"/>
+ <value name="PanView.Tiles.SpaceY2" type="long" data="4"/>
+ <value name="PanView.Tiles.LabelSpacing" type="long" data="4"/>
+ <value name="PanView.Tiles.LabelPadding" type="long" data="1"/>
+ <value name="PanView.Tiles.FontName" type="string" data="Segoe UI"/>
+ <value name="PanView.Tiles.FontHeight" type="long" data="14"/>
+ <value name="PanView.LoadPreviews" type="hex" data="03"/>
+ <value name="PanView.LoadFolders" type="hex" data="01"/>
+ <value name="PanView.LoadTimeout" type="ulong" data="15"/>
+ <value name="PanView.MaxZoom" type="ulong" data="600"/>
+ <value name="PanView.UsePicView2" type="hex" data="01"/>
+ <value name="PanView.RestoreOnStartup" type="hex" data="00"/>
+ <value name="Update.VerLocation" type="string" data=""/>
+ <value name="Update.CheckOnStartup" type="hex" data="00"/>
+ <value name="Update.CheckHourly" type="hex" data="00"/>
+ <value name="Update.ConfirmDownload" type="hex" data="01"/>
+ <value name="Update.UseBuilds" type="hex" data="02"/>
+ <value name="Update.InetTool" type="hex" data="00"/>
+ <value name="Update.InetToolCmd" type="string" data=""/>
+ <value name="Update.UseProxy" type="hex" data="00"/>
+ <value name="Update.Proxy" type="string" data=""/>
+ <value name="Update.ProxyUser" type="string" data=""/>
+ <value name="Update.ProxyPassword" type="string" data=""/>
+ <value name="Update.ExeCmdLine" type="string" data=""/>
+ <value name="Update.ArcCmdLine" type="string" data=""/>
+ <value name="Update.DownloadPath" type="string" data="%TEMP%\ConEmu"/>
+ <value name="Update.LeavePackages" type="hex" data="00"/>
+ <value name="Update.PostUpdateCmd" type="string" data="echo Last successful update&gt;ConEmuUpdate.info &amp;&amp; date /t&gt;&gt;ConEmuUpdate.info &amp;&amp; time /t&gt;&gt;ConEmuUpdate.info"/>
+ <key name="HotKeys" modified="2020-11-05 18:21:22" build="201101">
+ <value name="KeyMacroVersion" type="hex" data="02"/>
+ <value name="Multi.Modifier" type="dword" data="0000005b"/>
+ <value name="Multi.ArrowsModifier" type="dword" data="0000005b"/>
+ <value name="MinimizeRestore" type="dword" data="000011c0"/>
+ <value name="MinimizeRestore2" type="dword" data="00000000"/>
+ <value name="GlobalRestore" type="dword" data="00000000"/>
+ <value name="CdExplorerPath" type="dword" data="00000000"/>
+ <value name="ForcedFullScreen" type="dword" data="12115b0d"/>
+ <value name="SwitchGuiFocus" type="dword" data="00005b5a"/>
+ <value name="SetFocusGui" type="dword" data="00000000"/>
+ <value name="SetFocusChild" type="dword" data="00000000"/>
+ <value name="ChildSystemMenu" type="dword" data="00000000"/>
+ <value name="CheckUpdates" type="dword" data="00105b55"/>
+ <value name="Multi.NewConsole" type="dword" data="00005b57"/>
+ <value name="Multi.NewConsoleShift" type="dword" data="00105b57"/>
+ <value name="Multi.CmdKey" type="dword" data="00005b58"/>
+ <value name="Multi.NewWndConfirm" type="dword" data="00000000"/>
+ <value name="Multi.NewConsolePopup" type="dword" data="00005b4e"/>
+ <value name="Multi.NewConsolePopup2" type="dword" data="00000000"/>
+ <value name="Multi.NewAttach" type="dword" data="00005b47"/>
+ <value name="Multi.NewSplitV" type="dword" data="0010114f"/>
+ <value name="Multi.NewSplitH" type="dword" data="00101145"/>
+ <value name="Multi.SplitMaximize" type="dword" data="00005d0d"/>
+ <value name="Multi.SplitSizeVU" type="dword" data="00105d26"/>
+ <value name="Multi.SplitSizeVD" type="dword" data="00105d28"/>
+ <value name="Multi.SplitSizeHL" type="dword" data="00105d25"/>
+ <value name="Multi.SplitSizeHR" type="dword" data="00105d27"/>
+ <value name="Key.TabPane1" type="dword" data="00005d09"/>
+ <value name="Key.TabPane2" type="dword" data="00105d09"/>
+ <value name="Multi.SplitFocusU" type="dword" data="00005d26"/>
+ <value name="Multi.SplitFocusD" type="dword" data="00005d28"/>
+ <value name="Multi.SplitFocusL" type="dword" data="00005d25"/>
+ <value name="Multi.SplitFocusR" type="dword" data="00005d27"/>
+ <value name="Multi.SplitSwap" type="dword" data="00125d58"/>
+ <value name="Multi.SplitSwapU" type="dword" data="00125d26"/>
+ <value name="Multi.SplitSwapD" type="dword" data="00125d28"/>
+ <value name="Multi.SplitSwapL" type="dword" data="00125d25"/>
+ <value name="Multi.SplitSwapR" type="dword" data="00125d27"/>
+ <value name="Multi.Next" type="dword" data="00001121"/>
+ <value name="Multi.NextShift" type="dword" data="00001122"/>
+ <value name="Multi.Recreate" type="dword" data="00005bc0"/>
+ <value name="Multi.AltCon" type="dword" data="00005b41"/>
+ <value name="Multi.Pause" type="dword" data="80808013"/>
+ <value name="Multi.Scroll" type="dword" data="00000000"/>
+ <value name="Multi.GroupInput" type="dword" data="00005d47"/>
+ <value name="Multi.GroupInputAll" type="dword" data="00105d47"/>
+ <value name="Multi.GroupInputKey" type="dword" data="00125d47"/>
+ <value name="Multi.Detach" type="dword" data="00000000"/>
+ <value name="Multi.Unfasten" type="dword" data="00000000"/>
+ <value name="Multi.Close" type="dword" data="00005b2e"/>
+ <value name="CloseTabKey" type="dword" data="00125b2e"/>
+ <value name="CloseGroupKey" type="dword" data="00115b2e"/>
+ <value name="CloseGroupPrcKey" type="dword" data="00000000"/>
+ <value name="CloseAllConKey" type="dword" data="00000000"/>
+ <value name="CloseZombiesKey" type="dword" data="00000000"/>
+ <value name="CloseExceptConKey" type="dword" data="00000000"/>
+ <value name="CloseToRightKey" type="dword" data="00000000"/>
+ <value name="KillProcessKey" type="dword" data="00000000"/>
+ <value name="KillAllButShellKey" type="dword" data="00105b2e"/>
+ <value name="DuplicateRootKey" type="dword" data="00005b53"/>
+ <value name="CloseConEmuKey" type="dword" data="00005b73"/>
+ <value name="Multi.Rename" type="dword" data="00005d52"/>
+ <value name="AffinityPriorityKey" type="dword" data="00005d41"/>
+ <value name="Multi.MoveLeft" type="dword" data="00125b25"/>
+ <value name="Multi.MoveRight" type="dword" data="00125b27"/>
+ <value name="CTS.VkBlockStart" type="dword" data="00000000"/>
+ <value name="CTS.VkTextStart" type="dword" data="00000000"/>
+ <value name="CTS.VkCopyFmt0" type="dword" data="00001143"/>
+ <value name="CTS.VkCopyFmt1" type="dword" data="00101143"/>
+ <value name="CTS.VkCopyFmt2" type="dword" data="00000000"/>
+ <value name="CTS.VkCopyAll" type="dword" data="00000000"/>
+ <value name="HighlightMouseSwitch" type="dword" data="00005d4c"/>
+ <value name="HighlightMouseSwitchX" type="dword" data="00005d58"/>
+ <value name="Multi.ShowTabsList" type="dword" data="00000000"/>
+ <value name="Multi.ShowTabsList2" type="dword" data="00005d7b"/>
+ <value name="ClipboardVkAllLines" type="dword" data="0000102d"/>
+ <value name="ClipboardVkFirstLine" type="dword" data="00001156"/>
+ <value name="Key.AltNumpad" type="dword" data="00000000"/>
+ <value name="DeleteWordToLeft" type="dword" data="00001108"/>
+ <value name="FindTextKey" type="dword" data="00005d46"/>
+ <value name="ScreenshotKey" type="dword" data="00005b48"/>
+ <value name="ScreenshotFullKey" type="dword" data="00105b48"/>
+ <value name="ShowStatusBarKey" type="dword" data="00005d53"/>
+ <value name="ShowTabBarKey" type="dword" data="00005d54"/>
+ <value name="ShowCaptionKey" type="dword" data="00005d43"/>
+ <value name="AlwaysOnTopKey" type="dword" data="00000000"/>
+ <value name="TransparencyInc" type="dword" data="00000000"/>
+ <value name="TransparencyDec" type="dword" data="00000000"/>
+ <value name="Key.EditMenu" type="dword" data="00000000"/>
+ <value name="Key.EditMenu2" type="dword" data="00000000"/>
+ <value name="Key.TabMenu" type="dword" data="00005d20"/>
+ <value name="Key.TabMenu2" type="dword" data="00001002"/>
+ <value name="Key.Maximize" type="dword" data="00001278"/>
+ <value name="Key.MaximizeWidth" type="dword" data="00105b28"/>
+ <value name="Key.MaximizeHeight" type="dword" data="00105b26"/>
+ <value name="Key.TileToLeft" type="dword" data="00005b25"/>
+ <value name="Key.TileToRight" type="dword" data="00005b27"/>
+ <value name="Key.JumpActiveMonitor" type="dword" data="00000000"/>
+ <value name="Key.JumpPrevMonitor" type="dword" data="00105b25"/>
+ <value name="Key.JumpNextMonitor" type="dword" data="00105b27"/>
+ <value name="Key.FullScreen" type="dword" data="0000120d"/>
+ <value name="Key.SysMenu" type="dword" data="00001220"/>
+ <value name="Key.SysMenu2" type="dword" data="00001102"/>
+ <value name="Key.DebugProcess" type="dword" data="00105b44"/>
+ <value name="Key.DumpProcess" type="dword" data="00000000"/>
+ <value name="Key.DumpTree" type="dword" data="00000000"/>
+ <value name="Key.BufUp" type="dword" data="00001126"/>
+ <value name="Key.BufDn" type="dword" data="115d5b28"/>
+ <value name="Key.BufPgUp" type="dword" data="115d5b21"/>
+ <value name="Key.BufPgDn" type="dword" data="115d5b22"/>
+ <value name="Key.BufHfPgUp" type="dword" data="00005d21"/>
+ <value name="Key.BufHfPgDn" type="dword" data="00005d22"/>
+ <value name="Key.BufTop" type="dword" data="00005d24"/>
+ <value name="Key.BufBottom" type="dword" data="00005d23"/>
+ <value name="Key.BufPrUp" type="dword" data="00121121"/>
+ <value name="Key.BufPrDn" type="dword" data="00121122"/>
+ <value name="Key.BufCursor" type="dword" data="00005d08"/>
+ <value name="Key.ResetTerm" type="dword" data="00000000"/>
+ <value name="FontLargerKey" type="dword" data="000011d0"/>
+ <value name="FontSmallerKey" type="dword" data="000011d1"/>
+ <value name="FontOriginalKey" type="dword" data="00001104"/>
+ <value name="PasteFileKey" type="dword" data="00101146"/>
+ <value name="PastePathKey" type="dword" data="00101144"/>
+ <value name="PasteCygwinKey" type="dword" data="00005d2d"/>
+ <value name="KeyMacro01" type="dword" data="00000000"/>
+ <value name="KeyMacro01.Text" type="string" data=""/>
+ <value name="KeyMacro02" type="dword" data="00000000"/>
+ <value name="KeyMacro02.Text" type="string" data=""/>
+ <value name="KeyMacro03" type="dword" data="00000000"/>
+ <value name="KeyMacro03.Text" type="string" data=""/>
+ <value name="KeyMacro04" type="dword" data="00000000"/>
+ <value name="KeyMacro04.Text" type="string" data=""/>
+ <value name="KeyMacro05" type="dword" data="00000000"/>
+ <value name="KeyMacro05.Text" type="string" data=""/>
+ <value name="KeyMacro06" type="dword" data="00000000"/>
+ <value name="KeyMacro06.Text" type="string" data=""/>
+ <value name="KeyMacro07" type="dword" data="00000000"/>
+ <value name="KeyMacro07.Text" type="string" data=""/>
+ <value name="KeyMacro08" type="dword" data="00000000"/>
+ <value name="KeyMacro08.Text" type="string" data=""/>
+ <value name="KeyMacro09" type="dword" data="00000000"/>
+ <value name="KeyMacro09.Text" type="string" data=""/>
+ <value name="KeyMacro10" type="dword" data="00000000"/>
+ <value name="KeyMacro10.Text" type="string" data=""/>
+ <value name="KeyMacro11" type="dword" data="00000000"/>
+ <value name="KeyMacro11.Text" type="string" data=""/>
+ <value name="KeyMacro12" type="dword" data="00000000"/>
+ <value name="KeyMacro12.Text" type="string" data=""/>
+ <value name="KeyMacro13" type="dword" data="00000000"/>
+ <value name="KeyMacro13.Text" type="string" data=""/>
+ <value name="KeyMacro14" type="dword" data="00000000"/>
+ <value name="KeyMacro14.Text" type="string" data=""/>
+ <value name="KeyMacro15" type="dword" data="00000000"/>
+ <value name="KeyMacro15.Text" type="string" data=""/>
+ <value name="KeyMacro16" type="dword" data="00000000"/>
+ <value name="KeyMacro16.Text" type="string" data=""/>
+ <value name="KeyMacro17" type="dword" data="00000000"/>
+ <value name="KeyMacro17.Text" type="string" data=""/>
+ <value name="KeyMacro18" type="dword" data="00000000"/>
+ <value name="KeyMacro18.Text" type="string" data=""/>
+ <value name="KeyMacro19" type="dword" data="00000000"/>
+ <value name="KeyMacro19.Text" type="string" data=""/>
+ <value name="KeyMacro20" type="dword" data="00000000"/>
+ <value name="KeyMacro20.Text" type="string" data=""/>
+ <value name="KeyMacro21" type="dword" data="00000000"/>
+ <value name="KeyMacro21.Text" type="string" data=""/>
+ <value name="KeyMacro22" type="dword" data="00000000"/>
+ <value name="KeyMacro22.Text" type="string" data=""/>
+ <value name="KeyMacro23" type="dword" data="00000000"/>
+ <value name="KeyMacro23.Text" type="string" data=""/>
+ <value name="KeyMacro24" type="dword" data="00000000"/>
+ <value name="KeyMacro24.Text" type="string" data=""/>
+ <value name="KeyMacro25" type="dword" data="00000000"/>
+ <value name="KeyMacro25.Text" type="string" data=""/>
+ <value name="KeyMacro26" type="dword" data="00000000"/>
+ <value name="KeyMacro26.Text" type="string" data=""/>
+ <value name="KeyMacro27" type="dword" data="00000000"/>
+ <value name="KeyMacro27.Text" type="string" data=""/>
+ <value name="KeyMacro28" type="dword" data="00000000"/>
+ <value name="KeyMacro28.Text" type="string" data=""/>
+ <value name="KeyMacro29" type="dword" data="00000000"/>
+ <value name="KeyMacro29.Text" type="string" data=""/>
+ <value name="KeyMacro30" type="dword" data="00000000"/>
+ <value name="KeyMacro30.Text" type="string" data=""/>
+ <value name="KeyMacro31" type="dword" data="00000000"/>
+ <value name="KeyMacro31.Text" type="string" data=""/>
+ <value name="KeyMacro32" type="dword" data="00000000"/>
+ <value name="KeyMacro32.Text" type="string" data=""/>
+ <value name="CTS.VkBlock" type="hex" data="A4"/>
+ <value name="CTS.VkText" type="hex" data="A0"/>
+ <value name="CTS.VkAct" type="hex" data="00"/>
+ <value name="CTS.VkPrompt" type="hex" data="00"/>
+ <value name="FarGotoEditorVk" type="hex" data="A2"/>
+ <value name="DndLKey" type="hex" data="00"/>
+ <value name="DndRKey" type="hex" data="A2"/>
+ <value name="WndDragKey" type="dword" data="00121101"/>
+ </key>
+ <key name="Tasks" modified="2020-11-05 18:21:22" build="201101">
+ <value name="Count" type="long" data="16"/>
+ <key name="Task1" modified="2020-11-05 18:21:22" build="201101">
+ <value name="Name" type="string" data="{Shells::cmd}"/>
+ <value name="Flags" type="dword" data="00000000"/>
+ <value name="Hotkey" type="dword" data="00000000"/>
+ <value name="GuiArgs" type="string" data=""/>
+ <value name="Active" type="long" data="0"/>
+ <value name="Count" type="long" data="1"/>
+ <value name="Cmd1" type="string" data='cmd.exe /k "%ConEmuBaseDir%\CmdInit.cmd"'/>
+ </key>
+ <key name="Task2" modified="2020-11-05 18:21:22" build="201101">
+ <value name="Name" type="string" data="{Shells::cmd (Admin)}"/>
+ <value name="Flags" type="dword" data="00000000"/>
+ <value name="Hotkey" type="dword" data="00000000"/>
+ <value name="GuiArgs" type="string" data=""/>
+ <value name="Active" type="long" data="0"/>
+ <value name="Count" type="long" data="1"/>
+ <value name="Cmd1" type="string" data='cmd.exe /k "%ConEmuBaseDir%\CmdInit.cmd" -new_console:a'/>
+ </key>
+ <key name="Task3" modified="2020-11-05 18:21:22" build="201101">
+ <value name="Name" type="string" data="{babun}"/>
+ <value name="Flags" type="dword" data="00000003"/>
+ <value name="Hotkey" type="dword" data="00000000"/>
+ <value name="GuiArgs" type="string" data=' /icon "%userprofile%\.babun\cygwin\bin\mintty.exe" /dir "%userprofile%"'/>
+ <value name="Active" type="long" data="0"/>
+ <value name="Count" type="long" data="1"/>
+ <value name="Cmd1" type="string" data="D:\home\apps\cygwin\bin\mintty.exe /bin/env CHERE_INVOKING=1 /bin/zsh.exe -l -i"/>
+ </key>
+ <key name="Task4" modified="2020-11-05 18:21:22" build="201101">
+ <value name="Name" type="string" data="{Shells::cmd 64/32}"/>
+ <value name="Flags" type="dword" data="00000000"/>
+ <value name="Hotkey" type="dword" data="00000000"/>
+ <value name="GuiArgs" type="string" data=""/>
+ <value name="Active" type="long" data="1"/>
+ <value name="Count" type="long" data="2"/>
+ <value name="Cmd1" type="string" data='&gt; "%windir%\system32\cmd.exe" /k ""%ConEmuBaseDir%\CmdInit.cmd" &amp; echo This is Native cmd.exe"'/>
+ <value name="Cmd2" type="string" data='"%windir%\syswow64\cmd.exe" /k ""%ConEmuBaseDir%\CmdInit.cmd" &amp; echo This is 32 bit cmd.exe -new_console:s50V"'/>
+ </key>
+ <key name="Task5" modified="2020-11-05 18:21:22" build="201101">
+ <value name="Name" type="string" data="{Shells::PowerShell}"/>
+ <value name="Flags" type="dword" data="00000000"/>
+ <value name="Hotkey" type="dword" data="00000000"/>
+ <value name="GuiArgs" type="string" data=""/>
+ <value name="Active" type="long" data="0"/>
+ <value name="Count" type="long" data="1"/>
+ <value name="Cmd1" type="string" data="powershell.exe"/>
+ </key>
+ <key name="Task6" modified="2020-11-05 18:21:22" build="201101">
+ <value name="Name" type="string" data="{Pi3}"/>
+ <value name="Flags" type="dword" data="00000000"/>
+ <value name="Hotkey" type="dword" data="10121133"/>
+ <value name="GuiArgs" type="string" data=""/>
+ <value name="Active" type="long" data="0"/>
+ <value name="Count" type="long" data="1"/>
+ <value name="Cmd1" type="string" data='C:\Users\bloodstalker\Desktop\putty.exe -new_console -load "Pi3" -l pi -pw raspberry'/>
+ </key>
+ <key name="Task7" modified="2020-11-05 18:21:22" build="201101">
+ <value name="Name" type="string" data="{notepad}"/>
+ <value name="Flags" type="dword" data="00000000"/>
+ <value name="Hotkey" type="dword" data="00000000"/>
+ <value name="GuiArgs" type="string" data=""/>
+ <value name="Active" type="long" data="0"/>
+ <value name="Count" type="long" data="1"/>
+ <value name="Cmd1" type="string" data="notepad.exe"/>
+ </key>
+ <key name="Task8" modified="2020-11-05 18:21:22" build="201101">
+ <value name="Name" type="string" data="{Pi2}"/>
+ <value name="Flags" type="dword" data="00000000"/>
+ <value name="Hotkey" type="dword" data="10125b32"/>
+ <value name="GuiArgs" type="string" data=""/>
+ <value name="Active" type="long" data="0"/>
+ <value name="Count" type="long" data="1"/>
+ <value name="Cmd1" type="string" data='C:\Users\bloodstalker\Desktop\putty.exe -new_console -load "savedsess" -l pi -pw raspberry'/>
+ </key>
+ <key name="Task9" modified="2020-11-05 18:21:22" build="201101">
+ <value name="Name" type="string" data="{Shells::cmd-32}"/>
+ <value name="Flags" type="dword" data="00000000"/>
+ <value name="Hotkey" type="dword" data="00000000"/>
+ <value name="GuiArgs" type="string" data=""/>
+ <value name="Active" type="long" data="0"/>
+ <value name="Count" type="long" data="1"/>
+ <value name="Cmd1" type="string" data='"%windir%\syswow64\cmd.exe" /k "%ConEmuBaseDir%\CmdInit.cmd"'/>
+ </key>
+ <key name="Task10" modified="2020-11-05 18:21:22" build="201101">
+ <value name="Name" type="string" data="{Shells::PowerShell (Admin)}"/>
+ <value name="Flags" type="dword" data="00000000"/>
+ <value name="Hotkey" type="dword" data="00000000"/>
+ <value name="GuiArgs" type="string" data=""/>
+ <value name="Active" type="long" data="0"/>
+ <value name="Count" type="long" data="1"/>
+ <value name="Cmd1" type="string" data="powershell.exe -new_console:a"/>
+ </key>
+ <key name="Task11" modified="2020-11-05 18:21:22" build="201101">
+ <value name="Name" type="string" data="{Bash::CygWin bash}"/>
+ <value name="Flags" type="dword" data="00000000"/>
+ <value name="Hotkey" type="dword" data="00000000"/>
+ <value name="GuiArgs" type="string" data=""/>
+ <value name="Active" type="long" data="0"/>
+ <value name="Count" type="long" data="1"/>
+ <value name="Cmd1" type="string" data='set CHERE_INVOKING=1 &amp; sh.exe --login -i -new_console:C:"sh.exe\..\Cygwin.ico"'/>
+ </key>
+ <key name="Task12" modified="2020-11-05 18:21:22" build="201101">
+ <value name="Name" type="string" data="{Bash::Git bash}"/>
+ <value name="Flags" type="dword" data="00000000"/>
+ <value name="Hotkey" type="dword" data="00000000"/>
+ <value name="GuiArgs" type="string" data=""/>
+ <value name="Active" type="long" data="0"/>
+ <value name="Count" type="long" data="1"/>
+ <value name="Cmd1" type="string" data='"%ConEmuDir%\..\Git\git-cmd.exe" --no-cd --command=usr/bin/bash.exe -l -i'/>
+ </key>
+ <key name="Task13" modified="2020-11-05 18:21:22" build="201101">
+ <value name="Name" type="string" data="{Tests::Show ANSI colors}"/>
+ <value name="Flags" type="dword" data="00000000"/>
+ <value name="Hotkey" type="dword" data="00000000"/>
+ <value name="GuiArgs" type="string" data=""/>
+ <value name="Active" type="long" data="0"/>
+ <value name="Count" type="long" data="1"/>
+ <value name="Cmd1" type="string" data='cmd.exe /k type "%ConEmuBaseDir%\Addons\AnsiColors16t.ans" -cur_console:n'/>
+ </key>
+ <key name="Task14" modified="2020-11-05 18:21:22" build="201101">
+ <value name="Name" type="string" data="{Scripts::Chocolatey (Admin)}"/>
+ <value name="Flags" type="dword" data="00000000"/>
+ <value name="Hotkey" type="dword" data="00000000"/>
+ <value name="GuiArgs" type="string" data=""/>
+ <value name="Active" type="long" data="0"/>
+ <value name="Count" type="long" data="1"/>
+ <value name="Cmd1" type="string" data='*cmd.exe /k Title Chocolatey &amp; "%ConEmuBaseDir%\Addons\ChocolateyAbout.cmd"'/>
+ </key>
+ <key name="Task15" modified="2020-11-05 18:21:22" build="201101">
+ <value name="Name" type="string" data="{gvim}"/>
+ <value name="Flags" type="dword" data="00000000"/>
+ <value name="Hotkey" type="dword" data="00000000"/>
+ <value name="GuiArgs" type="string" data=""/>
+ <value name="Active" type="long" data="0"/>
+ <value name="Count" type="long" data="1"/>
+ <value name="Cmd1" type="string" data='"D:\home\apps\cygwin\bin\gvim.exe" -new_console'/>
+ </key>
+ <key name="Task16" modified="2020-11-05 18:21:22" build="201101">
+ <value name="Name" type="string" data="{Far}"/>
+ <value name="Flags" type="dword" data="00000000"/>
+ <value name="Hotkey" type="dword" data="00000000"/>
+ <value name="GuiArgs" type="string" data=""/>
+ <value name="Active" type="long" data="0"/>
+ <value name="Count" type="long" data="1"/>
+ <value name="Cmd1" type="string" data='set "FARHOME=" &amp; "%ConEmuDir%\..\Far Manager\far.exe" /w /p"%ConEmuDir%\Plugins\ConEmu;%FARHOME%\Plugins"'/>
+ </key>
+ </key>
+ <key name="Apps" modified="2020-11-05 18:21:22" build="201101">
+ <value name="Count" type="long" data="0"/>
+ </key>
+ <key name="Colors" modified="2020-11-05 18:21:22" build="201101">
+ <value name="Count" type="long" data="0"/>
+ </key>
+ </key>
+ </key>
+</key>
+
diff --git a/cygwin/devi.zsh-theme b/cygwin/devi.zsh-theme
new file mode 100644
index 0000000..c1925ff
--- /dev/null
+++ b/cygwin/devi.zsh-theme
@@ -0,0 +1,264 @@
+# vcs_info modifications from Bart Trojanowski's zsh prompt:
+# http://www.jukie.net/bart/blog/pimping-out-zsh-prompt
+#
+# git untracked files modification from Brian Carper:
+# http://briancarper.net/blog/570/git-info-in-your-zsh-prompt
+
+function virtualenv_info {
+ if [[ -a ./bin/activate ]]; then
+ source ./bin/activate > /dev/null
+ fi
+ [ $VIRTUAL_ENV ] && echo ' ('`basename $VIRTUAL_ENV`')'
+}
+#add-zsh-hook chpwd virtualenv_info
+
+PR_GIT_UPDATE=1
+
+setopt prompt_subst
+
+autoload -U add-zsh-hook
+autoload -Uz vcs_info
+
+#use extended color pallete if available
+if [[ $TERM = *256color* || $TERM = *rxvt* ]]; then
+ turquoise="%F{81}"
+ orange="%F{166}"
+ purple="%F{135}"
+ hotpink="%F{161}"
+ limegreen="%F{118}"
+ lorange="%F{222}"
+ batyellow="%F{226}"
+ muckgreen="%F{29}"
+ batgreen="%F{76}"
+ batred="%F{88}"
+ purblue="%F{69}"
+ swampgreen="%F{64}"
+ purple4="%F{54}"
+ deeppink="%F{109}"
+ limblue="%F{154}"
+ skyblue="%F{30}"
+ teal="%F{31}"
+ new="%F{45}"
+ new2="%F{50}"
+ sneakyc="%F{63}"
+ gnew="%F{65}"
+ gnew2="%F{67}"
+ gover="%F{111}"
+ rust="%F{36}"
+ typescript="%F{37}"
+ viinsert="%F{33}"
+ someblue="%F{27}"
+else
+ turquoise="$fg[cyan]"
+ orange="$fg[yellow]"
+ purple="$fg[magenta]"
+ hotpink="$fg[red]"
+ limegreen="$fg[green]"
+ batyellow="%fg[yellow]"
+ batgreen="%fg[green]"
+ batred="%fg[red]"
+fi
+
+# enable VCS systems you use
+zstyle ':vcs_info:*' enable git svn
+
+# check-for-changes can be really slow.
+# you should disable it, if you work with large repositories
+#zstyle ':vcs_info:*:prompt:*' check-for-changes true
+
+# set formats
+# %b - branchname
+# %u - unstagedstr (see below)
+# %c - stagedstr (see below)
+# %a - action (e.g. rebase-i)
+# %R - repository path
+# %S - path in the repository
+PR_RST="%{${reset_color}%}"
+FMT_BRANCH=" on %{$turquoise%}%s-➜%r-➜%b%u%c%a${PR_RST} "
+FMT_ACTION=" performing a %{$limegreen%}%a${PR_RST}"
+FMT_UNSTAGED="%{$orange%} ●"
+FMT_STAGED="%{$limegreen%} ●"
+
+zstyle ':vcs_info:*:prompt:*' unstagedstr "${FMT_UNSTAGED}"
+zstyle ':vcs_info:*:prompt:*' stagedstr "${FMT_STAGED}"
+zstyle ':vcs_info:*:prompt:*' actionformats "${FMT_BRANCH}${FMT_ACTION}"
+zstyle ':vcs_info:*:prompt:*' formats "${FMT_BRANCH}"
+zstyle ':vcs_info:*:prompt:*' nvcsformats ""
+
+function steeef_preexec {
+ #case "$(history $HISTCMD)" in
+ case "$2" in
+ *git*)
+ PR_GIT_UPDATE=1
+ ;;
+ *svn*)
+ PR_GIT_UPDATE=1
+ ;;
+ esac
+}
+add-zsh-hook preexec steeef_preexec
+
+function steeef_chpwd {
+ #this is here so we dont get errors when we are in a bare git dir
+ result=$(git rev-parse --is-bare-repository 2> /dev/null)
+ if [[ $? == 0 ]]; then
+ if [[ $result == true ]]; then
+ PR_GIT_UPDATE=
+ else
+ PR_GIT_UPDATE=1
+ fi
+ else
+ PR_GIT_UPDATE=1
+ fi
+}
+add-zsh-hook chpwd steeef_chpwd
+
+function steeef_precmd {
+ if [[ -n "$PR_GIT_UPDATE" ]] ; then
+ # check for untracked files or updated submodules, since vcs_info doesn't
+ if [[ ! -z $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then
+ PR_GIT_UPDATE=1
+ FMT_BRANCH="${PM_RST} on %{$turquoise%}%s-➜%r-➜%b%u%c%a%{$hotpink%} ●${PR_RST} "
+ else
+ FMT_BRANCH="${PM_RST} on %{$turquoise%}%s-➜%r-➜%b%u%c%a${PR_RST} "
+ fi
+ zstyle ':vcs_info:*:prompt:*' formats "${FMT_BRANCH}"
+
+ vcs_info 'prompt'
+ PR_GIT_UPDATE=
+ fi
+}
+add-zsh-hook precmd steeef_precmd
+
+# function guess_who {
+# upower -e > /dev/null 2>&1
+
+# if [ $? -eq 0 ]; then
+# os="lin"
+# else
+# os="win"
+# fi
+# }
+# add-zsh-hook precmd guess_who
+
+function time_function {
+ date | gawk '{print $2" "$3" "$4}'
+}
+
+function node_version {
+ version=$(nvm current)
+ echo " <$version>"
+}
+
+function sudo_query {
+ sudo -nv > /dev/null 2>&1
+ if [[ $? == 0 ]]; then
+ #echo 
+ echo " "
+ else
+ :
+ fi
+}
+
+function dir_writeable {
+ if [ -w $(pwd) ]; then :;else echo ;fi
+}
+
+function sneaky {
+ if [[ $! -ne 0 ]]; then
+ echo " $!"
+ fi
+}
+
+function gitadditions {
+ git rev-parse --git-dir > /dev/null 2>&1
+ if [[ $? == 0 ]]; then
+ insertions=$(git --no-pager diff --numstat 2> /dev/null | awk '{sum1+=$1}END{print sum1}')
+ if [[ $insertions == "" ]]; then
+ :
+ else
+ echo " "$insertions:
+ fi
+ fi
+}
+
+function gitdeletions {
+ git rev-parse --git-dir > /dev/null 2>&1
+ if [[ $? == 0 ]]; then
+ deletions=$(git --no-pager diff --numstat 2> /dev/null | awk '{sum2+=$2}END{print sum2}')
+ if [[ $deletions == "" ]]; then
+ :
+ else
+ echo $deletions" "
+ fi
+ fi
+}
+
+function goversion {
+ VERSION=$("go" version | gawk '{print $3}')
+ echo " <${VERSION:2:$((${#VERSION}))}>"
+}
+
+function rustversion {
+ VERSION=$(rustc --version | gawk '{print $2}')
+ echo " <$VERSION>"
+}
+
+function typescriptversion {
+ VERSION=$(tvm tsc --version | gawk '{print $2}')
+ echo " <$VERSION>"
+}
+
+PROMPT=$'%{$new2%}$(sudo_query)%{$reset_color%}%{$swampgreen%}%n%{$reset_color%} on %{$purblue%}%M%{$reset_color%} in %{$limegreen%}%/%{$reset_color%} at %{$muckgreen%}$(time_function)%{$reset_color%}$(ruby_prompt_info " with%{$fg[red]%} " v g "%{$reset_color%}")$vcs_info_msg_0_%{$limblue%}%{$gnew%}$(gitadditions)%{$gnew2%}$(gitdeletions)%{$reset_color%}%{$deeppink%}$(virtualenv_info)%{$reset_color%}%{$teal%}$(node_version)%{$reset_color%}%{$gover%}$(goversion)%{$reset_color%}%{$rust%}$(rustversion)%{$reset_color%}%{$sneakyc%}$(sneaky)%{$reset_color%}%{$new%}$(rebuildquery)%{$reset_color%} %{$someblue%}<$ZSH_KUBECTL_PROMPT>%{$reset_color%}%{$batred%}$(dir_writeable)%{$reset_color%}\n%{$limblue%}--➜%{$reset_color%}'
+
+function rebuildquery {
+ make -q > /dev/null 2>&1
+ if [[ $? == 1 ]]; then
+ echo " ::rebuild::"
+ else
+ :
+ fi
+}
+
+
+
+#function vi-replacee {
+# RPS1="$VIM_PROMPT_REPLACE %{$lorange%}%?↵%{$reset_color%} %{$batcolor%}$(batcharge_printer)%%{$reset_color%}"
+# zle vi-replace
+#}
+#zle -N vi-replace-mode-widget vi-replacee
+# bind R only in vicmd keymapping
+#bindkey -M vicmd 'R' vi-replace-mode-widget
+
+#https://raw.githubusercontent.com/alfredodeza/zsh-plugins/master/vi/zle_vi_visual.zsh
+#this gives us vivis and vivli
+source ~/.oh-my-zsh/plugins/zle-vi-visual/zle_vi_visual.zsh
+
+function zle-line-init zle-keymap-select {
+VIM_PROMPT_INSERT="%{$fg_bold[cyan]%}% [% INS]% %{$reset_color%}"
+VIM_PROMPT_MAIN="%{$fg_bold[blue]%}% [% INSERT]% %{$reset_color%}"
+VIM_PROMPT_REPLACE="%{$fg_bold[black]%}% %{$bg_bold[red]%}% [% REPLACE]% %{$reset_color%}"
+VIM_PROMPT_VISUAL_LINE="%{$fg_bold[red]%}% [% VISUAL-LINE]% %{$reset_color%}"
+VIM_PROMPT_VISUAL_CHAR="%{$fg_bold[red]%}% [% VISUAL]% %{$reset_color%}"
+VIM_PROMPT_CMD="%{$fg_bold[green]%}% [% NORMAL]% %{$reset_color%}"
+if [[ $KEYMAP == vivis ]]; then
+ RPS1="$VIM_PROMPT_VISUAL_CHAR %{$lorange%}%?↵%{$reset_color%}"
+elif [[ $KEYMAP == vivli ]]; then
+ RPS1="$VIM_PROMPT_VISUAL_LINE %{$lorange%}%?↵%{$reset_color%}"
+elif [[ $KEYMAP == vicmd ]];then
+ RPS1="$VIM_PROMPT_CMD %{$lorange%}%?↵%{$reset_color%}"
+elif [[ $KEYMAP == viins ]]; then
+ RPS1="$VIM_PROMPT_INSERT %{$lorange%}%?↵%{$reset_color%}"
+elif [[ $KEYMAP == main ]]; then
+ RPS1="$VIM_PROMPT_MAIN %{$lorange%}%?↵%{$reset_color%}"
+ VI_MODE_R_ENTERED="no"
+fi
+zle reset-prompt
+}
+
+zle -N zle-line-init
+zle -N zle-keymap-select
+#bindkey "^[[3~" delete-char
+#bindkey "^[3;5~" delete-char
+export KEYTIMEOUT=1
+
diff --git a/cygwin/sumatrapdf/SumatraPDF-settings.txt b/cygwin/sumatrapdf/SumatraPDF-settings.txt
new file mode 100644
index 0000000..f1aa03b
--- /dev/null
+++ b/cygwin/sumatrapdf/SumatraPDF-settings.txt
@@ -0,0 +1,67 @@
+# For documentation, see http://www.sumatrapdfreader.org/settings3.1.html
+
+MainWindowBackground = #80fff200
+EscToExit = false
+ReuseInstance = false
+UseSysColors = false
+RestoreSession = true
+
+FixedPageUI [
+ TextColor = #006666
+ BackgroundColor = #101010
+ SelectionColor = #f5fc0c
+ WindowMargin = 2 4 2 4
+ PageSpacing = 4 4
+ GradientColors = #005f87 #005f5f #101010
+]
+EbookUI [
+ FontName = Georgia
+ FontSize = 12.5
+ TextColor = #006666
+ BackgroundColor = #101010
+ UseFixedPageUI = false
+]
+ComicBookUI [
+ WindowMargin = 0 0 0 0
+ PageSpacing = 4 4
+ CbxMangaMode = false
+]
+ChmUI [
+ UseFixedPageUI = false
+]
+ExternalViewers [
+]
+ShowMenubar = true
+ReloadModifiedDocuments = true
+FullPathInTitle = false
+ZoomLevels = 8.33 12.5 18 25 33.33 50 66.67 75 100 125 150 200 300 400 600 800 1000 1200 1600 2000 2400 3200 4800 6400
+ZoomIncrement = 0
+
+PrinterDefaults [
+ PrintScale = shrink
+]
+ForwardSearch [
+ HighlightOffset = 0
+ HighlightWidth = 15
+ HighlightColor = #6581ff
+ HighlightPermanent = true
+]
+CustomScreenDPI = 0
+
+RememberStatePerDocument = true
+UiLanguage = en
+ShowToolbar = false
+ShowFavorites = false
+AssociateSilently = false
+CheckForUpdates = true
+RememberOpenedFiles = true
+EnableTeXEnhancements = true
+DefaultDisplayMode = automatic
+DefaultZoom = fit page
+WindowState = 2
+WindowPos = -1135 195 974 824
+ShowToc = true
+SidebarDx = 285
+TocDy = 0
+ShowStartPage = true
+UseTabs = true
diff --git a/cygwin/xserver.bat b/cygwin/xserver.bat
new file mode 100755
index 0000000..130c40a
--- /dev/null
+++ b/cygwin/xserver.bat
@@ -0,0 +1,2 @@
+"C:\Program Files\VcXsrv\vcxsrv.exe" -ac -multiwindow -clipboard -wgl
+pause