Update config

This commit is contained in:
2020-04-08 21:52:21 +04:00
parent 73187d9344
commit d1b5037e15
20 changed files with 4633 additions and 518 deletions

View File

@@ -1,31 +1,3 @@
URxvt*font: xft:Iosevka\ Term:size=11
URxvt*scrollBar: false
! URxvt*geometry: 167x54
! do not scroll with output
URxvt*scrollTtyOutput: false
! scroll in relation to buffer (with mouse scroll or Shift+Page Up)
URxvt*scrollWithBuffer: true
! scroll back to the bottom on keypress
URxvt*scrollTtyKeypress: true
URxvt*secondaryWheel: true
URxvt.urgentOnBell: true
URxvt.perl-ext: default,clipboard,url-select,keyboard-select
URxvt.keysym.M-Escape: perl:keyboard-select:activate
URxvt.keysym.M-s: perl:keyboard-select:search
URxvt.url-select.launcher: browser
URxvt.url-select.underline: true
URxvt.url-select.button: 1
URxvt.keysym.M-u: perl:url-select:select_next
! links color
!URxvt.colorUL: #4682B4
Xft*dpi: 96
Xft*antialias: true
Xft.hinting: true
@@ -33,5 +5,5 @@ Xft.hintstyle: hintslight
Xft.lcdfilter: lcddefault
Xft.rgba: rgb
#include ".Xresources.d/base16-gruvbox-dark-hard-256"
#include ".Xresources.d/st"
#include ".Xresources.d/base16-gruvbox-dark-hard-256"

View File

@@ -8,30 +8,30 @@ st.termname: xterm-256color
! st.shell: /bin/sh
! The following options options can be reloaded via USR1 signal.
st.font: Iosevka Term:pixelsize=18:antialias=true:autohint=false:dpi=120;
st.font: Iosevka\ Term-11:medium:antialias=true:autohint=false:hintstyle=hintslight:rgba=rgba:lcdfilter:lcddefault;
st.bold_font: 1
st.borderpx: 0
! Available cursor values: 2 4 6 7 = █ _ | ☃ ( 1 3 5 are blinking versions)
st.cursorshape: 2
! thickness of underline and bar cursors
st.cursorthickness: 2
! 0: normal blinking, 1: leave cursor border and blink with cursor's background
! 0: normal blinking, 1: leave cursor border and blink with cursors background
st.cursorblinkstyle: 0
! 0: cursor blinks with a constant interval; 1: blinking cycle resets on key input
st.cursorblinkontype: 1
st.bold_font: 1
st.xfps: 120
st.actionfps: 30
! Amount of lines scrolled
st.mouseScrollLines: 1
! Kerning / character bounding-box height multiplier
st.chscale: 1.0
st.chscale: 0.95
! Kerning / character bounding-box width multiplier
st.cwscale: 1.0
! blinking timeout for terminal and cursor blinking (0 disables)
st.blinktimeout: 800
! bell volume. Value between -100 and 100. (0 disables)
st.bellvolume: 100
! this is a char that is exposed like so: `printf '\033[z'`
! this is a char that is exposed like so: printf '\033[z'
st.prompt_char: $
! This option is can be preedit style. Available values: `root` `overthespot` (Default taken `root`)
st.imstyle: root

View File

@@ -12,11 +12,15 @@
co = checkout
df = diff
pl = pull
pul = pull
ps = push
pus = push
today = log --stat --since='1 Day Ago' --graph --pretty=oneline --abbrev-commit --date=relative
lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
lgs = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative --stat
lf = !sh -c 'git lg --grep=$1 --max-count=5' -
tree = log --graph --decorate --pretty=oneline --abbrev-commit
# lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
patch = !git --no-pager diff --no-color
[color]
@@ -32,3 +36,6 @@
[mergetool]
prompt = false
[credential]
helper = cache

View File

@@ -1,5 +1,6 @@
*.swp
/.bundle
/.vim
npm-debug.log
vendor/bundle/
vendor/cache/
@@ -10,3 +11,13 @@ yarn-error.log
*.gem
.pgsync.yml
stats.json
tags
.ctags.d/
/.direnv
.envrc
*.pid
*.sock
report*.json
.clinic/

View File

@@ -5,8 +5,8 @@
# vim: set ai et fenc=utf-8 ft=conf nu si sts=0 sw=4 ts=8 tw=0 :
# ----------------------------------------------------------------------
auto-reload yes
browser qutebrowser
auto-reload no
browser surf
cleanup-on-quit yes
feed-sort-order firsttag
max-downloads 4
@@ -26,9 +26,8 @@ prepopulate-query-feeds no
feedlist-format "%4i %11u %T > %t"
define-filter "Only query feeds" "feedtitle =~ \"====\""
include "~/.newsboat/nextcloud"
include "~/.config/newsboat/nextcloud"
# binds ----------------------------------------------------------------
@@ -38,6 +37,18 @@ bind-key \ reload-all
bind-key "RIGHT" select-tag
bind-key "SPACE" open
# unbind keys
unbind-key ENTER
unbind-key j
unbind-key k
unbind-key J
unbind-key K
# bind keys - vim style
bind-key j down
bind-key k up
bind-key l open
bind-key h quit
# hide articles matching: ---------------------------------------------
@@ -67,3 +78,19 @@ highlight article ":.*\\(embedded flash\\)$" color74 default
color listnormal white default
color listfocus default color240
color info default color240
color background color236 default
color listnormal color248 default
color listnormal_unread color6 default
color listfocus color236 color12
color listfocus_unread color15 color12
color info color248 color236
color article color248 default
# highlights
highlight article "^(Feed|Link):.*$" color6 default bold
highlight article "^(Title|Date|Author):.*$" color6 default bold
highlight article "https?://[^ ]+" color10 default underline
highlight article "\\[[0-9]+\\]" color10 default bold
highlight article "\\[image\\ [0-9]+\\]" color10 default bold
highlight feedlist "^─.*$" color6 color236 bold

File diff suppressed because it is too large Load Diff

29
.taskrc
View File

@@ -10,20 +10,24 @@
# Use the command 'task show' to see all defaults and overrides
weekstart=Monday
# Files
data.location=~/.task
# Color theme (uncomment one to use)
# include /usr/share/task/light-16.theme
# include /usr/share/task/light-256.theme
# include /usr/share/task/dark-256.theme
# include /usr/share/task/dark-red-256.theme
# include /usr/share/task/dark-green-256.theme
# include /usr/share/task/dark-blue-256.theme
# include /usr/share/task/dark-violets-256.theme
include /usr/share/task/dark-yellow-green.theme
# include /usr/share/task/dark-gray-256.theme
# include /usr/share/task/solarized-dark-256.theme
# include /usr/share/task/rc/light-16.theme
# include /usr/share/task/rc/light-256.theme
include /usr/share/task/rc/dark-256.theme
# include /usr/share/task/rc/dark-red-256.theme
# include /usr/share/task/rc/dark-green-256.theme
# include /usr/share/task/rc/dark-blue-256.theme
# include /usr/share/task/rc/dark-violets-256.theme
# include /usr/share/task/rc/dark-yellow-green.theme
# include /usr/share/task/rc/dark-gray-256.theme
# include /usr/share/task/rc/solarized-dark-256.theme
search.case.sensitive=no
alias.rm=delete
alias.mod=modify
@@ -32,6 +36,11 @@ uda.totalactivetime.type=duration
uda.totalactivetime.label=Total active time
uda.totalactivetime.values=
uda.priority.values=H,M,,L
urgency.uda.priority.H.coefficient=3.0
urgency.uda.priority.L.coefficient=0.5
urgency.uda.priority.M.coefficient=2.0
default.command=list
report.active.columns=id,project,description.truncated,start.age

View File

@@ -1,8 +1,8 @@
#!/bin/sh
export BROWSER=browser
export TERMINAL=terminal
export XTERM=terminal
export TERMINAL=xst
export XTERM=xst
export LANGUAGE=en_US:en_GB:en
export LC_TIME=ru_RU.UTF-8
@@ -15,6 +15,8 @@ xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Button" 2
xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Timeout" 200
xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Axes" 6 7 4 5
# xinput set-prop "Primax Kensington Eagle Trackball" "Evdev Middle Button Emulation" 1
# exec ck-launch-session dbus-launch
xrdb -merge ~/.Xresources
exec i3 > $HOME/log/i3.txt 2>&1

8
.zshrc
View File

@@ -1,11 +1,3 @@
if [ -d $HOME/.local/bin ] ; then
PATH=$HOME/.local/bin:$PATH
fi
if [ -d $HOME/bin ] ; then
PATH=$HOME/bin:$PATH
fi
# Lines configured by zsh-newuser-install
HISTFILE=~/.histfile
HISTSIZE=2000

View File

@@ -5,6 +5,7 @@ alias ll="ls -lAF"
alias mkpasswd="head -c16 /dev/urandom | xxd -ps"
alias mc="mc -b"
alias ls='ls --color=auto'
alias cdp='cd $($HOME/bin/cdp)'
# alias less='vimpager'
if [ -f /usr/bin/grc ]; then
@@ -33,9 +34,6 @@ alias mina="bundle exec mina"
alias rgrep="grep --exclude-dir=Godeps --exclude-dir=node_modules --exclude-dir=log --exclude-dir=vendor --exclude-dir=tmp --exclude-dir=public --exclude-dir=.git --exclude=.swp -rn"
alias grep="grep --exclude-dir=.git --color=auto"
alias wiki="cd $HOME/wiki && vim index.md"
alias xwiki="cd $HOME/wiki && xvim index.md"
alias weather="curl wttr.in/Moscow"
alias ag="ag --path-to-ignore $HOME/.agignore --nogroup"
alias vim="nvim"

View File

@@ -1,16 +1,16 @@
# Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly.
fields=0 48 17 18 38 39 40 2 46 47 49 1
sort_key=47
sort_key=46
sort_direction=1
hide_threads=0
hide_kernel_threads=0
hide_userland_threads=0
shadow_other_users=0
shadow_other_users=1
show_thread_names=0
show_program_path=1
show_program_path=0
highlight_base_name=1
highlight_megabytes=0
highlight_megabytes=1
highlight_threads=1
tree_view=0
header_margin=1
@@ -20,7 +20,7 @@ update_process_names=0
account_guest_in_cpu_meter=0
color_scheme=0
delay=15
left_meters=AllCPUs2 Memory
left_meter_modes=1 1
left_meters=AllCPUs2 Memory Swap
left_meter_modes=1 1 1
right_meters=Tasks LoadAverage Uptime
right_meter_modes=2 2 2

View File

@@ -30,7 +30,7 @@ font pango:DejaVu Sans Condensed Bold 8
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
default_border pixel 1
default_border normal 1
default_floating_border pixel 1
hide_edge_borders smart
focus_follows_mouse no
@@ -38,22 +38,20 @@ focus_follows_mouse no
workspace_auto_back_and_forth no
workspace_layout tabbed
for_window [class="(?i)firefox"] move container to workspace 1
for_window [class="(?i)thunderbird"] move container to workspace 1
for_window [class="(?i)firefox"] move container to workspace $ws1
for_window [class="(?i)thunderbird"] move container to workspace $ws1
# sticky enable
# class border backgr. text indicator child_border
client.focused #665c54 #665c54 #ffffff #2e9ef4 #665c54
client.focused_inactive #333333 #5f676a #fbf1c7 #484e50 #5f676a
client.focused #333333 #5f676a #ffffff #2e9ef4 #5f676a
client.focused_inactive #665c54 #665c54 #fbf1c7 #484e50 #665c54
client.unfocused #333333 #222222 #bdae93 #292d2e #222222
client.urgent #2f343a #900000 #fbf1c7 #900000 #900000
client.placeholder #000000 #0c0c0c #fbf1c7 #000000 #0c0c0c
client.background #ffffff
# start a terminal
bindsym $mod+Shift+t exec terminal
bindsym $mod+Return exec terminal
# kill focused window
@@ -66,21 +64,35 @@ bindsym $mod+F2 exec "dmenu_run"
# installed.
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
bindsym $mod+F4 exec "edit_project"
bindsym $mod+F4 exec "kitty edit_project"
bindsym $mod+v exec "passmenu"
# change focus
# QWERTY
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# colemak
# bindsym $mod+k focus left
# bindsym $mod+n focus down
# bindsym $mod+e focus up
# bindsym $mod+i focus right
# move focused window
# QWERTY
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
# colemak
# bindsym $mod+Shift+k move left
# bindsym $mod+Shift+n move down
# bindsym $mod+Shift+e move up
# bindsym $mod+Shift+i move right
mode "split" {
# split in horizontal orientation
bindsym h split h mode "default"
@@ -99,13 +111,13 @@ bindsym $mod+s mode "split"
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+q layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
bindsym $mod+Shift+q layout stacking
bindsym $mod+Shift+t layout tabbed
bindsym $mod+Shift+w layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# bindsym $mod+space sticky toggle
bindsym $mod+Shift+0 sticky toggle
# change focus between tiling / floating windows
# bindsym $mod+space focus mode_toggle
@@ -127,7 +139,6 @@ set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
# switch to workspace
bindsym $mod+1 workspace $ws1
@@ -139,7 +150,6 @@ bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace $ws1
@@ -151,25 +161,31 @@ bindsym $mod+Shift+6 move container to workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws10
# reload the configuration file
bindsym $mod+Shift+e reload
# bindsym $mod+Shift+e reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+q exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
bindsym $mod+Shift+x exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
bindsym $mod+Shift+z exec "i3lock"
bindsym $mod+Shift+z exec "stop_and_lock"
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
bindsym h resize shrink width 3 px or 3 ppt
bindsym j resize grow height 3 px or 3 ppt
bindsym k resize shrink height 3 px or 3 ppt
bindsym l resize grow width 3 px or 3 ppt
# QWERTY
bindsym Left resize shrink width 3 px or 3 ppt
bindsym Down resize grow height 3 px or 3 ppt
bindsym Up resize shrink height 3 px or 3 ppt
bindsym Right resize grow width 3 px or 3 ppt
# colemak
# bindsym k resize shrink width 3 px or 3 ppt
# bindsym n resize grow height 3 px or 3 ppt
# bindsym e resize shrink height 3 px or 3 ppt
# bindsym i resize grow width 3 px or 3 ppt
# back to normal: Enter or Escape or $mod+r
bindsym Return mode "default"
@@ -188,6 +204,7 @@ bindsym $mod+space scratchpad show
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
# strip_workspace_numbers yes
status_command i3status-rs ~/.config/i3status-rs/config.toml
font pango:Iosevka Term, FontAwesome Bold 12px
colors {
@@ -208,6 +225,17 @@ bindsym XF86MonBrightnessUp exec --no-startup-id sudo light -A 5
bindsym XF86MonBrightnessDown exec --no-startup-id sudo light -U 5
bindsym XF86Search exec --no-startup-id suspend
# Volume control
bindsym XF86AudioRaiseVolume exec --no-startup-id volume_control.sh incr
bindsym XF86AudioLowerVolume exec --no-startup-id volume_control.sh decr
bindsym XF86AudioMute exec --no-startup-id volume_control.sh mute
bindsym XF86AudioPrev exec --no-startup-id mpc prev
bindsym XF86AudioPlay exec --no-startup-id mpc toggle
bindsym XF86AudioStop exec --no-startup-id mpc stop
bindsym XF86AudioNext exec --no-startup-id mpc next
# Autorun
exec --no-startup-id feh --bg-scale ~/.config/i3/bg.jpg
exec --no-startup-id feh --bg-fill ~/.config/i3/bg.jpg
exec --no-startup-id xautorun

View File

@@ -24,20 +24,32 @@ block = "custom"
command = "timelogger statusbar"
interval = 10
[[block]]
block = "custom"
command = "statusd-weather Tbilisi"
interval = 60
[[block]]
block = "sound"
driver = "alsa"
[[block]]
block = "net"
device = "wlan0"
ssid = true
ip = true
speed_down = false
graph_up = false
speed_up = false
speed_down = false
interval = 5
block = "maildir"
interval = 60
inboxes = ["/home/krsh/Mail/kr3ssh@gmail.com/INBOX", "/home/krsh/Mail/kr3ssh@pm.me/INBOX", "/home/krsh/Mail/sergey@1158.studio/INBOX", "/home/krsh/Mail/sergey@aww.cloud/INBOX"]
threshold_warning = 1
threshold_critical = 5
# [[block]]
# block = "net"
# device = "wlp3s0"
# ssid = true
# ip = true
# speed_down = false
# graph_up = false
# speed_up = false
# speed_down = false
# interval = 5
[[block]]
block = "net"
@@ -53,10 +65,10 @@ interval = 5
[[block]]
block = "memory"
display_type = "memory"
format_mem = "{MAm} MB"
format_mem = "{MAg} GB"
clickable = false
warning_mem = 70
critical_mem = 85
warning_mem = 60
critical_mem = 70
[[block]]
block = "cpu"
@@ -68,20 +80,25 @@ block = "temperature"
collapsed = true
interval = 10
format = "{min}° min, {max}° max, {average}° avg"
good = 30
idle = 50
info = 70
warning = 80
good = 45
idle = 60
info = 75
warning = 84
[[block]]
block = "load"
interval = 1
format = "{15m} {5m} {1m}"
# [[block]]
# block = "battery"
# interval = 10
# format = "{percentage}% {time}"
[[block]]
block = "battery"
interval = 10
format = "{percentage}% {time}"
block = "custom"
command = "statusd-utctime"
interval = 60
[[block]]
block = "time"

View File

@@ -7,6 +7,7 @@ ln -s $PWD/.railsrc \
$PWD/.gitconfig \
$PWD/.gitignore_global \
$PWD/.rubocop.yml \
$PWD/.reek.yml \
$PWD/.screenrc \
$PWD/.xinitrc \
$PWD/.Xresources \
@@ -21,3 +22,15 @@ ln -s $PWD/htop ~/.config/
ln -s $PWD/qutebrowser/config.py ~/.config/qutebrowser/config.py
cp -n $PWD/.bundle-config ~/.bundle/config
ln -s $PWD/i3/config ~/.config/i3/config
ln -s $PWD/i3status/config ~/.config/i3status/config
ln -s $PWD/i3status-rs/config.toml ~/.config/i3status-rs/config.toml
ln -s $PWD/kitty/kitty.conf ~/.config/kitty/kitty.conf
cp -rn $PWD/kitty/colors ~/.config/kitty/
ln -s $PWD/nvim/init.vim ~/.config/nvim/init.vim
ln -s $PWD/mutt/muttrc ~/.config/mutt/muttrc
ln -s $PWD/mutt/mailcap ~/.config/mutt/mailcap

View File

@@ -1,12 +1,25 @@
include colors/base16/base16-gruvbox-dark-hard-256.conf
font_family Iosevka Term
shell shell
font_family Iosevka Term Medium
font_size 11
bold_font Iosevka Term Medium
italic_font Iosevka Term Oblique
italic_font Iosevka Term Medium Oblique
bold_italic_font Iosevka Term Medium Oblique
adjust_line_height 95%
padding_width 0
border_width 0
window_border_width 1
window_padding_width 0
window_margin_width 0
window_resize_step_cells 0
single_window_margin_width 0
draw_minimal_borders True
hide_window_decorations False
placement_strategy top-left
tab_bar_style separator
tab_separator " ┇ "
@@ -26,5 +39,17 @@ map ctrl+shift+7 goto_tab 7
map ctrl+shift+8 goto_tab 8
map ctrl+shift+9 goto_tab 9
map ctrl+shift+equal no_op
map ctrl+shift+minus no_op
map ctrl+shift+backspace no_op
map ctrl+shift+w no_op
# Crutch to disable escaping space
send_text all alt+space \x20\x7f
map ctrl+alt+equal change_font_size all +2.0
map ctrl+alt+minus change_font_size all -2.0
map ctrl+alt+0 change_font_size all 0
# Would open the scrollback buffer in a new window when you press the F1 key
map ctrl+shift+f1 pipe @ansi window less +G -R

View File

@@ -0,0 +1,6 @@
color compose header color223 color234
color compose security_encrypt color175 color234
color compose security_sign color109 color234
color compose security_both color142 color234
color compose security_none color208 color234

View File

@@ -0,0 +1,81 @@
# gruvbox dark (contrast dark):
# bg0 = 234
# bg1 = 237
# bg2 = 239
# bg3 = 241
# bg4 = 243
#
# gray = 245
#
# fg0 = 229
# fg1 = 223
# fg2 = 250
# fg3 = 248
# fg4 = 246
#
# red = 167
# green = 142
# yellow = 214
# blue = 109
# purple = 175
# aqua = 108
# orange = 208
# See http://www.mutt.org/doc/manual/#color
color attachment color109 color234
color bold color229 color234
color error color167 color234
color hdrdefault color246 color234
color indicator color223 color237
color markers color243 color234
color normal color223 color234
color quoted color250 color234
color quoted1 color108 color234
color quoted2 color250 color234
color quoted3 color108 color234
color quoted4 color250 color234
color quoted5 color108 color234
color search color234 color208
color signature color108 color234
color status color234 color250
color tilde color243 color234
color tree color142 color234
color underline color223 color239
color sidebar_divider color250 color234
color sidebar_new color142 color234
color index color142 color234 ~N
color index color108 color234 ~O
color index color109 color234 ~P
color index color214 color234 ~F
color index color175 color234 ~Q
color index color167 color234 ~=
color index color234 color223 ~T
color index color234 color167 ~D
color header color214 color234 "^(To:|From:)"
color header color142 color234 "^Subject:"
color header color108 color234 "^X-Spam-Status:"
color header color108 color234 "^Received:"
color body color142 color234 "[a-z]{3,256}://[-a-zA-Z0-9@:%._\\+~#=/?&,]+"
#color body color142 color234 "[a-zA-Z]([-a-zA-Z0-9_]+\\.){2,256}[-a-zA-Z0-9_]{2,256}"
color body color208 color234 "[-a-z_0-9.%$]+@[-a-z_0-9.]+\\.[-a-z][-a-z]+"
color body color208 color234 "mailto:[-a-z_0-9.]+@[-a-z_0-9.]+"
color body color234 color214 "[;:]-*[)>(<lt;|]"
color body color229 color234 "\\*[- A-Za-z]+\\*"
color body color214 color234 "^-.*PGP.*-*"
color body color142 color234 "^gpg: Good signature from"
color body color167 color234 "^gpg: Can't.*$"
color body color214 color234 "^gpg: WARNING:.*$"
color body color167 color234 "^gpg: BAD signature from"
color body color167 color234 "^gpg: Note: This key has expired!"
color body color214 color234 "^gpg: There is no indication that the signature belongs to the owner."
color body color214 color234 "^gpg: can't handle these multiple signatures"
color body color214 color234 "^gpg: signature verification suppressed"
color body color214 color234 "^gpg: invalid node with packet of type"

View File

@@ -1 +1,4 @@
text/html; elinks -dump ; copiousoutput;
text/html; elinks %s; nametemplate=%s.html
text/html; elinks -dump %s; nametemplate=%s.html; copiousoutput
application/pdf; xdg-open %s; copiousoutput
image/*; xdg-open %s

View File

@@ -19,56 +19,6 @@ set index_format='%4C %Z %<[y?%<[m?%<[d?%[%H:%M ]&%[%a %d]>&%[%b %d]>&%[%m/%y ]>
# %[y This year %[%b %d] Dec 10
# — Older %[%m/%y ] 06/15
# Color if the attachment is autoviewed
color attach_headers brightgreen default "Autoview"
# Color only the brackets around the headers
color attach_headers brightyellow default "^\\[--"
color attach_headers brightyellow default "--]$"
# Color the mime type and the size
color attach_headers green default "Type: [a-z]+/[a-z0-9\-]+"
color attach_headers green default "Size: [0-9\.]+[KM]"
# Color GPGME signature checks
color attach_headers brightgreen default "Good signature from.*"
color attach_headers brightred default "Bad signature from.*"
color attach_headers brightred default "BAD signature from.*"
color attach_headers brightred default "Note: This key has expired!"
color attach_headers brightmagenta default "Problem signature from.*"
color attach_headers brightmagenta default "WARNING: This key is not certified with a trusted signature!"
color attach_headers brightmagenta default " There is no indication that the signature belongs to the owner."
color attach_headers brightmagenta default "can't handle these multiple signatures"
color attach_headers brightmagenta default "signature verification suppressed"
color attach_headers brightmagenta default "invalid node with packet of type"
# Entire index line
color index white black '.*'
# Author name, %A %a %F %L %n
# Give the author column a dark grey background
color index_author default color234 '.*'
# Highlight a particular from (~f)
# color index_author brightyellow color234 '~fRay Charles'
# Message flags, %S %Z
# Highlight the flags for flagged (~F) emails
color index_flags default red '~F'
# Subject, %s
# Look for a particular subject (~s)
# color index_subject brightcyan default '~s\(closes #[0-9]+\)'
# Number of messages in a collapsed thread, %M
color index_collapsed default brightblue
# Date field
color index_date green default
# Message label, %y %Y
color index_label default brightgreen
# Message number, %C
color index_number red default
# Message size, %c %l
color index_size cyan default
# The 'progress' feature provides clear visual feedback for
# slow tasks, such as indexing a large folder over the net.
# Set the color of the progress bar
# White text on a red background
color progress white red
# Limit view to current thread
bind index <esc>L limit-current-thread
@@ -80,46 +30,48 @@ bind index <esc>L limit-current-thread
# Show three quoted lines before the reply
set skip_quoted_offset = 3
set new_mail_command="notify-send 'New e-mail' '%n new messages, %u unread.' &"
# Macros
macro index Z "<shell-escape>mbsync -a<enter>" "Sync all"
# More vim-like bindings
# bind index i noop
bind attach,index g noop # clear for next binding
bind attach,index gg first-entry
bind attach,index G last-entry
bind index N search-opposite
# bind pager i exit
# bind pager q toggle-quoted
bind pager / search
# QWERTY
bind pager j next-line
bind pager k previous-line
bind pager g noop # clear for next binding
bind pager gg top
bind pager G bottom
bind index,pager \# noop
bind index,pager \& noop
bind index,pager R group-reply
## Keys
bind pager j next-line
bind pager k previous-line
bind attach,index,pager \CD next-page
bind attach,index,pager \CU previous-page
bind pager g top
bind pager G bottom
bind attach,index g first-entry
bind attach,index G last-entry
bind index,pager B sidebar-toggle-visible
bind index \Cg imap-fetch-mail
bind index,pager \CK sidebar-prev
bind index,pager \CJ sidebar-next
bind index,pager B sidebar-toggle-visible
bind index,pager \CO sidebar-open
macro attach 'V' "<pipe-entry>cat >~/.cache/mutt/mail.html && qutebrowser file:///home/kressh/.cache/mutt/mail.html && rm ~/.cache/mutt/mail.html<enter>"
# QWERTY
bind index,pager \Ck sidebar-prev
bind index,pager \Cj sidebar-next
macro attach 'V' "<pipe-entry>cat > ~/.cache/mutt/mail.html; ~/bin/preview-html ~/.cache/mutt/mail.html; rm ~/.cache/mutt/mail.html<enter>"
macro index 'c' '<change-folder>?<change-dir><home>^K=<enter>'
# Etc
set mail_check = 30
set move = no
set imap_keepalive = 900
set sort = threads
set sort_browser = date
set sort_aux = reverse-last-date-received
set editor = "nvim"
set send_charset = "utf-8"
set sidebar_visible = no
set sidebar_format = "%B%?F? [%F]?%* %?N?%N/?%S"
set mail_check_stats
set pager_index_lines = 10
set mailcap_path = ~/.config/mutt/mailcap
alternative_order text/plain text/html
auto_view text/html
alternative_order text/plain text/html
# GnuPG bootstrap
# source ~/.mutt/gpg.rc

View File

@@ -1,88 +1,81 @@
set nocompatible
filetype off
set rtp+=$HOME/.config/nvim/bundle/Vundle.vim
call vundle#begin('$HOME/.config/nvim/bundle')
source $HOME/go/src/github.com/junegunn/fzf/plugin/fzf.vim
" let Vundle manage Vundle
" required!
Plugin 'gmarik/Vundle.vim'
Plugin 'tpope/vim-fugitive'
call plug#begin('$HOME/.config/nvim/bundle')
Plug 'tpope/vim-sensible'
" Colors
Plugin 'chriskempson/base16-vim'
Plug 'chriskempson/base16-vim'
" Autocomplete
Plugin 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
Plug 'terryma/vim-multiple-cursors'
Plug 'Lokaltog/vim-easymotion'
"
Plugin 'terryma/vim-multiple-cursors'
Plugin 'Lokaltog/vim-easymotion'
Plug 'rust-lang/rust.vim'
" Plug 'racer-rust/vim-racer'
Plug 'vim-ruby/vim-ruby'
Plug 'tpope/vim-rails'
Plug 'tpope/vim-rake'
Plug 'tpope/vim-bundler'
Plug 'calviken/vim-gdscript3'
" Plug 'tpope/vim-projectionist'
" Plug 'tpope/vim-haml'
Plug 'ledger/vim-ledger'
Plug 'slim-template/vim-slim'
Plug 'fatih/vim-go'
" Plug 'wavded/vim-stylus'
" Plug 'digitaltoad/vim-jade'
Plug 'Glench/Vim-Jinja2-Syntax'
Plug 'HerringtonDarkholme/yats.vim'
" Languages
Plugin 'rust-lang/rust.vim'
Plugin 'racer-rust/vim-racer'
Plugin 'vim-ruby/vim-ruby'
Plugin 'tpope/vim-rails'
Plugin 'tpope/vim-rake'
Plugin 'tpope/vim-bundler'
Plugin 'ledger/vim-ledger'
Plugin 'slim-template/vim-slim'
Plugin 'fatih/vim-go'
Plugin 'wavded/vim-stylus'
Plugin 'digitaltoad/vim-jade'
Plugin 'Glench/Vim-Jinja2-Syntax'
Plug 'tomtom/tcomment_vim'
" Productivity
Plugin 'farseer90718/vim-taskwarrior'
Plug 'majutsushi/tagbar', { 'on': 'TagbarToggle' }
Plugin 'majutsushi/tagbar'
" Plugin 'L9'
Plugin 'scrooloose/nerdcommenter'
Plugin 'scrooloose/nerdtree'
Plugin 'jistr/vim-nerdtree-tabs'
" Plugin 'vim-scripts/tlib'
Plug 'scrooloose/nerdtree', { 'on': ['NERDTreeToggle', 'NERDTreeFind'] }
Plug 'milkypostman/vim-togglelist' " <leader>l and <leader>q
" Snippets
Plugin 'Shougo/neosnippet'
Plugin 'Shougo/neosnippet-snippets'
Plugin 'honza/vim-snippets'
Plug 'Shougo/neosnippet'
Plug 'Shougo/neosnippet-snippets'
Plug 'honza/vim-snippets'
" Appearance
Plugin 'vim-airline/vim-airline'
Plugin 'vim-airline/vim-airline-themes'
Plug 'itchyny/lightline.vim'
Plug 'maximbaz/lightline-ale'
Plug 'shinchu/lightline-gruvbox.vim'
Plugin 'mattn/calendar-vim'
Plugin 'vim-scripts/vimwiki'
" Plugin 'mhinz/vim-startify'
" Plugin 'ngmy/vim-rubocop'
Plugin 'editorconfig/editorconfig-vim'
Plugin 'tpope/vim-surround'
Plugin 'tpope/vim-unimpaired'
Plugin 'tpope/vim-endwise'
Plugin 'rstacruz/vim-closer'
Plug 'ryanoasis/vim-devicons'
Plugin 'kien/ctrlp.vim'
Plugin 'mileszs/ack.vim'
Plugin 'godlygeek/tabular'
Plugin 'nathanaelkane/vim-indent-guides'
Plug 'editorconfig/editorconfig-vim'
Plug 'tpope/vim-surround'
Plug 'tpope/vim-unimpaired'
Plug 'tpope/vim-endwise'
Plug 'rstacruz/vim-closer'
Plug 'junegunn/fzf.vim'
Plug 'godlygeek/tabular'
Plug 'nathanaelkane/vim-indent-guides'
" Linters and syntax stuff
Plugin 'w0rp/ale'
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'w0rp/ale'
"
" Plugin 'neomake/neomake'
" Plugin 'vim-syntastic/syntastic'
" Plugin 'syngan/vim-vimlint'
" Plugin 'ynkdir/vim-vimlparser'
" Plugin 'tpope/vim-dispatch'
" Plugin 'whatyouhide/vim-gotham'
" Plugin 'altercation/vim-colors-solarized'
Plugin 'airblade/vim-gitgutter'
Plugin 'szw/vim-maximizer'
Plugin 'kassio/neoterm'
" Plug 'tpope/vim-dispatch'
Plug 'airblade/vim-gitgutter'
Plug 'tpope/vim-fugitive'
Plug 'kassio/neoterm'
Plug 'janko/vim-test'
call vundle#end()
" Tasks
Plug 'blindFS/vim-taskwarrior'
Plug 'powerman/vim-plugin-AnsiEsc'
Plug 'vimwiki/vimwiki', {'branch': 'dev'}
Plug 'tbabej/taskwiki'
call plug#end()
" Colorscheme
set t_Co=256
@@ -93,63 +86,162 @@ colorscheme base16-gruvbox-dark-hard
" NERD Commenter
" Add spaces after comment delimiters by default
let g:NERDSpaceDelims = 1
" let g:NERDSpaceDelims = 1
" Use compact syntax for prettified multi-line comments
let g:NERDCompactSexyComs = 1
" let g:NERDCompactSexyComs = 1
" Align line-wise comment delimiters flush left instead of following code indentation
let g:NERDDefaultAlign = 'left'
" let g:NERDDefaultAlign = 'left'
" Allow commenting and inverting empty lines (useful when commenting a region)
let g:NERDCommentEmptyLines = 1
" let g:NERDCommentEmptyLines = 1
" Enable trimming of trailing whitespace when uncommenting
let g:NERDTrimTrailingWhitespace = 0
" NERDtree-tabs
let g:nerdtree_tabs_open_on_gui_startup = 0
let g:nerdtree_tabs_autoclose = 0
" let g:NERDTrimTrailingWhitespace = 0
" Snipmate
" imap <S-Enter> <Plug>snipMateNextOrTrigger
" let g:snipMate = get(g:, 'snipMate', {}) " Allow for vimrc re-sourcing
" YouCompleteMe
" let g:ycm_key_list_select_completion = ['<TAB>']
" let g:ycm_key_list_previous_completion = ['<S-TAB>']
" coc.nvim
"
" Use tab for trigger completion with characters ahead and navigate.
" Use command ':verbose imap <tab>' to make sure tab is not mapped by other plugin.
" Neocomplete
let g:acp_enableAtStartup = 0
let g:deoplete#enable_at_startup = 1
let g:deoplete#enable_smart_case = 1
let g:deoplete#max_list = 10
let g:deoplete#sources#syntax#min_keyword_length = 3
inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
" inoremap <silent><expr> <TAB>
" \ pumvisible() ? "\<C-n>" :
" \ <SID>check_back_space() ? "\<TAB>" :
" \ coc#refresh()
" inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
"
" function! s:check_back_space() abort
" let col = col('.') - 1
" return !col || getline('.')[col - 1] =~# '\s'
" endfunction
" Deoplete with multiple cursors
function Multiple_cursors_before()
let g:deoplete#disable_auto_complete = 1
endfunction
function Multiple_cursors_after()
let g:deoplete#disable_auto_complete = 0
let g:coc_global_extensions = [
\ 'coc-css',
\ 'coc-fish',
\ 'coc-html',
\ 'coc-lists',
\ 'coc-omni',
\ 'coc-sh',
\ 'coc-tsserver',
\ 'coc-eslint',
\ 'coc-docker',
\ 'coc-highlight',
\ 'coc-json',
\ 'coc-neosnippet',
\ 'coc-rust-analyzer',
\ 'coc-solargraph',
\ 'coc-yaml'
\ ]
highlight CocErrorSign ctermfg=9 ctermbg=18 guifg=#ff0000 guibg=#3c3836
highlight CocWarningSign ctermfg=130 ctermbg=18 guifg=#ff922b guibg=#3c3836
highlight CocInfoSign ctermfg=11 ctermbg=18 guifg=#fab005 guibg=#3c3836
highlight CocHintSign ctermfg=12 ctermbg=18 guifg=#15aabf guibg=#3c3836
" Use <c-space> to trigger completion.
inoremap <silent><expr> <c-space> coc#refresh()
" Use <cr> to confirm completion, `<C-g>u` means break undo chain at current position.
" Coc only does snippet and additional edit on confirm.
" inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
" Or use `complete_info` if your vim support it, like:
" inoremap <expr> <cr> complete_info()["selected"] != "-1" ? "\<C-y>" : "\<C-g>u\<CR>"
" Use `[g` and `]g` to navigate diagnostics
nmap <silent> [g <Plug>(coc-diagnostic-prev)
nmap <silent> ]g <Plug>(coc-diagnostic-next)
" Remap keys for gotos
nmap <silent> gd <Plug>(coc-definition)
nmap <silent> gy <Plug>(coc-type-definition)
nmap <silent> gi <Plug>(coc-implementation)
nmap <silent> gr <Plug>(coc-references)
nmap <silent> gl :CocList outline<CR>
nnoremap <Leader>s :CocSearch<Space>
" Use K to show documentation in preview window
nnoremap <silent> K :call <SID>show_documentation()<CR>
function! s:show_documentation()
if (index(['vim','help'], &filetype) >= 0)
execute 'h '.expand('<cword>')
else
call CocAction('doHover')
endif
endfunction
autocmd FileType ruby setlocal omnifunc=rubycomplete#Complete
" Highlight symbol under cursor on CursorHold
autocmd CursorHold * silent call CocActionAsync('highlight')
" Remap for rename current word
nmap <leader>rn <Plug>(coc-rename)
" Remap for format selected region
xmap <leader>f <Plug>(coc-format-selected)
nmap <leader>f <Plug>(coc-format-selected)
" Remap for do codeAction of current line
" nmap <leader>ac <Plug>(coc-codeaction)
" Fix autofix problem of current line
nmap <leader>qf <Plug>(coc-fix-current)
" Required for operations modifying multiple buffers like rename.
set hidden
" autocmd FileType ruby setlocal omnifunc=rubycomplete#Complete
autocmd FileType ledger setlocal sw=4 ts=4 sts=4
autocmd FileType rust setlocal sw=4 ts=4 sts=4
" FZF with dev icons
function! FZFWithDevIcons()
let l:fzf_files_options = ' -m --bind ctrl-d:preview-page-down,ctrl-u:preview-page-up --preview "bat --color always --style numbers {2..}"'
function! s:files()
let l:files = split(system($FZF_DEFAULT_COMMAND), '\n')
return s:prepend_icon(l:files)
endfunction
function! s:prepend_icon(candidates)
let result = []
for candidate in a:candidates
let filename = fnamemodify(candidate, ':p:t')
let icon = WebDevIconsGetFileTypeSymbol(filename, isdirectory(filename))
call add(result, printf("%s %s", icon, candidate))
endfor
return result
endfunction
function! s:edit_file(items)
let items = a:items
let i = 1
let ln = len(items)
while i < ln
let item = items[i]
let parts = split(item, ' ')
let file_path = get(parts, 1, '')
let items[i] = file_path
let i += 1
endwhile
call s:Sink(items)
endfunction
let opts = fzf#wrap({})
let opts.source = <sid>files()
let s:Sink = opts['sink*']
let opts['sink*'] = function('s:edit_file')
let opts.options .= l:fzf_files_options
call fzf#run(opts)
endfunction
" Neocomplete snippets
imap <C-k> <Plug>(neosnippet_expand_or_jump)
smap <C-k> <Plug>(neosnippet_expand_or_jump)
xmap <C-k> <Plug>(neosnippet_expand_target)
" SuperTab like snippets behavior.
" Note: It must be "imap" and "smap". It uses <Plug> mappings.
imap <C-k> <Plug>(neosnippet_expand_or_jump)
"imap <expr><TAB>
" \ pumvisible() ? "\<C-n>" :
" \ neosnippet#expandable_or_jumpable() ?
" \ "\<Plug>(neosnippet_expand_or_jump)" : "\<TAB>"
smap <expr><TAB> neosnippet#expandable_or_jumpable() ?
\ "\<Plug>(neosnippet_expand_or_jump)" : "\<TAB>"
" For conceal markers.
if has('conceal')
set conceallevel=0 concealcursor=niv
@@ -159,112 +251,70 @@ endif
let g:neosnippet#enable_snipmate_compatibility = 1
"
" Tell Neosnippet about the other snippets
let g:neosnippet#snippets_directory='~/.config/nvim/bundle/vim-snippets/snippets'
" Neomake
" Run NeoMake on read and write operations
" autocmd! BufReadPost,BufWritePost * Neomake
" autocmd! BufWritePost * Neomake
" autocmd BufUnload,BufWinLeave * lclose
let g:neosnippet#snippets_directory='$HOME/.config/nvim/bundle/vim-snippets/snippets'
" ALE
" let g:ale_sign_column_always = 1
let g:airline#extensions#ale#enabled = 1
let g:ale_enabled = 1
let g:ale_list_window_size = 3
let g:ale_lint_on_text_changed = 'never'
let g:ale_lint_on_save = 1
let g:ale_lint_on_enter = 0
let g:ale_open_list = 1
let g:ale_lint_on_text_changed = 0
let g:ale_lint_on_insert_leave = 0
let g:ale_open_list = 0
let g:ale_linters_explicit = 1
" let g:ale_sign_error = 'E>'
" let g:ale_sign_warning = 'W>'
let g:ale_sign_error = '×'
let g:ale_sign_warning = '•'
let g:ale_linters = {
\ 'ruby': ['reek'],
\ 'scss': ['stylelint'],
\ 'sass': ['stylelint'],
\ 'css': ['stylelint'],
\ 'slim': ['slimlint'],
\ }
let g:ale_fixers = {
\ '*': ['remove_trailing_lines', 'trim_whitespace'],
\}
" Set this variable to 1 to fix files when you save them.
let g:ale_fix_on_save = 1
" let g:ale_set_loclist = 0
" let g:ale_set_quickfix = 1
" let g:ale_keep_list_window_open = 1
" nmap <silent> <C-k> <Plug>(ale_previous_wrap)
" nmap <silent> <C-j> <Plug>(ale_next_wrap)
let g:ale_set_highlights = 1
let g:ale_sign_error = 'E>'
let g:ale_sign_warning = 'W>'
let g:ale_echo_msg_error_str = 'Error'
let g:ale_echo_msg_warning_str = 'Warning'
let g:ale_echo_msg_format = '[%severity%] %s [%linter%]'
" let g:neomake_ruby_enabled_makers = ['rubocop', 'reek']
" let g:neomake_open_list = 2
" let g:neomake_list_height = 4
" let g:neomake_serialize = 1
" let g:neomake_serialize_abort_on_error = 1
"
" let g:neomake_error_sign = {
" \ 'text': 'E>',
" \ 'texthl': 'NeomakeErrorSign',
" \ }
" let g:neomake_warning_sign = {
" \ 'text': 'S>',
" \ 'texthl': 'NeomakeWarningSign',
" \ }
" let g:neomake_info_sign = {
" \ 'text': 'I>',
" \ 'texthl': 'NeomakeInfoSign',
" \ }
" let g:neomake_message_sign = {
" \ 'text': 'M>',
" \ 'texthl': 'NeomakeMsg',
" \ }
"
" augroup my_neomake_signs
" au!
" autocmd ColorScheme *
" \ hi NeomakeErrorSign ctermfg=red |
" \ hi NeomakeWarningSign ctermfg=yellow
" augroup END
let g:EditorConfig_exclude_patterns = ['fugitive://.*', 'scp://.*']
" Syntastic
" let g:syntastic_ruby_checkers = ['rubocop']
"let g:syntastic_shell = "/bin/sh"
" let g:syntastic_loc_list_height = 3
"let g:syntastic_enable_balloons = 1
"let g:syntastic_ruby_checkers = ['rubocop']
"let g:syntastic_ruby_rubocop_exec ='/home/kressh/.rbenv/versions/2.2.0/bin/rubocop'
" let g:syntastic_ruby_rubocop_args = '-l'
" let g:syntastic_quiet_messages = { "type": "style" }
" let g:syntastic_always_populate_loc_list = 1
" let g:syntastic_auto_loc_list = 1
"let g:syntastic_check_on_open = 0
" let g:syntastic_check_on_wq = 1
" FZF ripgrep
nnoremap <Leader>g :Rg<Space>
" Ack
" let g:ack_use_dispatch = 0
" Ag
if executable('rg')
let g:ackprg = 'rg --vimgrep'
cnoreabbrev ag Ack
cnoreabbrev aG Ack
cnoreabbrev Ag Ack
cnoreabbrev AG Ack
endif
syntax enable
filetype plugin indent on
silent! nmap <C-p> :NERDTreeTabsToggle<CR>
" NerdTREE
silent! nmap <C-g> :NERDTreeToggle<CR>
silent! map <F4> :NERDTreeFind<CR>
let g:NERDTreeMapActivateNode="<F4>"
let g:NERDTreeMapPreview="<F3>"
let g:calendar_keys = {'goto_next_month': '<C-Right>',
\ 'goto_prev_month': '<C-Left>',
\ 'goto_prev_year': '<C-Down>',
\ 'goto_next_year': '<C-Up>'}
let g:calendar_monday = 1
let g:calendar_focus_today = 1
" RustFmt rust
let g:rustfmt_autosave = 1
" let g:rustfmt_autosave = 1
" Racer
let g:racer_experimental_completer = 1
au FileType rust nmap gd <Plug>(rust-def)
au FileType rust nmap gs <Plug>(rust-def-split)
au FileType rust nmap gx <Plug>(rust-def-vertical)
au FileType rust nmap <leader>gd <Plug>(rust-doc)
" let g:racer_experimental_completer = 1
" au FileType rust nmap gd <Plug>(rust-def)
" au FileType rust nmap gs <Plug>(rust-def-split)
" au FileType rust nmap gx <Plug>(rust-def-vertical)
" au FileType rust nmap <leader>gd <Plug>(rust-doc)
au BufRead,BufNewFile *.jbuilder setf ruby
au BufRead,BufNewFile *.rabl setf ruby
@@ -275,56 +325,122 @@ au BufRead,BufNewFile *.tag setf coffee " riotjs tags
" silent! nmap <C-f> :FufLine<CR>
" silent! nmap <C-g> :FufCoverageFile<CR>
"
" Airline
let g:airline_theme = 'base16'
" let g:airline_section_s = '' " Don't display encoding
" let g:airline_section_y = '' " Don't display encoding
let g:airline_powerline_fonts = 1
" let g:airline_left_sep = '▶' " Set custom left separator
" let g:airline_right_sep = '◀' " Set custom right separator
let g:airline#extensions#tabline#enabled = 1 " Enable airline for tab-bar
" let g:airline#extensions#tabline#show_buffers = 0 " Don't display buffers in tab-bar with single tab
" let g:airline#extensions#tabline#fnamemod = ':t' " Display only filename in tab
" Lightline
let g:lightline = {
\ 'colorscheme': 'gruvbox',
\ 'component_function': {
\ 'gitbranch': 'fugitive#head'
\ },
\ }
" Buffer/Tab navigation
nnoremap <C-b>h :bp<CR>
nnoremap <C-b>n :bn<CR>
nnoremap <C-b>l :bn<CR>
nnoremap <C-b>d :bd<CR>
let g:lightline.component_expand = {
\ 'linter_checking': 'lightline#ale#checking',
\ 'linter_warnings': 'lightline#ale#warnings',
\ 'linter_errors': 'lightline#ale#errors',
\ 'linter_ok': 'lightline#ale#ok',
\ }
let g:lightline.component_function = {
\ 'cocstatus': 'coc#status'
\ }
let g:lightline.component_type = {
\ 'linter_checking': 'left',
\ 'linter_warnings': 'warning',
\ 'linter_errors': 'error',
\ 'linter_ok': 'left',
\ }
let g:lightline.active = {
\ 'left': [ [ 'mode', 'paste' ],
\ [ 'gitbranch', 'readonly', 'filename', 'modified' ],
\ [ 'cocstatus' ]],
\ 'right': [ [ 'linter_checking', 'linter_errors', 'linter_warnings', 'linter_ok' ],
\ [ 'lineinfo' ],
\ [ 'percent' ],
\ [ 'fileformat', 'fileencoding', 'filetype' ] ]
\ }
set shell=fish
" Terminal
tnoremap <Esc> <C-\><C-n>
command Term split term://$SHELL
command Term split term://fish
let g:neoterm_autoinsert = 1
let g:neoterm_default_mod = 'rightbelow'
" vim-test
" make test commands execute using neoterm
let test#strategy = "neoterm"
" Vim gitgutter
let g:gitgutter_sign_added = '█'
let g:gitgutter_sign_modified = '█'
let g:gitgutter_sign_removed = '█'
let g:gitgutter_sign_removed_first_line = '█'
let g:gitgutter_sign_modified_removed = '█'
let g:gitgutter_enabled = 1
let g:gitgutter_signs = 1
" let g:gitgutter_sign_added = ' '
" let g:gitgutter_sign_modified = ' '
" let g:gitgutter_sign_removed = ' '
" let g:gitgutter_sign_removed_first_line = ' '
" let g:gitgutter_sign_modified_removed = ' '
let g:gitgutter_sign_added = '+'
let g:gitgutter_sign_modified = '~'
let g:gitgutter_sign_removed = '-'
let g:gitgutter_sign_removed_first_line = '-'
let g:gitgutter_sign_modified_removed = '~'
let g:gitgutter_highlight_linenrs = 1
let g:gitgutter_highlight_lines = 0
let g:ctrlp_map = '<c-g>'
let g:ctrlp_cmd = 'CtrlP'
let g:ctrlp_user_command = "fd --type file --full-path -c never -H -E node_modules -E vendor -E public -E tmp -E log -E .git -E .hg -E .svn -E '*.min.js' -E '*.log' -E '.keep' %s"
let g:ctrlp_dont_split = 'NERD'
let g:ctrlp_root_markers = ['Dockerfile', 'gems.locked', 'Gemfile.lock', '.gitignore']
let g:ctrlp_working_path_mode = 'aw'
let g:ctrlp_use_caching = 0
highlight GitGutterChangeLineNr ctermfg=16 ctermbg=18 guifg=#83a598 guibg=#3c3836
highlight GitGutterChangeDeleteLineNr ctermfg=16 ctermbg=18 guifg=#d3869b guibg=#3c3836
" Vim maximizer
let g:maximizer_default_mapping_key = '<F3>'
highlight link GitGutterAddLineNr GitGutterAddLine
highlight link GitGutterDeleteLineNr GitGutterDeleteLine
" fzf
" silent! nmap <C-p> :FZF<CR>
silent! nmap <C-p> :call FZFWithDevIcons()<CR>
" An action can be a reference to a function that processes selected lines
function! s:build_quickfix_list(lines)
call setqflist(map(copy(a:lines), '{ "filename": v:val }'))
copen
cc
endfunction
" This is the default extra key bindings
let g:fzf_action = {
\ 'ctrl-q': function('s:build_quickfix_list'),
\ 'ctrl-t': 'tab split',
\ 'ctrl-x': 'split',
\ 'ctrl-v': 'vsplit',
\ 'ctrl-o': 'edit' }
" Default fzf layout
" - down / up / left / right
let g:fzf_layout = { 'down': '~30%' }
" hide the statusline of the containing buffer
autocmd! FileType fzf
autocmd FileType fzf set laststatus=0 noshowmode noruler
\| autocmd BufLeave <buffer> set laststatus=2 showmode ruler
" Customize fzf colors to match your color scheme
let g:fzf_colors =
\ { 'fg': ['fg', 'Normal'],
\ 'bg': ['bg', 'Normal'],
\ 'hl': ['fg', 'Comment'],
\ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'],
\ 'bg+': ['bg', 'CursorLine', 'CursorColumn'],
\ 'hl+': ['fg', 'Statement'],
\ 'info': ['fg', 'PreProc'],
\ 'border': ['fg', 'Ignore'],
\ 'prompt': ['fg', 'Conditional'],
\ 'pointer': ['fg', 'Exception'],
\ 'marker': ['fg', 'Keyword'],
\ 'spinner': ['fg', 'Label'],
\ 'header': ['fg', 'Comment'] }
" Replace current word with yanked or deleted text
nnoremap S "_diwP
fun! <SID>StripTrailingWhitespaces()
let l = line(".")
let c = col(".")
%s/\s\+$//e
call cursor(l, c)
endfun
" nnoremap S "_diwP
" tagbar
nmap <F8> :TagbarToggle<CR>
@@ -352,9 +468,6 @@ let g:tagbar_type_ruby = {
\ ]
\}
" Automatically clean trailing whitespaces on save
autocmd BufWritePre *.* :call <SID>StripTrailingWhitespaces()
" vim-indent-guides
" let g:indent_guides_enable_on_vim_startup = 1
" let g:indent_guides_auto_colors = 0
@@ -363,6 +476,17 @@ autocmd BufWritePre *.* :call <SID>StripTrailingWhitespaces()
" autocmd VimEnter,Colorscheme * :hi IndentGuidesOdd ctermbg=8
" autocmd VimEnter,Colorscheme * :hi IndentGuidesEven ctermbg=0
" Vimwiki
let g:vimwiki_list = [{'path': '~/vimwiki/', 'syntax': 'markdown', 'ext': '.md'}]
" FIXME: this is strange workaround for workaround for bug in kitty
autocmd FileType vimwiki nnoremap <Leader>wH <Plug>VimwikiGoBackLink
" Taskwiki
let g:taskwiki_markup_syntax = "markdown"
" let g:taskwiki_source_tw_colors = "yes"
nnoremap <Leader>tR :TaskWikiBufferLoad<CR>
set noswapfile
set ofu=syntaxcomplete#Complete
@@ -372,40 +496,35 @@ set shiftwidth=2 " Tabs under smart indent
set cf " Enable error files & error jumping.
set clipboard=unnamed " Yanks go on clipboard instead.
set history=32 " Number of things to remember in history.
set autowrite " Writes on make/shell commands
set nu " Line numbers on
set relativenumber
set cursorline
" set nowrap " Line wrapping off
set wrap
set linebreak
set notimeout
set ttimeout
" set timeoutlen=250 " Time to wait after ESC (default causes an annoying delay)
set synmaxcol=200
set incsearch
set cmdheight=1
set updatetime=300
set hlsearch " Highlight searches
set ruler " Ruler on
set re=1
set re=0
" set ttyfast
" set lazyredraw
set redrawtime=1000
set nocp incsearch
" Search
" set ignorecase " Ignore case of searches
set ignorecase smartcase " Ignore case of searches
set cinoptions=:0,p0,t0
set cinwords=if,else,while,do,for,switch,case,begin
set formatoptions=tcqr
set cindent
set autoindent
set smarttab
set expandtab
set colorcolumn=80,120
" hi ColorColumn guibg=Black
set nostartofline " Dont reset cursor to start of line when moving around.
set noeol " Dont add empty newlines at the end of files
@@ -418,23 +537,26 @@ set mat=5 " Bracket blinking.
" Show $ at end of line and trailing space as ~
set novisualbell " No blinking .
set noerrorbells " No noise.
set laststatus=2 " Always show status line.
" Invisibles
" set listchars=tab:▸\ ,eol:¬
set list listchars=tab:▸·,trail,nbsp
" Use one space, not two, after punctuation.
set nojoinspaces
" inoremap <Up> <NOP>
" inoremap <Down> <NOP>
" inoremap <Left> <NOP>
" inoremap <Right> <NOP>
noremap <Up> <NOP>
noremap <Down> <NOP>
noremap <Left> <NOP>
noremap <Right> <NOP>
" Disable some keys
" noremap <Up> <NOP>
" noremap <Down> <NOP>
" noremap <Left> <NOP>
" noremap <Right> <NOP>
" noremap <PageUp> <NOP>
" noremap <PageDown> <NOP>
" noremap <Home> <NOP>
" noremap <End> <NOP>
" inoremap <PageUp> <NOP>
" inoremap <PageDown> <NOP>
" inoremap <Home> <NOP>
" inoremap <End> <NOP>
" Open new split panes to right and bottom, which feels more natural
set splitbelow
@@ -447,3 +569,10 @@ nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-h> <C-w>h
nnoremap <C-l> <C-w>l
nnoremap Y y$
nnoremap S hs
" Save & quit
noremap Q :q<CR>
noremap <C-q> :qa<CR>