-
Notifications
You must be signed in to change notification settings - Fork 1
/
kitty.conf
104 lines (90 loc) · 3.14 KB
/
kitty.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
include ./colors/mocha.conf
# ADVANCED
# --------
shell /bin/fish
editor nvim
update_check_interval 0
notify_on_cmd_finish unfocused 10.0 bell
# FONTS
# -----
font_family jetbrains mono nerd font
font_size 14
bold_font auto
italic_font auto
bold_italic_font auto
disable_ligatures never
modify_font underline_position 3
modify_font underline_thickness 1
box_drawing_scale 0.1, 2, 3, 4
# COLOR SCHEME
# ------------
background_opacity 0.80
background_blur 0
# MOUSE
# -----
mouse_hide_wait 0.0
cursor_shape block
url_color #0087bd
url_style dotted
detect_urls yes
copy_on_select yes
show_hyperlink_targets yes
underline_hyperlinks always
strip_trailing_spaces smart
# MOUSE MAP
# ---------
mouse_map shift+left doublepress ungrabbed,grabbed mouse_selection word
mouse_map shift+left triplepress ungrabbed,grabbed mouse_selection line
# MAP
# ------------------
# QOL Mappings
map ctrl+backspace send_text all \x17
map ctrl+shift+q close_tab
map ctrl+shift+x close_tab
map ctrl+shift+n new_tab
map ctrl+shift+t new_tab
# Vim Style Mappings
map ctrl+shift+j scroll_line_down
map ctrl+shift+k scroll_line_up
map ctrl+shift+d scroll_page_down
map ctrl+shift+u scroll_page_up
# Split View
# map ctrl+shift+w>s launch --location=hsplit
# map ctrl+shift+w>v launch --location=vsplit
# map ctrl+shift+w>h neighboring_window left
# map ctrl+shift+w>l neighboring_window right
# map ctrl+shift+w>k neighboring_window up
# map ctrl+shift+w>j neighboring_window down
# map ctrl+shift+w>shift+h move_window left
# map ctrl+shift+w>shift+l move_window right
# map ctrl+shift+w>shift+k move_window up
# map ctrl+shift+w>shift+j move_window down
# Shift Tabs
map ctrl+1 goto_tab 1
map ctrl+2 goto_tab 2
map ctrl+3 goto_tab 3
map ctrl+4 goto_tab 4
map ctrl+5 goto_tab 5
map ctrl+6 goto_tab 6
map ctrl+7 goto_tab 7
map ctrl+8 goto_tab 8
map ctrl+9 goto_tab 9
# NEOVIM SCROLLBACK PAGER
# -----------------------
# nvim Terminal mode implementation
scrollback_pager bash -c "exec nvim 63<&0 0</dev/null -i NONE -c 'map <silent> q :qa!<CR>' -c 'map <silent> i :qa!<CR>' -c 'set shell=bash scrollback=100000 termguicolors laststatus=0 clipboard+=unnamedplus signcolumn=no showtabline=0 norelativenumber nonumber nolist' -c 'autocmd TermEnter * stopinsert' -c 'autocmd TermClose * call cursor(max([0,INPUT_LINE_NUMBER-1])+CURSOR_LINE, CURSOR_COLUMN)' -c 'terminal sed </dev/fd/63 -e \"s/file:[^\]*[\]//g\" && sleep 0.01 '"
# nvim buffer (with plugins) + tmp file + cat implementation
# scrollback_pager nvim -c "set signcolumn=no showtabline=0" -c "silent write! /tmp/kitty_scrollback_buffer | te cat /tmp/kitty_scrollback_buffer - " -c "set norelativenumber nonumber nolist showtabline=0 foldcolumn=0" -c 'map <silent> q :qa!<CR>' -c "$"
map alt+n show_scrollback
# PERFORMANCE TUNING
# ------------------
# FPS = (1000/repaint_delay)
repaint_delay 15
input_delay 3
sync_to_monitor yes
# TERMINAL BELL
# -------------
enable_audio_bell yes
# WINDOW LAYOUT
# -------------
confirm_os_window_close 0