changed everything to spaces over tabs.

This commit is contained in:
Gabe Venberg 2024-02-22 16:10:47 -06:00
parent ffefa0fffd
commit 4c63486b4b
24 changed files with 1190 additions and 1190 deletions

View file

@ -1,22 +1,22 @@
[user] [user]
email = gabevenberg@gmail.com email = gabevenberg@gmail.com
name = Gabe Venberg name = Gabe Venberg
[alias] [alias]
hist = log --graph --date-order --date=short --pretty=format:'%C(auto)%h%d %C(reset)%s %C(bold blue)%ce %C(reset)%C(green)%cr (%cd)' hist = log --graph --date-order --date=short --pretty=format:'%C(auto)%h%d %C(reset)%s %C(bold blue)%ce %C(reset)%C(green)%cr (%cd)'
graph = log --graph --topo-order --all --pretty=format:'%C(auto)%h %C(cyan)%an %C(blue)%ar %C(auto)%d %s' graph = log --graph --topo-order --all --pretty=format:'%C(auto)%h %C(cyan)%an %C(blue)%ar %C(auto)%d %s'
recent = branch --sort=-committerdate --format='%(committerdate:relative)%09%(refname:short)' recent = branch --sort=-committerdate --format='%(committerdate:relative)%09%(refname:short)'
[init] [init]
defaultBranch = main defaultBranch = main
[push] [push]
autoSetupRemote = true autoSetupRemote = true
default = current default = current
[difftool] [difftool]
prompt = false prompt = false
[diff] [diff]
; tool = nvimdiff ; tool = nvimdiff
tool = difftastic tool = difftastic
algorithm = histogram algorithm = histogram
submodule = log submodule = log
[difftool "nvimdiff"] [difftool "nvimdiff"]
cmd = "nvim -d \"$LOCAL\" \"$REMOTE\"" cmd = "nvim -d \"$LOCAL\" \"$REMOTE\""
[difftool "difftastic"] [difftool "difftastic"]
@ -24,20 +24,20 @@
[pager] [pager]
difftool=true difftool=true
[pull] [pull]
ff = true ff = true
[merge] [merge]
conflictstyle = zdiff3 conflictstyle = zdiff3
[rebase] [rebase]
autoSquash = true autoSquash = true
[help] [help]
autocorrect = prompt autocorrect = prompt
[core] [core]
pager = delta pager = delta
[delta] [delta]
side-by-side = true side-by-side = true
[branch] [branch]
sort = -committerdate sort = -committerdate
[status] [status]
submodulesummary = true submodulesummary = true
[includeIf "gitdir:~/work/"] [includeIf "gitdir:~/work/"]
path = ".config/git/work.gitconfig" path = ".config/git/work.gitconfig"

View file

@ -30,195 +30,195 @@ font pango:monospace 8
font pango:DejaVu Sans Mono 8 font pango:DejaVu Sans Mono 8
#keybinding stuff #keybinding stuff
# Use Mouse+$mod to drag floating windows to their wanted position # Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod floating_modifier $mod
# start a terminal # start a terminal
# bindsym $mod+Return exec --no-startup-id alacritty # bindsym $mod+Return exec --no-startup-id alacritty
bindsym $mod+Return exec --no-startup-id kitty bindsym $mod+Return exec --no-startup-id kitty
bindsym $mod+Shift+Return exec cool-retro-term bindsym $mod+Shift+Return exec cool-retro-term
# kill focused window # kill focused window
bindsym $mod+Shift+q kill bindsym $mod+Shift+q kill
#start rofi in desktop app mode #start rofi in desktop app mode
bindsym $mod+d exec rofi -modi window#run#drun -theme solarized -show drun bindsym $mod+d exec rofi -modi window#run#drun -theme solarized -show drun
# change focus # change focus
bindsym $mod+h focus left bindsym $mod+h focus left
bindsym $mod+j focus down bindsym $mod+j focus down
bindsym $mod+k focus up bindsym $mod+k focus up
bindsym $mod+l focus right bindsym $mod+l focus right
# move focused window # move focused window
bindsym $mod+Shift+h move left bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right bindsym $mod+Shift+l move right
# move workspace between monitors # move workspace between monitors
bindsym $mod+ctrl+Shift+h move workspace to output left bindsym $mod+ctrl+Shift+h move workspace to output left
bindsym $mod+ctrl+Shift+j move workspace to output down bindsym $mod+ctrl+Shift+j move workspace to output down
bindsym $mod+ctrl+Shift+k move workspace to output up bindsym $mod+ctrl+Shift+k move workspace to output up
bindsym $mod+ctrl+Shift+l move workspace to output right bindsym $mod+ctrl+Shift+l move workspace to output right
# move container between monitors # move container between monitors
bindsym $mod+ctrl+h move container to output left bindsym $mod+ctrl+h move container to output left
bindsym $mod+ctrl+j move container to output down bindsym $mod+ctrl+j move container to output down
bindsym $mod+ctrl+k move container to output up bindsym $mod+ctrl+k move container to output up
bindsym $mod+ctrl+l move container to output right bindsym $mod+ctrl+l move container to output right
## split in horizontal orientation ## split in horizontal orientation
bindsym $mod+shift+backslash split h bindsym $mod+shift+backslash split h
# split in vertical orientation # split in vertical orientation
bindsym $mod+shift+minus split v bindsym $mod+shift+minus split v
#enter fullscreen mode for the focused container #enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split) # change container layout (stacked, tabbed, toggle split)
bindsym $mod+e layout stacking bindsym $mod+e layout stacking
bindsym $mod+r layout tabbed bindsym $mod+r layout tabbed
bindsym $mod+t layout toggle split bindsym $mod+t layout toggle split
# toggle tiling / floating # toggle tiling / floating
bindsym $mod+Shift+space floating toggle bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows # change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle bindsym $mod+space focus mode_toggle
# focus the parent container # focus the parent container
bindsym $mod+a focus parent bindsym $mod+a focus parent
# focus the child container # focus the child container
bindsym $mod+z focus child bindsym $mod+z focus child
#make a floating window sticky (moves workspaces with you) #make a floating window sticky (moves workspaces with you)
bindsym $mod+Shift+a sticky toggle bindsym $mod+Shift+a sticky toggle
#make currently focused window a scratchpad #make currently focused window a scratchpad
bindsym $mod+shift+o move scratchpad bindsym $mod+shift+o move scratchpad
#and hide and show it #and hide and show it
bindsym $mod+o scratchpad show bindsym $mod+o scratchpad show
#workspace switching #workspace switching
# Define names for default workspaces for which we configure key bindings later on. We use variables to avoid repeating the names in multiple places. # Define names for default workspaces for which we configure key bindings later on. We use variables to avoid repeating the names in multiple places.
set $ws1 "1" set $ws1 "1"
set $ws2 "2" set $ws2 "2"
set $ws3 "3" set $ws3 "3"
set $ws4 "4" set $ws4 "4"
set $ws5 "5" set $ws5 "5"
set $ws6 "6" set $ws6 "6"
set $ws7 "7" set $ws7 "7"
set $ws8 "8" set $ws8 "8"
set $ws9 "9" set $ws9 "9"
set $ws10 "10" set $ws10 "10"
# switch to workspace # switch to workspace
bindsym $mod+1 workspace $ws1 bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2 bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3 bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4 bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5 bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6 bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7 bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8 bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9 bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10 bindsym $mod+0 workspace $ws10
# move focused container to workspace # move focused container to workspace
bindsym $mod+Shift+1 move container to workspace $ws1 bindsym $mod+Shift+1 move container to workspace $ws1
bindsym $mod+Shift+2 move container to workspace $ws2 bindsym $mod+Shift+2 move container to workspace $ws2
bindsym $mod+Shift+3 move container to workspace $ws3 bindsym $mod+Shift+3 move container to workspace $ws3
bindsym $mod+Shift+4 move container to workspace $ws4 bindsym $mod+Shift+4 move container to workspace $ws4
bindsym $mod+Shift+5 move container to workspace $ws5 bindsym $mod+Shift+5 move container to workspace $ws5
bindsym $mod+Shift+6 move container to workspace $ws6 bindsym $mod+Shift+6 move container to workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7 bindsym $mod+Shift+7 move container to workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8 bindsym $mod+Shift+8 move container to workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9 bindsym $mod+Shift+9 move container to workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws10 bindsym $mod+Shift+0 move container to workspace $ws10
# reload the configuration file # reload the configuration file
bindsym $mod+Shift+n reload bindsym $mod+Shift+n reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session) # exit i3 (logs you out of your X session)
bindsym $mod+Shift+e 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+e 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'"
# resize window (you can also use the mouse for that) # resize window (you can also use the mouse for that)
mode "resize" { mode "resize" {
# These bindings trigger as soon as you enter the resize mode # These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width. # Pressing left will shrink the windows width.
# Pressing right will grow the windows width. # Pressing right will grow the windows width.
# Pressing up will shrink the windows height. # Pressing up will shrink the windows height.
# Pressing down will grow the windows height. # Pressing down will grow the windows height.
bindsym h resize shrink width 10 px or 10 ppt bindsym h resize shrink width 10 px or 10 ppt
bindsym j resize grow height 10 px or 10 ppt bindsym j resize grow height 10 px or 10 ppt
bindsym k resize shrink height 10 px or 10 ppt bindsym k resize shrink height 10 px or 10 ppt
bindsym l resize grow width 10 px or 10 ppt bindsym l resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys # same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt bindsym Right resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape or $mod+shift+r # back to normal: Enter or Escape or $mod+shift+r
bindsym Return mode "default" bindsym Return mode "default"
bindsym Escape mode "default" bindsym Escape mode "default"
bindsym $mod+ctrl+r mode "default" bindsym $mod+ctrl+r mode "default"
} }
bindsym $mod+ctrl+r mode "resize" bindsym $mod+ctrl+r mode "resize"
# lock and turn off the screen with mod+x, and lock+suspend computer with mod+shift+x # lock and turn off the screen with mod+x, and lock+suspend computer with mod+shift+x
set $lock_command i3lock set $lock_command i3lock
set $lock_command_nof i3lock -n #versuon of $lock_command that does not fork. set $lock_command_nof i3lock -n #versuon of $lock_command that does not fork.
bindsym $mod+x exec --no-startup-id "~/dotfiles/scripts/screen_off $lock_command_nof" bindsym $mod+x exec --no-startup-id "~/dotfiles/scripts/screen_off $lock_command_nof"
bindsym $mod+shift+x exec --no-startup-id "$lock_command"; exec --no-startup-id "systemctl suspend" bindsym $mod+shift+x exec --no-startup-id "$lock_command"; exec --no-startup-id "systemctl suspend"
# disable screen going to sleep with mod+b, enable screen going to sleep with mod+shift+b # disable screen going to sleep with mod+b, enable screen going to sleep with mod+shift+b
bindsym $mod+b exec --no-startup-id "xset s off -dpms; notify-send --expire-time=500 'screen blanking off'" bindsym $mod+b exec --no-startup-id "xset s off -dpms; notify-send --expire-time=500 'screen blanking off'"
bindsym $mod+shift+b exec --no-startup-id "xset +dpms; notify-send --expire-time=500 'screen blanking on'" bindsym $mod+shift+b exec --no-startup-id "xset +dpms; notify-send --expire-time=500 'screen blanking on'"
# change brightness # change brightness
bindsym $mod+control+plus exec --no-startup-id "brightnessctl s +1%; notify-send -h string:x-dunst-stack-tag:brightness --expire-time=500 Brightness\ $(brightnessctl -m| cut --delimiter=, -f 4)" bindsym $mod+control+plus exec --no-startup-id "brightnessctl s +1%; notify-send -h string:x-dunst-stack-tag:brightness --expire-time=500 Brightness\ $(brightnessctl -m| cut --delimiter=, -f 4)"
bindsym $mod+control+minus exec --no-startup-id "brightnessctl s 1%-; notify-send -h string:x-dunst-stack-tag:brightness --expire-time=500 Brightness\ $(brightnessctl -m| cut --delimiter=, -f 4)" bindsym $mod+control+minus exec --no-startup-id "brightnessctl s 1%-; notify-send -h string:x-dunst-stack-tag:brightness --expire-time=500 Brightness\ $(brightnessctl -m| cut --delimiter=, -f 4)"
#screenshot everything with mod+s, current window with mod+shift+s, selection with mod+ctrl+s #screenshot everything with mod+s, current window with mod+shift+s, selection with mod+ctrl+s
bindsym $mod+s exec --no-startup-id "maim ~/Pictures/$(date +%s).png; notify-send --expire-time=1000 'Whole-desktop screenshot taken'" bindsym $mod+s exec --no-startup-id "maim ~/Pictures/$(date +%s).png; notify-send --expire-time=1000 'Whole-desktop screenshot taken'"
bindsym $mod+shift+s exec --no-startup-id "maim -i $(xdotool getactivewindow) ~/Pictures/$(date +%s).png; notify-send --expire-time=1000 'Window screenshot taken'" bindsym $mod+shift+s exec --no-startup-id "maim -i $(xdotool getactivewindow) ~/Pictures/$(date +%s).png; notify-send --expire-time=1000 'Window screenshot taken'"
bindsym $mod+ctrl+s exec --no-startup-id "maim -s ~/Pictures/$(date +%s).png; notify-send --expire-time=1000 'Selection screenshot taken'" bindsym $mod+ctrl+s exec --no-startup-id "maim -s ~/Pictures/$(date +%s).png; notify-send --expire-time=1000 'Selection screenshot taken'"
#screenshot everything with mod+c, current window with mod+shift+c, selection with mod+ctrl+c (to clipboard) #screenshot everything with mod+c, current window with mod+shift+c, selection with mod+ctrl+c (to clipboard)
bindsym $mod+c exec --no-startup-id "maim | xclip -selection clipboard -t image/png; notify-send --expire-time=1000 'Whole-desktop screenshot taken to clipboard'" bindsym $mod+c exec --no-startup-id "maim | xclip -selection clipboard -t image/png; notify-send --expire-time=1000 'Whole-desktop screenshot taken to clipboard'"
bindsym $mod+shift+c exec --no-startup-id "maim -i $(xdotool getactivewindow) | xclip -selection clipboard -t image/png; notify-send --expire-time=1000 'Window screenshot taken to clipboard'" bindsym $mod+shift+c exec --no-startup-id "maim -i $(xdotool getactivewindow) | xclip -selection clipboard -t image/png; notify-send --expire-time=1000 'Window screenshot taken to clipboard'"
bindsym $mod+ctrl+c exec --no-startup-id "maim -s | xclip -selection clipboard -t image/png; notify-send --expire-time=1000 'Selection screenshot taken to clipboard'" bindsym $mod+ctrl+c exec --no-startup-id "maim -s | xclip -selection clipboard -t image/png; notify-send --expire-time=1000 'Selection screenshot taken to clipboard'"
#colour picker with xcolor #colour picker with xcolor
bindsym --release $mod+p exec --no-startup-id "xcolor -s" bindsym --release $mod+p exec --no-startup-id "xcolor -s"
#mpd controls #mpd controls
bindsym $mod+mod1+p exec --no-startup-id "mpc toggle" bindsym $mod+mod1+p exec --no-startup-id "mpc toggle"
bindsym $mod+mod1+plus exec --no-startup-id "mpc volume +1; notify-send MPD: \\"$(mpc volume)\\" --expire-time=1000 -h string:x-dunst-stack-tag:mpdVolume" bindsym $mod+mod1+plus exec --no-startup-id "mpc volume +1; notify-send MPD: \\"$(mpc volume)\\" --expire-time=1000 -h string:x-dunst-stack-tag:mpdVolume"
bindsym $mod+mod1+minus exec --no-startup-id "mpc volume -1; notify-send MPD: \\"$(mpc volume)\\" --expire-time=1000 -h string:x-dunst-stack-tag:mpdVolume" bindsym $mod+mod1+minus exec --no-startup-id "mpc volume -1; notify-send MPD: \\"$(mpc volume)\\" --expire-time=1000 -h string:x-dunst-stack-tag:mpdVolume"
#open volume control #open volume control
bindsym $mod+shift+p exec pavucontrol bindsym $mod+shift+p exec pavucontrol
#volume control #volume control
bindsym $mod+plus exec --no-startup-id "wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%+; notify-send --expire-time=1000 -h string:x-dunst-stack-tag:volume $(wpctl get-volume @DEFAULT_AUDIO_SINK@)" bindsym $mod+plus exec --no-startup-id "wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%+; notify-send --expire-time=1000 -h string:x-dunst-stack-tag:volume $(wpctl get-volume @DEFAULT_AUDIO_SINK@)"
bindsym $mod+minus exec --no-startup-id "wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%-; notify-send --expire-time=1000 -h string:x-dunst-stack-tag:volume $(wpctl get-volume @DEFAULT_AUDIO_SINK@)" bindsym $mod+minus exec --no-startup-id "wpctl set-volume @DEFAULT_AUDIO_SINK@ 1%-; notify-send --expire-time=1000 -h string:x-dunst-stack-tag:volume $(wpctl get-volume @DEFAULT_AUDIO_SINK@)"
#open firefox #open firefox
bindsym $mod+w exec firefox bindsym $mod+w exec firefox
#make certan windwows always floating #make certan windwows always floating
#volume control #volume control
for_window [class="Pavucontrol"] floating enable for_window [class="Pavucontrol"] floating enable
for_window [title="Origin"] floating enable for_window [title="Origin"] floating enable
# Start i3bar to display a workspace bar (plus the system information i3status # Start i3bar to display a workspace bar (plus the system information i3status
@ -229,15 +229,15 @@ bar {
#startup applications #startup applications
#resetting the wallpaper. We are not setting it here, so we can have different wallpapers on different machines. use feh --bg-fill FILE to set it. it will write a .fehbg file. #resetting the wallpaper. We are not setting it here, so we can have different wallpapers on different machines. use feh --bg-fill FILE to set it. it will write a .fehbg file.
exec --no-startup-id ~/.fehbg exec --no-startup-id ~/.fehbg
#dunst #dunst
exec --no-startup-id /usr/bin/dunst exec --no-startup-id /usr/bin/dunst
#get gnome-keyring running #get gnome-keyring running
exec --no-startup-id dbus-update-activation-environment --all exec --no-startup-id dbus-update-activation-environment --all
exec --no-startup-id gnome-keyring-daemon --start --components=secrets exec --no-startup-id gnome-keyring-daemon --start --components=secrets
#geoclue #geoclue
exec --no-startup-id /usr/lib/geoclue-2.0/demos/agent exec --no-startup-id /usr/lib/geoclue-2.0/demos/agent

View file

@ -20,8 +20,8 @@
# If the above line is not correctly displayed, fix your editor first! # If the above line is not correctly displayed, fix your editor first!
general { general {
colors = true colors = true
interval = 5 interval = 5
} }
order += "wireless _first_" order += "wireless _first_"
@ -31,26 +31,26 @@ order += "load"
order += "tztime local" order += "tztime local"
wireless _first_ { wireless _first_ {
format_up = "W: (%quality at %essid) %ip" format_up = "W: (%quality at %essid) %ip"
format_down = "W: down" format_down = "W: down"
} }
ethernet _first_ { ethernet _first_ {
format_up = "E: %ip" format_up = "E: %ip"
format_down = "E: down" format_down = "E: down"
} }
battery all { battery all {
format = "%status %percentage %remaining" format = "%status %percentage %remaining"
low_threshold = 10 low_threshold = 10
integer_battery_capacity = true integer_battery_capacity = true
last_full_capacity = true last_full_capacity = true
} }
tztime local { tztime local {
format = "%Y-%m-%d %H:%M" format = "%Y-%m-%d %H:%M"
} }
load { load {
format = "%1min" format = "%1min"
} }

View file

@ -3,35 +3,35 @@
# This file is parsed by the configobj library. The syntax is described at # This file is parsed by the configobj library. The syntax is described at
# https://configobj.readthedocs.io/en/latest/configobj.html#the-config-file-format # https://configobj.readthedocs.io/en/latest/configobj.html#the-config-file-format
[addressbooks] [addressbooks]
[[contacts]] [[contacts]]
path = ~/.contacts/contacts/ path = ~/.contacts/contacts/
[general] [general]
debug = no debug = no
default_action = list default_action = list
# These are either strings or comma seperated lists # These are either strings or comma seperated lists
editor = nvim, -i, NONE editor = nvim, -i, NONE
merge_editor = vimdiff merge_editor = vimdiff
[contact table] [contact table]
# display names by first or last name: first_name / last_name / formatted_name # display names by first or last name: first_name / last_name / formatted_name
display = first_name display = first_name
# group by address book: yes / no # group by address book: yes / no
group_by_addressbook = no group_by_addressbook = no
# reverse table ordering: yes / no # reverse table ordering: yes / no
reverse = no reverse = no
# append nicknames to name column: yes / no # append nicknames to name column: yes / no
show_nicknames = no show_nicknames = no
# show uid table column: yes / no # show uid table column: yes / no
show_uids = yes show_uids = yes
# sort by first or last name: first_name / last_name / formatted_name # sort by first or last name: first_name / last_name / formatted_name
sort = last_name sort = last_name
# localize dates: yes / no # localize dates: yes / no
localize_dates = yes localize_dates = yes
# set a comma separated list of preferred phone number types in descending priority # set a comma separated list of preferred phone number types in descending priority
# or nothing for non-filtered alphabetical order # or nothing for non-filtered alphabetical order
preferred_phone_number_type = pref, cell, home preferred_phone_number_type = pref, cell, home
# set a comma separated list of preferred email address types in descending priority # set a comma separated list of preferred email address types in descending priority
# or nothing for non-filtered alphabetical order # or nothing for non-filtered alphabetical order
preferred_email_address_type = pref, work, home preferred_email_address_type = pref, work, home
[vcard] [vcard]
# extend contacts with your own private objects # extend contacts with your own private objects
# these objects are stored with a leading "X-" before the object name in the vcard files # these objects are stored with a leading "X-" before the object name in the vcard files

View file

@ -25,7 +25,7 @@ def_key "N"
previous_found_item previous_found_item
def_key "d" def_key "d"
delete_playlist_items delete_playlist_items
def_key "d" def_key "d"
delete_stored_playlist delete_stored_playlist

View file

@ -28,8 +28,8 @@ mpd_music_dir = ~/music
mpd_crossfade_time = 5 mpd_crossfade_time = 5
Exclude pattern for random song action ## Exclude pattern for random song action
http://www.boost.org/doc/libs/1_46_1/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html ## http://www.boost.org/doc/libs/1_46_1/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html
random_exclude_pattern = "^(temp|midi_songs).*" random_exclude_pattern = "^(temp|midi_songs).*"
##### music visualizer ##### ##### music visualizer #####

View file

@ -1,9 +1,9 @@
"TODO: port to LUA! "TODO: port to LUA!
function! Minimal_foldtext() function! Minimal_foldtext()
let lines_count = v:foldend - v:foldstart + 1 let lines_count = v:foldend - v:foldstart + 1
let lines_count_text = '+' . v:folddashes . '| ' . printf("%10S" , lines_count) . ' lines |' let lines_count_text = '+' . v:folddashes . '| ' . printf("%10S" , lines_count) . ' lines |'
let line_level_text = '| ' . printf("%8S" , 'level ' . v:foldlevel) . ' |' let line_level_text = '| ' . printf("%8S" , 'level ' . v:foldlevel) . ' |'
let fold_text_end = line_level_text . repeat('-',8) let fold_text_end = line_level_text . repeat('-',8)
let fold_text_length = strlen(lines_count_text . fold_text_end) + &foldcolumn let fold_text_length = strlen(lines_count_text . fold_text_end) + &foldcolumn
return lines_count_text . repeat('-' , winwidth(0) - fold_text_length - 4) . fold_text_end return lines_count_text . repeat('-' , winwidth(0) - fold_text_length - 4) . fold_text_end
endfunction endfunction

View file

@ -1,67 +1,67 @@
local opts = {} local opts = {}
local on_attach = function() local on_attach = function()
local function set_keymap(...) vim.api.nvim_set_keymap(...) end local function set_keymap(...) vim.api.nvim_set_keymap(...) end
local function set_option(...) vim.api.nvim_set_option(...) end local function set_option(...) vim.api.nvim_set_option(...) end
-- Enable completion triggered by <c-x><c-o> -- Enable completion triggered by <c-x><c-o>
set_option('omnifunc', 'v:lua.vim.lsp.omnifunc') set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
-- Mappings. -- Mappings.
local function optsWithDesc(desc) local function optsWithDesc(desc)
return { silent = true, desc = desc } return { silent = true, desc = desc }
end end
--setup leader-l prefix in whitch-key --setup leader-l prefix in whitch-key
local wk = require("which-key") local wk = require("which-key")
wk.register { wk.register {
["<leader>l"]={ ["<leader>l"]={
name="+lsp" name="+lsp"
} }
} }
-- See `:help vim.lsp.*` for documentation on any of the below functions -- See `:help vim.lsp.*` for documentation on any of the below functions
set_keymap('', '<leader>lc', '<cmd>lua vim.lsp.buf.declaration()<CR>', optsWithDesc("jump to declaration")) set_keymap('', '<leader>lc', '<cmd>lua vim.lsp.buf.declaration()<CR>', optsWithDesc("jump to declaration"))
set_keymap('', '<leader>ld', '<cmd>lua vim.lsp.buf.definition()<CR>', optsWithDesc("jump to definition")) set_keymap('', '<leader>ld', '<cmd>lua vim.lsp.buf.definition()<CR>', optsWithDesc("jump to definition"))
set_keymap('', '<leader>lh', '<cmd>lua vim.lsp.buf.hover()<CR>', optsWithDesc("show lsp hover info")) set_keymap('', '<leader>lh', '<cmd>lua vim.lsp.buf.hover()<CR>', optsWithDesc("show lsp hover info"))
set_keymap('', '<leader>li', '<cmd>lua vim.lsp.buf.implementation()<CR>', optsWithDesc("show implementations")) set_keymap('', '<leader>li', '<cmd>lua vim.lsp.buf.implementation()<CR>', optsWithDesc("show implementations"))
set_keymap('', '<leader>ls', '<cmd>lua vim.lsp.buf.signature_help()<CR>', optsWithDesc("show signature help")) set_keymap('', '<leader>ls', '<cmd>lua vim.lsp.buf.signature_help()<CR>', optsWithDesc("show signature help"))
set_keymap('', '<leader>lwa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', optsWithDesc("add workspace folder")) set_keymap('', '<leader>lwa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', optsWithDesc("add workspace folder"))
set_keymap('', '<leader>lwr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', set_keymap('', '<leader>lwr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>',
optsWithDesc("remove workspace folder")) optsWithDesc("remove workspace folder"))
set_keymap('', '<leader>lw', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', set_keymap('', '<leader>lw', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>',
optsWithDesc("show workspace folders")) optsWithDesc("show workspace folders"))
set_keymap('', '<leader>lr', '<cmd>lua vim.lsp.buf.rename()<CR>', optsWithDesc("rename symbol")) set_keymap('', '<leader>lr', '<cmd>lua vim.lsp.buf.rename()<CR>', optsWithDesc("rename symbol"))
set_keymap('', '<leader>la', '<cmd>lua vim.lsp.buf.code_action()<CR>', optsWithDesc("lsp code action")) set_keymap('', '<leader>la', '<cmd>lua vim.lsp.buf.code_action()<CR>', optsWithDesc("lsp code action"))
set_keymap('', '<leader>le', '<cmd>lua vim.lsp.buf.references()<CR>', optsWithDesc("list references")) set_keymap('', '<leader>le', '<cmd>lua vim.lsp.buf.references()<CR>', optsWithDesc("list references"))
set_keymap('', '<leader>lo', '<cmd>lua vim.diagnostic.open_float()<CR>', set_keymap('', '<leader>lo', '<cmd>lua vim.diagnostic.open_float()<CR>',
optsWithDesc("show diagnostic in floating window")) optsWithDesc("show diagnostic in floating window"))
set_keymap('', '<leader>ln', '<cmd>lua vim.diagnostic.goto_next()<CR>', optsWithDesc("next lsp diagnostic")) set_keymap('', '<leader>ln', '<cmd>lua vim.diagnostic.goto_next()<CR>', optsWithDesc("next lsp diagnostic"))
set_keymap('', '<leader>lp', '<cmd>lua vim.diagnostic.goto_prev()<CR>', optsWithDesc("prev lsp diagnostic")) set_keymap('', '<leader>lp', '<cmd>lua vim.diagnostic.goto_prev()<CR>', optsWithDesc("prev lsp diagnostic"))
set_keymap('', '<leader>lm', '<cmd>lua vim.lsp.buf.format {async=true}<CR>', optsWithDesc("format buffer")) set_keymap('', '<leader>lm', '<cmd>lua vim.lsp.buf.format {async=true}<CR>', optsWithDesc("format buffer"))
set_keymap('', ']d', '<cmd>lua vim.diagnostic.goto_next()<CR>', optsWithDesc("next lsp diagnostic")) set_keymap('', ']d', '<cmd>lua vim.diagnostic.goto_next()<CR>', optsWithDesc("next lsp diagnostic"))
set_keymap('', '[d', '<cmd>lua vim.diagnostic.goto_prev()<CR>', optsWithDesc("prev lsp diagnostic")) set_keymap('', '[d', '<cmd>lua vim.diagnostic.goto_prev()<CR>', optsWithDesc("prev lsp diagnostic"))
end end
require("mason-lspconfig").setup_handlers({ require("mason-lspconfig").setup_handlers({
function(server_name) function(server_name)
require("lspconfig")[server_name].setup {} require("lspconfig")[server_name].setup {}
on_attach() on_attach()
end, end,
["rust_analyzer"] = function() ["rust_analyzer"] = function()
require('rust-tools-setup') require('rust-tools-setup')
on_attach() on_attach()
end, end,
["lua_ls"] = function() ["lua_ls"] = function()
require('lspconfig').lua_ls.setup { require('lspconfig').lua_ls.setup {
settings = { settings = {
Lua = { Lua = {
diagnostics = { diagnostics = {
globals = { "vim" } globals = { "vim" }
} }
} }
} }
} }
on_attach() on_attach()
end, end,
}) })

View file

@ -8,63 +8,63 @@ vim.o.completeopt='menu,menuone,preview,noinsert,noselect'
-- nvim-cmp setup -- nvim-cmp setup
local cmp = require 'cmp' local cmp = require 'cmp'
cmp.setup { cmp.setup {
snippet = { snippet = {
expand = function(args) expand = function(args)
require('luasnip').lsp_expand(args.body) require('luasnip').lsp_expand(args.body)
end, end,
}, },
mapping = { mapping = {
['<C-p>'] = cmp.mapping.select_prev_item(), ['<C-p>'] = cmp.mapping.select_prev_item(),
['<C-n>'] = cmp.mapping.select_next_item(), ['<C-n>'] = cmp.mapping.select_next_item(),
['<C-d>'] = cmp.mapping.scroll_docs(-4), ['<C-d>'] = cmp.mapping.scroll_docs(-4),
['<C-f>'] = cmp.mapping.scroll_docs(4), ['<C-f>'] = cmp.mapping.scroll_docs(4),
['<C-Space>'] = cmp.mapping.complete(), ['<C-Space>'] = cmp.mapping.complete(),
['<C-e>'] = cmp.mapping.close(), ['<C-e>'] = cmp.mapping.close(),
['<CR>'] = cmp.mapping.confirm { ['<CR>'] = cmp.mapping.confirm {
behavior = cmp.ConfirmBehavior.Insert, behavior = cmp.ConfirmBehavior.Insert,
select = false, select = false,
-- behavior = cmp.ConfirmBehavior.Replace, -- behavior = cmp.ConfirmBehavior.Replace,
-- select = false, -- select = false,
}, },
['<Tab>'] = function(fallback) ['<Tab>'] = function(fallback)
if cmp.visible() then if cmp.visible() then
cmp.select_next_item() cmp.select_next_item()
elseif luasnip.expand_or_jumpable() then elseif luasnip.expand_or_jumpable() then
luasnip.expand_or_jump() luasnip.expand_or_jump()
else else
fallback() fallback()
end end
end, end,
['<S-Tab>'] = function(fallback) ['<S-Tab>'] = function(fallback)
if cmp.visible() then if cmp.visible() then
cmp.select_prev_item() cmp.select_prev_item()
elseif luasnip.jumpable(-1) then elseif luasnip.jumpable(-1) then
luasnip.jump(-1) luasnip.jump(-1)
else else
fallback() fallback()
end end
end, end,
}, },
sources = { sources = {
{ name = 'nvim_lsp' }, { name = 'nvim_lsp' },
{ name = 'path' }, { name = 'path' },
{ name = 'luasnip' }, { name = 'luasnip' },
{ name = 'nvim_lsp_signature_help' }, { name = 'nvim_lsp_signature_help' },
{ name = 'emoji' }, { name = 'emoji' },
{ name = 'latex_symbols' }, { name = 'latex_symbols' },
-- { name = 'buffer' }, -- { name = 'buffer' },
-- { name = 'digraphs' }, -- { name = 'digraphs' },
-- { name = 'dictionary' }, -- { name = 'dictionary' },
-- { name = 'spell' }, -- { name = 'spell' },
}, },
} }
cmp.setup.cmdline('/', { cmp.setup.cmdline('/', {
sources = cmp.config.sources({ sources = cmp.config.sources({
{ name = 'nvim_lsp_document_symbol' }, { name = 'nvim_lsp_document_symbol' },
{ name = 'treesitter' }, { name = 'treesitter' },
}, { }, {
{ name = 'buffer' }, { name = 'buffer' },
{ name = 'cmdline' }, { name = 'cmdline' },
}) })
}) })

View file

@ -1,85 +1,85 @@
local opts = { local opts = {
tools = { tools = {
autoSetHints = true, autoSetHints = true,
RustHoverActions = true, RustHoverActions = true,
-- how to execute terminal commands -- how to execute terminal commands
executor = require("rust-tools/executors").termopen, executor = require("rust-tools/executors").termopen,
inlay_hints = { inlay_hints = {
auto=true, auto=true,
-- Only show inlay hints for the current line -- Only show inlay hints for the current line
only_current_line = false, only_current_line = false,
-- Event which triggers a refersh of the inlay hints. -- Event which triggers a refersh of the inlay hints.
only_current_line_autocmd = "CursorHold", only_current_line_autocmd = "CursorHold",
-- whether to show parameter hints with the inlay hints or not -- whether to show parameter hints with the inlay hints or not
show_parameter_hints = true, show_parameter_hints = true,
-- whether to show variable name before type hints with the inlay hints or not -- whether to show variable name before type hints with the inlay hints or not
show_variable_name = true, show_variable_name = true,
-- prefix for parameter hints -- prefix for parameter hints
parameter_hints_prefix = "<- ", parameter_hints_prefix = "<- ",
-- prefix for all the other hints (type, chaining) -- prefix for all the other hints (type, chaining)
other_hints_prefix = "=> ", other_hints_prefix = "=> ",
-- whether to align to the lenght of the longest line in the file -- whether to align to the lenght of the longest line in the file
max_len_align = false, max_len_align = false,
-- padding from the left if max_len_align is true -- padding from the left if max_len_align is true
max_len_align_padding = 1, max_len_align_padding = 1,
-- whether to align to the extreme right or not -- whether to align to the extreme right or not
right_align = true, right_align = true,
-- padding from the right if right_align is true -- padding from the right if right_align is true
right_align_padding = 1, right_align_padding = 1,
-- The color of the hints -- The color of the hints
highlight = "Comment", highlight = "Comment",
}, },
hover_actions = { hover_actions = {
-- the border that is used for the hover window -- the border that is used for the hover window
border = { border = {
{ "", "FloatBorder" }, { "", "FloatBorder" },
{ "", "FloatBorder" }, { "", "FloatBorder" },
{ "", "FloatBorder" }, { "", "FloatBorder" },
{ "", "FloatBorder" }, { "", "FloatBorder" },
{ "", "FloatBorder" }, { "", "FloatBorder" },
{ "", "FloatBorder" }, { "", "FloatBorder" },
{ "", "FloatBorder" }, { "", "FloatBorder" },
{ "", "FloatBorder" }, { "", "FloatBorder" },
}, },
-- whether the hover action window gets automatically focused -- whether the hover action window gets automatically focused
auto_focus = false, auto_focus = false,
}, },
-- settings for showing the crate graph based on graphviz and the dot -- settings for showing the crate graph based on graphviz and the dot
-- command -- command
crate_graph = { crate_graph = {
-- Backend used for displaying the graph -- Backend used for displaying the graph
backend = "x11", backend = "x11",
-- where to store the output, nil for no output stored (relative -- where to store the output, nil for no output stored (relative
-- path from pwd) -- path from pwd)
output = nil, output = nil,
-- true for all crates.io and external crates, false only the local -- true for all crates.io and external crates, false only the local
-- crates -- crates
full = true, full = true,
}, },
}, },
-- all the opts to send to nvim-lspconfig -- all the opts to send to nvim-lspconfig
server = { server = {
-- standalone file support -- standalone file support
-- setting it to false may improve startup time -- setting it to false may improve startup time
standalone = true, standalone = true,
settings = { settings = {
-- rust-analyer options -- rust-analyer options
["rust-analyzer"] = { ["rust-analyzer"] = {
-- enable clippy on save -- enable clippy on save
checkOnSave = { checkOnSave = {
command = "clippy" command = "clippy"
}, },
} }
} }
}, },
-- debugging stuff -- debugging stuff
dap = { dap = {
adapter = { adapter = {
type = "executable", type = "executable",
command = "lldb-vscode", command = "lldb-vscode",
name = "rt_lldb", name = "rt_lldb",
}, },
}, },
} }
require('rust-tools').setup(opts) require('rust-tools').setup(opts)

View file

@ -1,9 +1,9 @@
"TODO: port to LUA! "TODO: port to LUA!
function! Minimal_foldtext() function! Minimal_foldtext()
let lines_count = v:foldend - v:foldstart + 1 let lines_count = v:foldend - v:foldstart + 1
let lines_count_text = '+' . v:folddashes . '| ' . printf("%10S" , lines_count) . ' lines |' let lines_count_text = '+' . v:folddashes . '| ' . printf("%10S" , lines_count) . ' lines |'
let line_level_text = '| ' . printf("%8S" , 'level ' . v:foldlevel) . ' |' let line_level_text = '| ' . printf("%8S" , 'level ' . v:foldlevel) . ' |'
let fold_text_end = line_level_text . repeat('-',8) let fold_text_end = line_level_text . repeat('-',8)
let fold_text_length = strlen(lines_count_text . fold_text_end) + &foldcolumn let fold_text_length = strlen(lines_count_text . fold_text_end) + &foldcolumn
return lines_count_text . repeat('-' , winwidth(0) - fold_text_length - 4) . fold_text_end return lines_count_text . repeat('-' , winwidth(0) - fold_text_length - 4) . fold_text_end
endfunction endfunction

View file

@ -10,7 +10,7 @@ vim.g.mapleader = ';'
--helper functions --helper functions
local function keyCode(string) local function keyCode(string)
return vim.api.nvim_replace_termcodes(str, true, true, true, true) return vim.api.nvim_replace_termcodes(str, true, true, true, true)
end end
--options using vim.opt (aliased, of course.) --options using vim.opt (aliased, of course.)
@ -82,7 +82,7 @@ opt.showbreak = '↪'
--keyboard mappings --keyboard mappings
local function optsWithDesc(desc) local function optsWithDesc(desc)
return {silent=true, desc=desc} return {silent=true, desc=desc}
end end
local opts = { noremap = true, silent = true } local opts = { noremap = true, silent = true }
--toggle spell check --toggle spell check

View file

@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
for id in $(xinput --list |grep 'Razer Razer Naga Hex .* pointer'|sed 's/.*id=\([0-9]*\).*/\1/') for id in $(xinput --list |grep 'Razer Razer Naga Hex .* pointer'|sed 's/.*id=\([0-9]*\).*/\1/')
do do
#echo "setting device ID $id" #echo "setting device ID $id"
xinput --set-prop $id 'Coordinate Transformation Matrix' 0.500000, 0.000000, 0.000000, 0.000000, 0.500000, 0.000000, 0.000000, 0.000000, 1.000000 xinput --set-prop $id 'Coordinate Transformation Matrix' 0.500000, 0.000000, 0.000000, 0.000000, 0.500000, 0.000000, 0.000000, 0.000000, 1.000000
done done

View file

@ -8,8 +8,8 @@ locker=$@
#make sure we set screen back to defaults if we force close the script #make sure we set screen back to defaults if we force close the script
cleanup() { cleanup() {
xset dpms 0 0 600 #&& echo "cleaned up!" xset dpms 0 0 600 #&& echo "cleaned up!"
exit exit
} }
trap "cleanup" EXIT trap "cleanup" EXIT

View file

@ -20,35 +20,35 @@
bind-key M-a send-prefix bind-key M-a send-prefix
#split panes using | and - #split panes using | and -
unbind '|' unbind '|'
unbind '_' unbind '_'
bind | split-window -h bind | split-window -h
bind _ split-window -v bind _ split-window -v
unbind '"' unbind '"'
unbind % unbind %
#switch panes using alt-hjkl #switch panes using alt-hjkl
bind -n M-h select-pane -L bind -n M-h select-pane -L
bind -n M-l select-pane -R bind -n M-l select-pane -R
bind -n M-k select-pane -U bind -n M-k select-pane -U
bind -n M-j select-pane -D bind -n M-j select-pane -D
#or with the prefix and hjkl #or with the prefix and hjkl
bind h select-pane -L bind h select-pane -L
bind l select-pane -R bind l select-pane -R
bind k select-pane -U bind k select-pane -U
bind j select-pane -D bind j select-pane -D
#resize panes with HJKL #resize panes with HJKL
bind -r H resize-pane -L 5 bind -r H resize-pane -L 5
bind -r J resize-pane -D 5 bind -r J resize-pane -D 5
bind -r K resize-pane -U 5 bind -r K resize-pane -U 5
bind -r L resize-pane -R 5 bind -r L resize-pane -R 5
#sorta-kinda vim keys for copy and paste #sorta-kinda vim keys for copy and paste
bind-key -T copy-mode-vi v send-keys -X begin-selection bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi y send-keys -X copy-selection bind-key -T copy-mode-vi y send-keys -X copy-selection
bind-key -T copy-mode-vi y send-keys -X copy-pipe "xclip -sel clip -i" bind-key -T copy-mode-vi y send-keys -X copy-pipe "xclip -sel clip -i"
bind-key -T copy-mode-vi r send-keys -X rectangle-toggle bind-key -T copy-mode-vi r send-keys -X rectangle-toggle
#moving panes between windows. #moving panes between windows.
@ -59,17 +59,17 @@ bind-key s command-prompt -p "sent pane to:" "join-pane -t '%%'"
bind r source-file ~/.tmux.conf bind r source-file ~/.tmux.conf
#fix annoying escape behavior #fix annoying escape behavior
set -sg escape-time 0 set -sg escape-time 0
#pass through focus events #pass through focus events
set -g focus-events on set -g focus-events on
#customizing ma tmux status line! #customizing ma tmux status line!
#make sure the left status line can hold the stuff we are about to give it. #make sure the left status line can hold the stuff we are about to give it.
set -g status-left-length 20 set -g status-left-length 20
#have the left side status line display my hostname. #have the left side status line display my hostname.
set -g status-left " #{host_short} | " set -g status-left " #{host_short} | "
#also lengthen the right side status, by mutch more. #also lengthen the right side status, by mutch more.
set -g status-right-length 60 set -g status-right-length 60
#have the right side status bar display the current battery status and the time/date. #have the right side status bar display the current battery status and the time/date.
set -g status-right 'battery:#(acpi | grep -Eo "[0-9]+%" | tr "\n" " " | sed "s/\s\+$//") | %H:%M %d/%m/%y ' set -g status-right 'battery:#(acpi | grep -Eo "[0-9]+%" | tr "\n" " " | sed "s/\s\+$//") | %H:%M %d/%m/%y '

View file

@ -21,175 +21,175 @@
set vicmd=nvim set vicmd=nvim
"general settings "general settings
" This makes vifm perform file operations on its own instead of relying on " This makes vifm perform file operations on its own instead of relying on
" standard utilities like `cp`. While using `cp` and alike is a more universal " standard utilities like `cp`. While using `cp` and alike is a more universal
" solution, it's also much slower and doesn't support progress measuring. " solution, it's also much slower and doesn't support progress measuring.
set syscalls set syscalls
" Trash Directory " Trash Directory
" The default is to move files that are deleted with dd or :d to " The default is to move files that are deleted with dd or :d to
" the trash directory. If you change this you will not be able to move " the trash directory. If you change this you will not be able to move
" files by deleting them and then using p to put the file in the new location. " files by deleting them and then using p to put the file in the new location.
" I recommend not changing this until you are familiar with vifm. " I recommend not changing this until you are familiar with vifm.
" This probably shouldn't be an option. " This probably shouldn't be an option.
set trash set trash
" This is how many directories to store in the directory history. " This is how many directories to store in the directory history.
set history=100 set history=100
" Automatically resolve symbolic links on l or Enter. " Automatically resolve symbolic links on l or Enter.
set nofollowlinks set nofollowlinks
" With this option turned on you can run partially entered commands with " With this option turned on you can run partially entered commands with
" unambiguous beginning using :! (e.g. :!Te instead of :!Terminal or :!Te<tab>). " unambiguous beginning using :! (e.g. :!Te instead of :!Terminal or :!Te<tab>).
" set fastrun " set fastrun
" Natural sort of (version) numbers within text. " Natural sort of (version) numbers within text.
set sortnumbers set sortnumbers
" Maximum number of changes that can be undone. " Maximum number of changes that can be undone.
set undolevels=100 set undolevels=100
" If you installed the vim.txt help file set vimhelp. " If you installed the vim.txt help file set vimhelp.
" If would rather use a plain text help file set novimhelp. " If would rather use a plain text help file set novimhelp.
set novimhelp set novimhelp
" If you would like to run an executable file when you " If you would like to run an executable file when you
" press return on the file name set this. " press return on the file name set this.
set norunexec set norunexec
" Selected color scheme " Selected color scheme
colorscheme Default colorscheme Default
" Format for displaying time in file list. For example: " Format for displaying time in file list. For example:
" TIME_STAMP_FORMAT=%m/%d-%H:%M " TIME_STAMP_FORMAT=%m/%d-%H:%M
" See man date or man strftime for details. " See man date or man strftime for details.
set timefmt=%m/%d\ %H:%M set timefmt=%m/%d\ %H:%M
" Show list of matches on tab completion in command-line mode " Show list of matches on tab completion in command-line mode
set wildmenu set wildmenu
" Display completions in a form of popup with descriptions of the matches " Display completions in a form of popup with descriptions of the matches
set wildstyle=popup set wildstyle=popup
" Display suggestions in normal, visual and view modes for keys, marks and " Display suggestions in normal, visual and view modes for keys, marks and
" registers (at most 5 files). In other view, when available. " registers (at most 5 files). In other view, when available.
set suggestoptions=normal,visual,view,otherpane,keys,marks,registers set suggestoptions=normal,visual,view,otherpane,keys,marks,registers
" Ignore case in search patterns unless it contains at least one uppercase " Ignore case in search patterns unless it contains at least one uppercase
" letter " letter
set ignorecase set ignorecase
set smartcase set smartcase
" Don't highlight search results automatically " Don't highlight search results automatically
set nohlsearch set nohlsearch
" Use increment searching (search while typing) " Use increment searching (search while typing)
set incsearch set incsearch
" Try to leave some space from cursor to upper/lower border in lists " Try to leave some space from cursor to upper/lower border in lists
set scrolloff=4 set scrolloff=4
" Don't do too many requests to slow file systems " Don't do too many requests to slow file systems
if !has('win') if !has('win')
set slowfs=curlftpfs set slowfs=curlftpfs
endif endif
" Set custom status line look " Set custom status line look
set statusline=" Hint: %z%= %A %10u:%-7g %15s %20d " set statusline=" Hint: %z%= %A %10u:%-7g %15s %20d "
" :mark mark /full/directory/path [filename] " :mark mark /full/directory/path [filename]
mark b ~/bin/ mark b ~/bin/
mark h ~/ mark h ~/
" :com[mand][!] command_name action " :com[mand][!] command_name action
" The following macros can be used in a command " The following macros can be used in a command
" %a is replaced with the user arguments. " %a is replaced with the user arguments.
" %c the current file under the cursor. " %c the current file under the cursor.
" %C the current file under the cursor in the other directory. " %C the current file under the cursor in the other directory.
" %f the current selected file, or files. " %f the current selected file, or files.
" %F the current selected file, or files in the other directory. " %F the current selected file, or files in the other directory.
" %b same as %f %F. " %b same as %f %F.
" %d the current directory name. " %d the current directory name.
" %D the other window directory name. " %D the other window directory name.
" %m run the command in a menu window " %m run the command in a menu window
command! df df -h %m 2> /dev/null command! df df -h %m 2> /dev/null
command! diff vim -d %f %F command! diff vim -d %f %F
command! zip zip -r %f.zip %f command! zip zip -r %f.zip %f
command! run !! ./%f command! run !! ./%f
command! make !!make %a command! make !!make %a
command! mkcd :mkdir %a | cd %a command! mkcd :mkdir %a | cd %a
command! vgrep vim "+grep %a" command! vgrep vim "+grep %a"
command! reload :write | restart command! reload :write | restart
" The file type is for the default programs to be used with " The file type is for the default programs to be used with
" a file extension. " a file extension.
" :filetype pattern1,pattern2 defaultprogram,program2 " :filetype pattern1,pattern2 defaultprogram,program2
" :fileviewer pattern1,pattern2 consoleviewer " :fileviewer pattern1,pattern2 consoleviewer
" The other programs for the file type can be accessed with the :file command " The other programs for the file type can be accessed with the :file command
" The command macros %f, %F, %d, %F may be used in the commands. " The command macros %f, %F, %d, %F may be used in the commands.
" The %a macro is ignored. To use a % you must put %%. " The %a macro is ignored. To use a % you must put %%.
" For automated FUSE mounts, you must register an extension with :file[x]type " For automated FUSE mounts, you must register an extension with :file[x]type
" in one of following formats: " in one of following formats:
" "
" :filetype extensions FUSE_MOUNT|some_mount_command using %SOURCE_FILE and %DESTINATION_DIR variables " :filetype extensions FUSE_MOUNT|some_mount_command using %SOURCE_FILE and %DESTINATION_DIR variables
" %SOURCE_FILE and %DESTINATION_DIR are filled in by vifm at runtime. " %SOURCE_FILE and %DESTINATION_DIR are filled in by vifm at runtime.
" A sample line might look like this: " A sample line might look like this:
" :filetype *.zip,*.jar,*.war,*.ear FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR " :filetype *.zip,*.jar,*.war,*.ear FUSE_MOUNT|fuse-zip %SOURCE_FILE %DESTINATION_DIR
" "
" :filetype extensions FUSE_MOUNT2|some_mount_command using %PARAM and %DESTINATION_DIR variables " :filetype extensions FUSE_MOUNT2|some_mount_command using %PARAM and %DESTINATION_DIR variables
" %PARAM and %DESTINATION_DIR are filled in by vifm at runtime. " %PARAM and %DESTINATION_DIR are filled in by vifm at runtime.
" A sample line might look like this: " A sample line might look like this:
" :filetype *.ssh FUSE_MOUNT2|sshfs %PARAM %DESTINATION_DIR " :filetype *.ssh FUSE_MOUNT2|sshfs %PARAM %DESTINATION_DIR
" %PARAM value is filled from the first line of file (whole line). " %PARAM value is filled from the first line of file (whole line).
" Example first line for SshMount filetype: root@127.0.0.1:/ " Example first line for SshMount filetype: root@127.0.0.1:/
" "
" You can also add %CLEAR if you want to clear screen before running FUSE " You can also add %CLEAR if you want to clear screen before running FUSE
" program. " program.
" Pdf " Pdf
filextype *.pdf zathura %c %i &, apvlv %c, xpdf %c filextype *.pdf zathura %c %i &, apvlv %c, xpdf %c
fileviewer *.pdf pdftotext -nopgbrk %c - fileviewer *.pdf pdftotext -nopgbrk %c -
"Image "Image
" fileviewer *.png,*jpeg,*jpg img2txt --width=100 %c " fileviewer *.png,*jpeg,*jpg img2txt --width=100 %c
"previewing html docs "previewing html docs
fileviewer *.html w3m %c fileviewer *.html w3m %c
" Open all other files with default system programs (you can also remove all " Open all other files with default system programs (you can also remove all
" :file[x]type commands above to ensure they don't interfere with system-wide " :file[x]type commands above to ensure they don't interfere with system-wide
" settings). By default all unknown files are opened with 'vi[x]cmd' " settings). By default all unknown files are opened with 'vi[x]cmd'
" uncommenting one of lines below will result in ignoring 'vi[x]cmd' option " uncommenting one of lines below will result in ignoring 'vi[x]cmd' option
" for unknown file types. " for unknown file types.
" For *nix: " For *nix:
filetype * xdg-open filetype * xdg-open
" ------------------------------------------------------------------------------ " ------------------------------------------------------------------------------

View file

@ -23,96 +23,96 @@ filetype plugin on
set noswapfile "disables creation of swap files set noswapfile "disables creation of swap files
"useful keybinds "useful keybinds
let mapleader = "\\" let mapleader = "\\"
"spell checking "spell checking
"toggle spell checking "toggle spell checking
noremap <leader>ss :setlocal spell!<CR> noremap <leader>ss :setlocal spell!<CR>
"splitting panels with <leader>| or - "splitting panels with <leader>| or -
nnoremap <leader>\| :vs<Enter> nnoremap <leader>\| :vs<Enter>
nnoremap <leader>\- :sp<Enter> nnoremap <leader>\- :sp<Enter>
" shortcuts using leader " shortcuts using leader
" noremap <leader>sn ]s " noremap <leader>sn ]s
" noremap <leader>sp [s " noremap <leader>sp [s
" noremap <leader>s? z= " noremap <leader>s? z=
"navigating splits: Control+hjkl will move from split to split "navigating splits: Control+hjkl will move from split to split
nnoremap <C-h> <C-w>h nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l nnoremap <C-l> <C-w>l
"command mode keybinds "command mode keybinds
"w!! writes using sudo "w!! writes using sudo
"cnoremap w!! w !sudo tee % >/dev/null "cnoremap w!! w !sudo tee % >/dev/null
"user interface stuff "user interface stuff
"disables the autocommenting stuff. "disables the autocommenting stuff.
set formatoptions-=o set formatoptions-=o
set formatoptions-=r set formatoptions-=r
set formatoptions-=c set formatoptions-=c
"disable text wrapping via carriage returns, should only wrap visually "disable text wrapping via carriage returns, should only wrap visually
set textwidth=0 set textwidth=0
set wrapmargin=0 set wrapmargin=0
set wrap set wrap
set linebreak set linebreak
set breakindent set breakindent
"adds a ruler to the side of the screen "adds a ruler to the side of the screen
set number set number
"displays the coordinates of your cursour in the statusbar "displays the coordinates of your cursour in the statusbar
set ruler set ruler
"scrollofff sets the number of lines from the top or bottom of the screen before vim will scroll. sidescroll off does the same thing for the sides of the window "scrollofff sets the number of lines from the top or bottom of the screen before vim will scroll. sidescroll off does the same thing for the sides of the window
set scrolloff=5 set scrolloff=5
set sidescrolloff=5 set sidescrolloff=5
"better command line completion "better command line completion
set wildmenu set wildmenu
"ignore cases in search unless you have a capital letter in the search "ignore cases in search unless you have a capital letter in the search
set ignorecase set ignorecase
set smartcase set smartcase
"this allows putting the cursor just after the last character of the line. "this allows putting the cursor just after the last character of the line.
"set virtualedit=onemore "set virtualedit=onemore
"show unfinished commands on the RIGHT side of the statusbar. yes, it is working. "show unfinished commands on the RIGHT side of the statusbar. yes, it is working.
set showcmd set showcmd
"make regex a bit easier to type "make regex a bit easier to type
set magic set magic
set hidden set hidden
"always display status line "always display status line
set laststatus=2 set laststatus=2
"keycodes time out fast, mappings have a bit longer "keycodes time out fast, mappings have a bit longer
set timeout timeoutlen=1000 ttimeout ttimeoutlen=100 set timeout timeoutlen=1000 ttimeout ttimeoutlen=100
"make it so the session feature wont overwrite our vimrc if the vimrc has newer bindings than this session. "make it so the session feature wont overwrite our vimrc if the vimrc has newer bindings than this session.
set sessionoptions-=options set sessionoptions-=options
"tab stuff "tab stuff
set tabstop=4 set tabstop=4
set shiftwidth=4 set shiftwidth=4
set autoindent set autoindent
"highlighting/colour stuff "highlighting/colour stuff
"sets the colorscheme. to get a list of the available colors, do :colorscheme <Space> <C-d> "sets the colorscheme. to get a list of the available colors, do :colorscheme <Space> <C-d>
colorscheme ron colorscheme ron
syntax enable syntax enable
"highlight search results "highlight search results
set hlsearch set hlsearch
"search as you type "search as you type
set incsearch set incsearch
"<leader> L clears the search highlighting "<leader> L clears the search highlighting
noremap <leader>l :nohls<CR> noremap <leader>l :nohls<CR>

View file

@ -1,3 +1,3 @@
[user] [user]
email = venberggabe@johndeere.com email = venberggabe@johndeere.com
name = Gabe Venberg name = Gabe Venberg

View file

@ -20,114 +20,114 @@ URxvt.keysym.C-0: resize-font:reset
URxvt.keysym.C-question: resize-font:show URxvt.keysym.C-question: resize-font:show
!dark colourscheme !dark colourscheme
! special ! special
*.foreground: #b7b8b9 *.foreground: #b7b8b9
*.background: #0c0d0e *.background: #0c0d0e
*.cursorColor: #b7b8b9 *.cursorColor: #b7b8b9
! black ! black
*.color0: #0c0d0e *.color0: #0c0d0e
*.color8: #737475 *.color8: #737475
! red ! red
*.color1: #e31a1c *.color1: #e31a1c
*.color9: #e31a1c *.color9: #e31a1c
! green ! green
*.color2: #31a354 *.color2: #31a354
*.color10: #31a354 *.color10: #31a354
! yellow ! yellow
*.color3: #dca060 *.color3: #dca060
*.color11: #dca060 *.color11: #dca060
! blue ! blue
*.color4: #3182bd *.color4: #3182bd
*.color12: #3182bd *.color12: #3182bd
! magenta ! magenta
*.color5: #756bb1 *.color5: #756bb1
*.color13: #756bb1 *.color13: #756bb1
! cyan ! cyan
*.color6: #80b1d3 *.color6: #80b1d3
*.color14: #80b1d3 *.color14: #80b1d3
! white ! white
*.color7: #b7b8b9 *.color7: #b7b8b9
*.color15: #fcfdfe *.color15: #fcfdfe
! drop in Solarized colorscheme for Xresources/Xdefaults ! drop in Solarized colorscheme for Xresources/Xdefaults
!SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B RGB HSB !SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B RGB HSB
!--------- ------- ---- ------- ----------- ---------- ----------- ----------- !--------- ------- ---- ------- ----------- ---------- ----------- -----------
!base03 #002b36 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21 !base03 #002b36 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21
!base02 #073642 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26 !base02 #073642 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26
!base01 #586e75 10/7 brgreen 240 #585858 45 -07 -07 88 110 117 194 25 46 !base01 #586e75 10/7 brgreen 240 #585858 45 -07 -07 88 110 117 194 25 46
!base00 #657b83 11/7 bryellow 241 #626262 50 -07 -07 101 123 131 195 23 51 !base00 #657b83 11/7 bryellow 241 #626262 50 -07 -07 101 123 131 195 23 51
!base0 #839496 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59 !base0 #839496 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59
!base1 #93a1a1 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63 !base1 #93a1a1 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63
!base2 #eee8d5 7/7 white 254 #e4e4e4 92 -00 10 238 232 213 44 11 93 !base2 #eee8d5 7/7 white 254 #e4e4e4 92 -00 10 238 232 213 44 11 93
!base3 #fdf6e3 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99 !base3 #fdf6e3 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99
!yellow #b58900 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71 !yellow #b58900 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71
!orange #cb4b16 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80 !orange #cb4b16 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80
!red #dc322f 1/1 red 160 #d70000 50 65 45 220 50 47 1 79 86 !red #dc322f 1/1 red 160 #d70000 50 65 45 220 50 47 1 79 86
!magenta #d33682 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83 !magenta #d33682 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83
!violet #6c71c4 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77 !violet #6c71c4 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77
!blue #268bd2 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82 !blue #268bd2 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82
!cyan #2aa198 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63 !cyan #2aa198 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63
!green #859900 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60 !green #859900 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60
!#define S_base03 #002b36 !#define S_base03 #002b36
!#define S_base02 #073642 !#define S_base02 #073642
!#define S_base01 #586e75 !#define S_base01 #586e75
!#define S_base00 #657b83 !#define S_base00 #657b83
!#define S_base0 #839496 !#define S_base0 #839496
!#define S_base1 #93a1a1 !#define S_base1 #93a1a1
!#define S_base2 #eee8d5 !#define S_base2 #eee8d5
!#define S_base3 #fdf6e3 !#define S_base3 #fdf6e3
!#define S_yellow #b58900 !#define S_yellow #b58900
!#define S_orange #cb4b16 !#define S_orange #cb4b16
!#define S_red #dc322f !#define S_red #dc322f
!#define S_magenta #d33682 !#define S_magenta #d33682
!#define S_violet #6c71c4 !#define S_violet #6c71c4
!#define S_blue #268bd2 !#define S_blue #268bd2
!#define S_cyan #2aa198 !#define S_cyan #2aa198
!#define S_green #859900 !#define S_green #859900
! !
!*background: S_base03 !*background: S_base03
!*foreground: S_base00 !*foreground: S_base00
!*cursorColor: S_base1 !*cursorColor: S_base1
!*pointerColorBackground:S_base01 !*pointerColorBackground:S_base01
!*pointerColorForeground:S_base1 !*pointerColorForeground:S_base1
! !
!! black dark/light !! black dark/light
!*color0: S_base02 !*color0: S_base02
!*color8: S_base03 !*color8: S_base03
! !
!! red dark/light !! red dark/light
!*color1: S_red !*color1: S_red
!*color9: S_orange !*color9: S_orange
! !
!! green dark/light !! green dark/light
!*color2: S_green !*color2: S_green
!*color10: S_base01 !*color10: S_base01
! !
!! yellow dark/light !! yellow dark/light
!*color3: S_yellow !*color3: S_yellow
!*color11: S_base00 !*color11: S_base00
! !
!! blue dark/light !! blue dark/light
!*color4: S_blue !*color4: S_blue
!*color12: S_base0 !*color12: S_base0
! !
!! magenta dark/light !! magenta dark/light
!*color5: S_magenta !*color5: S_magenta
!*color13: S_violet !*color13: S_violet
! !
!! cyan dark/light !! cyan dark/light
!*color6: S_cyan !*color6: S_cyan
!*color14: S_base1 !*color14: S_base1
! !
!! white dark/light !! white dark/light
!*color7: S_base2 !*color7: S_base2
!*color15: S_base3 !*color15: S_base3

View file

@ -22,114 +22,114 @@ URxvt.keysym.C-0: resize-font:reset
URxvt.keysym.C-question: resize-font:show URxvt.keysym.C-question: resize-font:show
!dark colourscheme !dark colourscheme
! special ! special
*.foreground: #b7b8b9 *.foreground: #b7b8b9
*.background: #0c0d0e *.background: #0c0d0e
*.cursorColor: #b7b8b9 *.cursorColor: #b7b8b9
! black ! black
*.color0: #0c0d0e *.color0: #0c0d0e
*.color8: #737475 *.color8: #737475
! red ! red
*.color1: #e31a1c *.color1: #e31a1c
*.color9: #e31a1c *.color9: #e31a1c
! green ! green
*.color2: #31a354 *.color2: #31a354
*.color10: #31a354 *.color10: #31a354
! yellow ! yellow
*.color3: #dca060 *.color3: #dca060
*.color11: #dca060 *.color11: #dca060
! blue ! blue
*.color4: #3182bd *.color4: #3182bd
*.color12: #3182bd *.color12: #3182bd
! magenta ! magenta
*.color5: #756bb1 *.color5: #756bb1
*.color13: #756bb1 *.color13: #756bb1
! cyan ! cyan
*.color6: #80b1d3 *.color6: #80b1d3
*.color14: #80b1d3 *.color14: #80b1d3
! white ! white
*.color7: #b7b8b9 *.color7: #b7b8b9
*.color15: #fcfdfe *.color15: #fcfdfe
! drop in Solarized colorscheme for Xresources/Xdefaults ! drop in Solarized colorscheme for Xresources/Xdefaults
!SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B RGB HSB !SOLARIZED HEX 16/8 TERMCOL XTERM/HEX L*A*B RGB HSB
!--------- ------- ---- ------- ----------- ---------- ----------- ----------- !--------- ------- ---- ------- ----------- ---------- ----------- -----------
!base03 #002b36 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21 !base03 #002b36 8/4 brblack 234 #1c1c1c 15 -12 -12 0 43 54 193 100 21
!base02 #073642 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26 !base02 #073642 0/4 black 235 #262626 20 -12 -12 7 54 66 192 90 26
!base01 #586e75 10/7 brgreen 240 #585858 45 -07 -07 88 110 117 194 25 46 !base01 #586e75 10/7 brgreen 240 #585858 45 -07 -07 88 110 117 194 25 46
!base00 #657b83 11/7 bryellow 241 #626262 50 -07 -07 101 123 131 195 23 51 !base00 #657b83 11/7 bryellow 241 #626262 50 -07 -07 101 123 131 195 23 51
!base0 #839496 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59 !base0 #839496 12/6 brblue 244 #808080 60 -06 -03 131 148 150 186 13 59
!base1 #93a1a1 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63 !base1 #93a1a1 14/4 brcyan 245 #8a8a8a 65 -05 -02 147 161 161 180 9 63
!base2 #eee8d5 7/7 white 254 #e4e4e4 92 -00 10 238 232 213 44 11 93 !base2 #eee8d5 7/7 white 254 #e4e4e4 92 -00 10 238 232 213 44 11 93
!base3 #fdf6e3 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99 !base3 #fdf6e3 15/7 brwhite 230 #ffffd7 97 00 10 253 246 227 44 10 99
!yellow #b58900 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71 !yellow #b58900 3/3 yellow 136 #af8700 60 10 65 181 137 0 45 100 71
!orange #cb4b16 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80 !orange #cb4b16 9/3 brred 166 #d75f00 50 50 55 203 75 22 18 89 80
!red #dc322f 1/1 red 160 #d70000 50 65 45 220 50 47 1 79 86 !red #dc322f 1/1 red 160 #d70000 50 65 45 220 50 47 1 79 86
!magenta #d33682 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83 !magenta #d33682 5/5 magenta 125 #af005f 50 65 -05 211 54 130 331 74 83
!violet #6c71c4 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77 !violet #6c71c4 13/5 brmagenta 61 #5f5faf 50 15 -45 108 113 196 237 45 77
!blue #268bd2 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82 !blue #268bd2 4/4 blue 33 #0087ff 55 -10 -45 38 139 210 205 82 82
!cyan #2aa198 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63 !cyan #2aa198 6/6 cyan 37 #00afaf 60 -35 -05 42 161 152 175 74 63
!green #859900 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60 !green #859900 2/2 green 64 #5f8700 60 -20 65 133 153 0 68 100 60
!#define S_base03 #002b36 !#define S_base03 #002b36
!#define S_base02 #073642 !#define S_base02 #073642
!#define S_base01 #586e75 !#define S_base01 #586e75
!#define S_base00 #657b83 !#define S_base00 #657b83
!#define S_base0 #839496 !#define S_base0 #839496
!#define S_base1 #93a1a1 !#define S_base1 #93a1a1
!#define S_base2 #eee8d5 !#define S_base2 #eee8d5
!#define S_base3 #fdf6e3 !#define S_base3 #fdf6e3
!#define S_yellow #b58900 !#define S_yellow #b58900
!#define S_orange #cb4b16 !#define S_orange #cb4b16
!#define S_red #dc322f !#define S_red #dc322f
!#define S_magenta #d33682 !#define S_magenta #d33682
!#define S_violet #6c71c4 !#define S_violet #6c71c4
!#define S_blue #268bd2 !#define S_blue #268bd2
!#define S_cyan #2aa198 !#define S_cyan #2aa198
!#define S_green #859900 !#define S_green #859900
! !
!*background: S_base03 !*background: S_base03
!*foreground: S_base00 !*foreground: S_base00
!*cursorColor: S_base1 !*cursorColor: S_base1
!*pointerColorBackground:S_base01 !*pointerColorBackground:S_base01
!*pointerColorForeground:S_base1 !*pointerColorForeground:S_base1
! !
!! black dark/light !! black dark/light
!*color0: S_base02 !*color0: S_base02
!*color8: S_base03 !*color8: S_base03
! !
!! red dark/light !! red dark/light
!*color1: S_red !*color1: S_red
!*color9: S_orange !*color9: S_orange
! !
!! green dark/light !! green dark/light
!*color2: S_green !*color2: S_green
!*color10: S_base01 !*color10: S_base01
! !
!! yellow dark/light !! yellow dark/light
!*color3: S_yellow !*color3: S_yellow
!*color11: S_base00 !*color11: S_base00
! !
!! blue dark/light !! blue dark/light
!*color4: S_blue !*color4: S_blue
!*color12: S_base0 !*color12: S_base0
! !
!! magenta dark/light !! magenta dark/light
!*color5: S_magenta !*color5: S_magenta
!*color13: S_violet !*color13: S_violet
! !
!! cyan dark/light !! cyan dark/light
!*color6: S_cyan !*color6: S_cyan
!*color14: S_base1 !*color14: S_base1
! !
!! white dark/light !! white dark/light
!*color7: S_base2 !*color7: S_base2
!*color15: S_base3 !*color15: S_base3

View file

@ -1,240 +1,240 @@
[manager] [manager]
keymap = [ keymap = [
{ on = [ "<Esc>" ], exec = "escape", desc = "Exit visual mode, clear selected, or cancel search" }, { on = [ "<Esc>" ], exec = "escape", desc = "Exit visual mode, clear selected, or cancel search" },
{ on = [ "q" ], exec = "quit", desc = "Exit the process" }, { on = [ "q" ], exec = "quit", desc = "Exit the process" },
{ on = [ "Q" ], exec = "quit --no-cwd-file", desc = "Exit the process without writing cwd-file" }, { on = [ "Q" ], exec = "quit --no-cwd-file", desc = "Exit the process without writing cwd-file" },
{ on = [ "<C-q>" ], exec = "close", desc = "Close the current tab, or quit if it is last tab" }, { on = [ "<C-q>" ], exec = "close", desc = "Close the current tab, or quit if it is last tab" },
{ on = [ "<C-z>" ], exec = "suspend", desc = "Suspend the process" }, { on = [ "<C-z>" ], exec = "suspend", desc = "Suspend the process" },
# Navigation # Navigation
{ on = [ "k" ], exec = "arrow -1", desc = "Move cursor up" }, { on = [ "k" ], exec = "arrow -1", desc = "Move cursor up" },
{ on = [ "j" ], exec = "arrow 1", desc = "Move cursor down" }, { on = [ "j" ], exec = "arrow 1", desc = "Move cursor down" },
{ on = [ "K" ], exec = "arrow -5", desc = "Move cursor up 5 lines" }, { on = [ "K" ], exec = "arrow -5", desc = "Move cursor up 5 lines" },
{ on = [ "J" ], exec = "arrow 5", desc = "Move cursor down 5 lines" }, { on = [ "J" ], exec = "arrow 5", desc = "Move cursor down 5 lines" },
{ on = [ "<C-u>" ], exec = "arrow -50%", desc = "Move cursor up half page" }, { on = [ "<C-u>" ], exec = "arrow -50%", desc = "Move cursor up half page" },
{ on = [ "<C-d>" ], exec = "arrow 50%", desc = "Move cursor down half page" }, { on = [ "<C-d>" ], exec = "arrow 50%", desc = "Move cursor down half page" },
{ on = [ "<C-b>" ], exec = "arrow -100%", desc = "Move cursor up one page" }, { on = [ "<C-b>" ], exec = "arrow -100%", desc = "Move cursor up one page" },
{ on = [ "<C-f>" ], exec = "arrow 100%", desc = "Move cursor down one page" }, { on = [ "<C-f>" ], exec = "arrow 100%", desc = "Move cursor down one page" },
{ on = [ "h" ], exec = [ "leave", "escape --visual --select" ], desc = "Go back to the parent directory" }, { on = [ "h" ], exec = [ "leave", "escape --visual --select" ], desc = "Go back to the parent directory" },
{ on = [ "l" ], exec = [ "enter", "escape --visual --select" ], desc = "Enter the child directory" }, { on = [ "l" ], exec = [ "enter", "escape --visual --select" ], desc = "Enter the child directory" },
{ on = [ "H" ], exec = "back", desc = "Go back to the previous directory" }, { on = [ "H" ], exec = "back", desc = "Go back to the previous directory" },
{ on = [ "L" ], exec = "forward", desc = "Go forward to the next directory" }, { on = [ "L" ], exec = "forward", desc = "Go forward to the next directory" },
{ on = [ "<A-k>" ], exec = "peek -5", desc = "Peek up 5 units in the preview" }, { on = [ "<A-k>" ], exec = "peek -5", desc = "Peek up 5 units in the preview" },
{ on = [ "<A-j>" ], exec = "peek 5", desc = "Peek down 5 units in the preview" }, { on = [ "<A-j>" ], exec = "peek 5", desc = "Peek down 5 units in the preview" },
{ on = [ "<Up>" ], exec = "arrow -1", desc = "Move cursor up" }, { on = [ "<Up>" ], exec = "arrow -1", desc = "Move cursor up" },
{ on = [ "<Down>" ], exec = "arrow 1", desc = "Move cursor down" }, { on = [ "<Down>" ], exec = "arrow 1", desc = "Move cursor down" },
{ on = [ "<Left>" ], exec = "leave", desc = "Go back to the parent directory" }, { on = [ "<Left>" ], exec = "leave", desc = "Go back to the parent directory" },
{ on = [ "<Right>" ], exec = "enter", desc = "Enter the child directory" }, { on = [ "<Right>" ], exec = "enter", desc = "Enter the child directory" },
{ on = [ "g", "g" ], exec = "arrow -99999999", desc = "Move cursor to the top" }, { on = [ "g", "g" ], exec = "arrow -99999999", desc = "Move cursor to the top" },
{ on = [ "G" ], exec = "arrow 99999999", desc = "Move cursor to the bottom" }, { on = [ "G" ], exec = "arrow 99999999", desc = "Move cursor to the bottom" },
# Selection # Selection
{ on = [ "<Space>" ], exec = [ "select --state=none", "arrow 1" ], desc = "Toggle the current selection state" }, { on = [ "<Space>" ], exec = [ "select --state=none", "arrow 1" ], desc = "Toggle the current selection state" },
{ on = [ "v" ], exec = "visual_mode", desc = "Enter visual mode (selection mode)" }, { on = [ "v" ], exec = "visual_mode", desc = "Enter visual mode (selection mode)" },
{ on = [ "V" ], exec = "visual_mode --unset", desc = "Enter visual mode (unset mode)" }, { on = [ "V" ], exec = "visual_mode --unset", desc = "Enter visual mode (unset mode)" },
{ on = [ "<C-a>" ], exec = "select_all --state=true", desc = "Select all files" }, { on = [ "<C-a>" ], exec = "select_all --state=true", desc = "Select all files" },
{ on = [ "<C-r>" ], exec = "select_all --state=none", desc = "Inverse selection of all files" }, { on = [ "<C-r>" ], exec = "select_all --state=none", desc = "Inverse selection of all files" },
# Operation # Operation
{ on = [ "o" ], exec = "open", desc = "Open the selected files" }, { on = [ "o" ], exec = "open", desc = "Open the selected files" },
{ on = [ "O" ], exec = "open --interactive", desc = "Open the selected files interactively" }, { on = [ "O" ], exec = "open --interactive", desc = "Open the selected files interactively" },
{ on = [ "<Enter>" ], exec = "open", desc = "Open the selected files" }, { on = [ "<Enter>" ], exec = "open", desc = "Open the selected files" },
{ on = [ "<C-Enter>" ], exec = "open --interactive", desc = "Open the selected files interactively" }, { on = [ "<C-Enter>" ], exec = "open --interactive", desc = "Open the selected files interactively" },
{ on = [ "y" ], exec = [ "yank", "escape --visual --select" ], desc = "Copy the selected files" }, { on = [ "y" ], exec = [ "yank", "escape --visual --select" ], desc = "Copy the selected files" },
{ on = [ "x" ], exec = [ "yank --cut", "escape --visual --select" ], desc = "Cut the selected files" }, { on = [ "x" ], exec = [ "yank --cut", "escape --visual --select" ], desc = "Cut the selected files" },
{ on = [ "p" ], exec = "paste", desc = "Paste the files" }, { on = [ "p" ], exec = "paste", desc = "Paste the files" },
{ on = [ "P" ], exec = "paste --force", desc = "Paste the files (overwrite if the destination exists)" }, { on = [ "P" ], exec = "paste --force", desc = "Paste the files (overwrite if the destination exists)" },
{ on = [ "-" ], exec = "link", desc = "Symlink the absolute path of files" }, { on = [ "-" ], exec = "link", desc = "Symlink the absolute path of files" },
{ on = [ "_" ], exec = "link --relative", desc = "Symlink the relative path of files" }, { on = [ "_" ], exec = "link --relative", desc = "Symlink the relative path of files" },
{ on = [ "d" ], exec = [ "remove", "escape --visual --select" ], desc = "Move the files to the trash" }, { on = [ "d" ], exec = [ "remove", "escape --visual --select" ], desc = "Move the files to the trash" },
{ on = [ "D" ], exec = [ "remove --permanently", "escape --visual --select" ], desc = "Permanently delete the files" }, { on = [ "D" ], exec = [ "remove --permanently", "escape --visual --select" ], desc = "Permanently delete the files" },
{ on = [ "a" ], exec = "create", desc = "Create a file or directory (ends with / for directories)" }, { on = [ "a" ], exec = "create", desc = "Create a file or directory (ends with / for directories)" },
{ on = [ "r" ], exec = "rename", desc = "Rename a file or directory" }, { on = [ "r" ], exec = "rename", desc = "Rename a file or directory" },
{ on = [ ";" ], exec = "shell", desc = "Run a shell command" }, { on = [ ";" ], exec = "shell", desc = "Run a shell command" },
{ on = [ ":" ], exec = "shell --block", desc = "Run a shell command (block the UI until the command finishes)" }, { on = [ ":" ], exec = "shell --block", desc = "Run a shell command (block the UI until the command finishes)" },
{ on = [ "." ], exec = "hidden toggle", desc = "Toggle the visibility of hidden files" }, { on = [ "." ], exec = "hidden toggle", desc = "Toggle the visibility of hidden files" },
{ on = [ "s" ], exec = "search fd", desc = "Search files by name using fd" }, { on = [ "s" ], exec = "search fd", desc = "Search files by name using fd" },
{ on = [ "S" ], exec = "search rg", desc = "Search files by content using ripgrep" }, { on = [ "S" ], exec = "search rg", desc = "Search files by content using ripgrep" },
{ on = [ "<C-s>" ], exec = "search none", desc = "Cancel the ongoing search" }, { on = [ "<C-s>" ], exec = "search none", desc = "Cancel the ongoing search" },
{ on = [ "z" ], exec = "jump zoxide", desc = "Jump to a directory using zoxide" }, { on = [ "z" ], exec = "jump zoxide", desc = "Jump to a directory using zoxide" },
{ on = [ "Z" ], exec = "jump fzf", desc = "Jump to a directory, or reveal a file using fzf" }, { on = [ "Z" ], exec = "jump fzf", desc = "Jump to a directory, or reveal a file using fzf" },
# Linemode # Linemode
{ on = [ "m", "s" ], exec = "linemode size", desc = "Set linemode to size" }, { on = [ "m", "s" ], exec = "linemode size", desc = "Set linemode to size" },
{ on = [ "m", "p" ], exec = "linemode permissions", desc = "Set linemode to permissions" }, { on = [ "m", "p" ], exec = "linemode permissions", desc = "Set linemode to permissions" },
{ on = [ "m", "m" ], exec = "linemode mtime", desc = "Set linemode to mtime" }, { on = [ "m", "m" ], exec = "linemode mtime", desc = "Set linemode to mtime" },
{ on = [ "m", "n" ], exec = "linemode none", desc = "Set linemode to none" }, { on = [ "m", "n" ], exec = "linemode none", desc = "Set linemode to none" },
# Copy # Copy
{ on = [ "c", "c" ], exec = "copy path", desc = "Copy the absolute path" }, { on = [ "c", "c" ], exec = "copy path", desc = "Copy the absolute path" },
{ on = [ "c", "d" ], exec = "copy dirname", desc = "Copy the path of the parent directory" }, { on = [ "c", "d" ], exec = "copy dirname", desc = "Copy the path of the parent directory" },
{ on = [ "c", "f" ], exec = "copy filename", desc = "Copy the name of the file" }, { on = [ "c", "f" ], exec = "copy filename", desc = "Copy the name of the file" },
{ on = [ "c", "n" ], exec = "copy name_without_ext", desc = "Copy the name of the file without the extension" }, { on = [ "c", "n" ], exec = "copy name_without_ext", desc = "Copy the name of the file without the extension" },
# Find # Find
{ on = [ "/" ], exec = "find --smart" }, { on = [ "/" ], exec = "find --smart" },
{ on = [ "?" ], exec = "find --previous --smart" }, { on = [ "?" ], exec = "find --previous --smart" },
{ on = [ "n" ], exec = "find_arrow" }, { on = [ "n" ], exec = "find_arrow" },
{ on = [ "N" ], exec = "find_arrow --previous" }, { on = [ "N" ], exec = "find_arrow --previous" },
# Sorting # Sorting
{ on = [ ",", "a" ], exec = "sort alphabetical --dir_first", desc = "Sort alphabetically" }, { on = [ ",", "a" ], exec = "sort alphabetical --dir_first", desc = "Sort alphabetically" },
{ on = [ ",", "A" ], exec = "sort alphabetical --reverse --dir_first", desc = "Sort alphabetically (reverse)" }, { on = [ ",", "A" ], exec = "sort alphabetical --reverse --dir_first", desc = "Sort alphabetically (reverse)" },
{ on = [ ",", "c" ], exec = "sort created --dir_first", desc = "Sort by creation time" }, { on = [ ",", "c" ], exec = "sort created --dir_first", desc = "Sort by creation time" },
{ on = [ ",", "C" ], exec = "sort created --reverse --dir_first", desc = "Sort by creation time (reverse)" }, { on = [ ",", "C" ], exec = "sort created --reverse --dir_first", desc = "Sort by creation time (reverse)" },
{ on = [ ",", "m" ], exec = "sort modified --dir_first", desc = "Sort by modified time" }, { on = [ ",", "m" ], exec = "sort modified --dir_first", desc = "Sort by modified time" },
{ on = [ ",", "M" ], exec = "sort modified --reverse --dir_first", desc = "Sort by modified time (reverse)" }, { on = [ ",", "M" ], exec = "sort modified --reverse --dir_first", desc = "Sort by modified time (reverse)" },
{ on = [ ",", "n" ], exec = "sort natural --dir_first", desc = "Sort naturally" }, { on = [ ",", "n" ], exec = "sort natural --dir_first", desc = "Sort naturally" },
{ on = [ ",", "N" ], exec = "sort natural --reverse --dir_first", desc = "Sort naturally (reverse)" }, { on = [ ",", "N" ], exec = "sort natural --reverse --dir_first", desc = "Sort naturally (reverse)" },
{ on = [ ",", "s" ], exec = "sort size --dir_first", desc = "Sort by size" }, { on = [ ",", "s" ], exec = "sort size --dir_first", desc = "Sort by size" },
{ on = [ ",", "S" ], exec = "sort size --reverse --dir_first", desc = "Sort by size (reverse)" }, { on = [ ",", "S" ], exec = "sort size --reverse --dir_first", desc = "Sort by size (reverse)" },
# Tabs # Tabs
{ on = [ "t" ], exec = "tab_create --current", desc = "Create a new tab using the current path" }, { on = [ "t" ], exec = "tab_create --current", desc = "Create a new tab using the current path" },
{ on = [ "1" ], exec = "tab_switch 0", desc = "Switch to the first tab" }, { on = [ "1" ], exec = "tab_switch 0", desc = "Switch to the first tab" },
{ on = [ "2" ], exec = "tab_switch 1", desc = "Switch to the second tab" }, { on = [ "2" ], exec = "tab_switch 1", desc = "Switch to the second tab" },
{ on = [ "3" ], exec = "tab_switch 2", desc = "Switch to the third tab" }, { on = [ "3" ], exec = "tab_switch 2", desc = "Switch to the third tab" },
{ on = [ "4" ], exec = "tab_switch 3", desc = "Switch to the fourth tab" }, { on = [ "4" ], exec = "tab_switch 3", desc = "Switch to the fourth tab" },
{ on = [ "5" ], exec = "tab_switch 4", desc = "Switch to the fifth tab" }, { on = [ "5" ], exec = "tab_switch 4", desc = "Switch to the fifth tab" },
{ on = [ "6" ], exec = "tab_switch 5", desc = "Switch to the sixth tab" }, { on = [ "6" ], exec = "tab_switch 5", desc = "Switch to the sixth tab" },
{ on = [ "7" ], exec = "tab_switch 6", desc = "Switch to the seventh tab" }, { on = [ "7" ], exec = "tab_switch 6", desc = "Switch to the seventh tab" },
{ on = [ "8" ], exec = "tab_switch 7", desc = "Switch to the eighth tab" }, { on = [ "8" ], exec = "tab_switch 7", desc = "Switch to the eighth tab" },
{ on = [ "9" ], exec = "tab_switch 8", desc = "Switch to the ninth tab" }, { on = [ "9" ], exec = "tab_switch 8", desc = "Switch to the ninth tab" },
{ on = [ "[" ], exec = "tab_switch -1 --relative", desc = "Switch to the previous tab" }, { on = [ "[" ], exec = "tab_switch -1 --relative", desc = "Switch to the previous tab" },
{ on = [ "]" ], exec = "tab_switch 1 --relative", desc = "Switch to the next tab" }, { on = [ "]" ], exec = "tab_switch 1 --relative", desc = "Switch to the next tab" },
{ on = [ "{" ], exec = "tab_swap -1", desc = "Swap the current tab with the previous tab" }, { on = [ "{" ], exec = "tab_swap -1", desc = "Swap the current tab with the previous tab" },
{ on = [ "}" ], exec = "tab_swap 1", desc = "Swap the current tab with the next tab" }, { on = [ "}" ], exec = "tab_swap 1", desc = "Swap the current tab with the next tab" },
# Tasks # Tasks
{ on = [ "w" ], exec = "tasks_show", desc = "Show the tasks manager" }, { on = [ "w" ], exec = "tasks_show", desc = "Show the tasks manager" },
# Goto # Goto
{ on = [ "g", "h" ], exec = "cd ~", desc = "Go to the home directory" }, { on = [ "g", "h" ], exec = "cd ~", desc = "Go to the home directory" },
{ on = [ "g", "c" ], exec = "cd ~/.config", desc = "Go to the config directory" }, { on = [ "g", "c" ], exec = "cd ~/.config", desc = "Go to the config directory" },
{ on = [ "g", "d" ], exec = "cd ~/Downloads", desc = "Go to the downloads directory" }, { on = [ "g", "d" ], exec = "cd ~/Downloads", desc = "Go to the downloads directory" },
{ on = [ "g", "t" ], exec = "cd /tmp", desc = "Go to the temporary directory" }, { on = [ "g", "t" ], exec = "cd /tmp", desc = "Go to the temporary directory" },
{ on = [ "g", "<Space>" ], exec = "cd --interactive", desc = "Go to a directory interactively" }, { on = [ "g", "<Space>" ], exec = "cd --interactive", desc = "Go to a directory interactively" },
# Help # Help
{ on = [ "~" ], exec = "help", desc = "Open help" }, { on = [ "~" ], exec = "help", desc = "Open help" },
] ]
[tasks] [tasks]
keymap = [ keymap = [
{ on = [ "<Esc>" ], exec = "close", desc = "Hide the task manager" }, { on = [ "<Esc>" ], exec = "close", desc = "Hide the task manager" },
{ on = [ "<C-q>" ], exec = "close", desc = "Hide the task manager" }, { on = [ "<C-q>" ], exec = "close", desc = "Hide the task manager" },
{ on = [ "w" ], exec = "close", desc = "Hide the task manager" }, { on = [ "w" ], exec = "close", desc = "Hide the task manager" },
{ on = [ "k" ], exec = "arrow -1", desc = "Move cursor up" }, { on = [ "k" ], exec = "arrow -1", desc = "Move cursor up" },
{ on = [ "j" ], exec = "arrow 1", desc = "Move cursor down" }, { on = [ "j" ], exec = "arrow 1", desc = "Move cursor down" },
{ on = [ "<Up>" ], exec = "arrow -1", desc = "Move cursor up" }, { on = [ "<Up>" ], exec = "arrow -1", desc = "Move cursor up" },
{ on = [ "<Down>" ], exec = "arrow 1", desc = "Move cursor down" }, { on = [ "<Down>" ], exec = "arrow 1", desc = "Move cursor down" },
{ on = [ "<Enter>" ], exec = "inspect", desc = "Inspect the task" }, { on = [ "<Enter>" ], exec = "inspect", desc = "Inspect the task" },
{ on = [ "x" ], exec = "cancel", desc = "Cancel the task" }, { on = [ "x" ], exec = "cancel", desc = "Cancel the task" },
{ on = [ "~" ], exec = "help", desc = "Open help" } { on = [ "~" ], exec = "help", desc = "Open help" }
] ]
[select] [select]
keymap = [ keymap = [
{ on = [ "<C-q>" ], exec = "close", desc = "Cancel selection" }, { on = [ "<C-q>" ], exec = "close", desc = "Cancel selection" },
{ on = [ "<Esc>" ], exec = "close", desc = "Cancel selection" }, { on = [ "<Esc>" ], exec = "close", desc = "Cancel selection" },
{ on = [ "<Enter>" ], exec = "close --submit", desc = "Submit the selection" }, { on = [ "<Enter>" ], exec = "close --submit", desc = "Submit the selection" },
{ on = [ "k" ], exec = "arrow -1", desc = "Move cursor up" }, { on = [ "k" ], exec = "arrow -1", desc = "Move cursor up" },
{ on = [ "j" ], exec = "arrow 1", desc = "Move cursor down" }, { on = [ "j" ], exec = "arrow 1", desc = "Move cursor down" },
{ on = [ "K" ], exec = "arrow -5", desc = "Move cursor up 5 lines" }, { on = [ "K" ], exec = "arrow -5", desc = "Move cursor up 5 lines" },
{ on = [ "J" ], exec = "arrow 5", desc = "Move cursor down 5 lines" }, { on = [ "J" ], exec = "arrow 5", desc = "Move cursor down 5 lines" },
{ on = [ "<Up>" ], exec = "arrow -1", desc = "Move cursor up" }, { on = [ "<Up>" ], exec = "arrow -1", desc = "Move cursor up" },
{ on = [ "<Down>" ], exec = "arrow 1", desc = "Move cursor down" }, { on = [ "<Down>" ], exec = "arrow 1", desc = "Move cursor down" },
{ on = [ "~" ], exec = "help", desc = "Open help" } { on = [ "~" ], exec = "help", desc = "Open help" }
] ]
[input] [input]
keymap = [ keymap = [
{ on = [ "<C-q>" ], exec = "close", desc = "Cancel input" }, { on = [ "<C-q>" ], exec = "close", desc = "Cancel input" },
{ on = [ "<Enter>" ], exec = "close --submit", desc = "Submit the input" }, { on = [ "<Enter>" ], exec = "close --submit", desc = "Submit the input" },
{ on = [ "<Esc>" ], exec = "escape", desc = "Go back the normal mode, or cancel input" }, { on = [ "<Esc>" ], exec = "escape", desc = "Go back the normal mode, or cancel input" },
{ on = [ "<Backspace>" ], exec = "backspace" }, { on = [ "<Backspace>" ], exec = "backspace" },
# Mode # Mode
{ on = [ "i" ], exec = "insert", desc = "Enter insert mode" }, { on = [ "i" ], exec = "insert", desc = "Enter insert mode" },
{ on = [ "a" ], exec = "insert --append", desc = "Enter append mode" }, { on = [ "a" ], exec = "insert --append", desc = "Enter append mode" },
{ on = [ "v" ], exec = "visual", desc = "Enter visual mode" }, { on = [ "v" ], exec = "visual", desc = "Enter visual mode" },
{ on = [ "V" ], exec = [ "move -999", "visual", "move 999" ], desc = "Enter visual mode and select all" }, { on = [ "V" ], exec = [ "move -999", "visual", "move 999" ], desc = "Enter visual mode and select all" },
# Navigation # Navigation
{ on = [ "h" ], exec = "move -1", desc = "Move cursor left" }, { on = [ "h" ], exec = "move -1", desc = "Move cursor left" },
{ on = [ "l" ], exec = "move 1", desc = "Move cursor right" }, { on = [ "l" ], exec = "move 1", desc = "Move cursor right" },
{ on = [ "0" ], exec = "move -999", desc = "Move to the BOL" }, { on = [ "0" ], exec = "move -999", desc = "Move to the BOL" },
{ on = [ "$" ], exec = "move 999", desc = "Move to the EOL" }, { on = [ "$" ], exec = "move 999", desc = "Move to the EOL" },
{ on = [ "I" ], exec = [ "move -999", "insert" ], desc = "Move to the BOL, and enter insert mode" }, { on = [ "I" ], exec = [ "move -999", "insert" ], desc = "Move to the BOL, and enter insert mode" },
{ on = [ "A" ], exec = [ "move 999", "insert --append" ], desc = "Move to the EOL, and enter append mode" }, { on = [ "A" ], exec = [ "move 999", "insert --append" ], desc = "Move to the EOL, and enter append mode" },
{ on = [ "<Left>" ], exec = "move -1", desc = "Move cursor left" }, { on = [ "<Left>" ], exec = "move -1", desc = "Move cursor left" },
{ on = [ "<Right>" ], exec = "move 1", desc = "Move cursor right" }, { on = [ "<Right>" ], exec = "move 1", desc = "Move cursor right" },
{ on = [ "b" ], exec = "backward", desc = "Move to the beginning of the previous word" }, { on = [ "b" ], exec = "backward", desc = "Move to the beginning of the previous word" },
{ on = [ "w" ], exec = "forward", desc = "Move to the beginning of the next word" }, { on = [ "w" ], exec = "forward", desc = "Move to the beginning of the next word" },
{ on = [ "e" ], exec = "forward --end-of-word", desc = "Move to the end of the next word" }, { on = [ "e" ], exec = "forward --end-of-word", desc = "Move to the end of the next word" },
# Deletion # Deletion
{ on = [ "d" ], exec = "delete --cut", desc = "Cut the selected characters" }, { on = [ "d" ], exec = "delete --cut", desc = "Cut the selected characters" },
{ on = [ "D" ], exec = [ "delete --cut", "move 999" ], desc = "Cut until the EOL" }, { on = [ "D" ], exec = [ "delete --cut", "move 999" ], desc = "Cut until the EOL" },
{ on = [ "c" ], exec = "delete --cut --insert", desc = "Cut the selected characters, and enter insert mode" }, { on = [ "c" ], exec = "delete --cut --insert", desc = "Cut the selected characters, and enter insert mode" },
{ on = [ "C" ], exec = [ "delete --cut --insert", "move 999" ], desc = "Cut until the EOL, and enter insert mode" }, { on = [ "C" ], exec = [ "delete --cut --insert", "move 999" ], desc = "Cut until the EOL, and enter insert mode" },
{ on = [ "x" ], exec = [ "delete --cut", "move 1 --in-operating" ], desc = "Cut the current character" }, { on = [ "x" ], exec = [ "delete --cut", "move 1 --in-operating" ], desc = "Cut the current character" },
# Yank/Paste # Yank/Paste
{ on = [ "y" ], exec = "yank", desc = "Copy the selected characters" }, { on = [ "y" ], exec = "yank", desc = "Copy the selected characters" },
{ on = [ "p" ], exec = "paste", desc = "Paste the copied characters after the cursor" }, { on = [ "p" ], exec = "paste", desc = "Paste the copied characters after the cursor" },
{ on = [ "P" ], exec = "paste --before", desc = "Paste the copied characters before the cursor" }, { on = [ "P" ], exec = "paste --before", desc = "Paste the copied characters before the cursor" },
# Undo/Redo # Undo/Redo
{ on = [ "u" ], exec = "undo", desc = "Undo the last operation" }, { on = [ "u" ], exec = "undo", desc = "Undo the last operation" },
{ on = [ "<C-r>" ], exec = "redo", desc = "Redo the last operation" }, { on = [ "<C-r>" ], exec = "redo", desc = "Redo the last operation" },
# Help # Help
{ on = [ "~" ], exec = "help", desc = "Open help" } { on = [ "~" ], exec = "help", desc = "Open help" }
] ]
[help] [help]
keymap = [ keymap = [
{ on = [ "<Esc>" ], exec = "escape", desc = "Clear the filter, or hide the help" }, { on = [ "<Esc>" ], exec = "escape", desc = "Clear the filter, or hide the help" },
{ on = [ "q" ], exec = "close", desc = "Exit the process" }, { on = [ "q" ], exec = "close", desc = "Exit the process" },
{ on = [ "<C-q>" ], exec = "close", desc = "Hide the help" }, { on = [ "<C-q>" ], exec = "close", desc = "Hide the help" },
# Navigation # Navigation
{ on = [ "k" ], exec = "arrow -1", desc = "Move cursor up" }, { on = [ "k" ], exec = "arrow -1", desc = "Move cursor up" },
{ on = [ "j" ], exec = "arrow 1", desc = "Move cursor down" }, { on = [ "j" ], exec = "arrow 1", desc = "Move cursor down" },
{ on = [ "K" ], exec = "arrow -5", desc = "Move cursor up 5 lines" }, { on = [ "K" ], exec = "arrow -5", desc = "Move cursor up 5 lines" },
{ on = [ "J" ], exec = "arrow 5", desc = "Move cursor down 5 lines" }, { on = [ "J" ], exec = "arrow 5", desc = "Move cursor down 5 lines" },
{ on = [ "<Up>" ], exec = "arrow -1", desc = "Move cursor up" }, { on = [ "<Up>" ], exec = "arrow -1", desc = "Move cursor up" },
{ on = [ "<Down>" ], exec = "arrow 1", desc = "Move cursor down" }, { on = [ "<Down>" ], exec = "arrow 1", desc = "Move cursor down" },
# Filtering # Filtering
{ on = [ "/" ], exec = "filter", desc = "Apply a filter for the help items" }, { on = [ "/" ], exec = "filter", desc = "Apply a filter for the help items" },
] ]

View file

@ -125,25 +125,25 @@ footer = { fg = "black", bg = "white" }
[filetype] [filetype]
rules = [ rules = [
# Images # Images
{ mime = "image/*", fg = "cyan" }, { mime = "image/*", fg = "cyan" },
# Videos # Videos
{ mime = "video/*", fg = "yellow" }, { mime = "video/*", fg = "yellow" },
{ mime = "audio/*", fg = "yellow" }, { mime = "audio/*", fg = "yellow" },
# Archives # Archives
{ mime = "application/zip", fg = "magenta" }, { mime = "application/zip", fg = "magenta" },
{ mime = "application/gzip", fg = "magenta" }, { mime = "application/gzip", fg = "magenta" },
{ mime = "application/x-tar", fg = "magenta" }, { mime = "application/x-tar", fg = "magenta" },
{ mime = "application/x-bzip", fg = "magenta" }, { mime = "application/x-bzip", fg = "magenta" },
{ mime = "application/x-bzip2", fg = "magenta" }, { mime = "application/x-bzip2", fg = "magenta" },
{ mime = "application/x-7z-compressed", fg = "magenta" }, { mime = "application/x-7z-compressed", fg = "magenta" },
{ mime = "application/x-rar", fg = "magenta" }, { mime = "application/x-rar", fg = "magenta" },
# Fallback # Fallback
# { name = "*", fg = "white" }, # { name = "*", fg = "white" },
{ name = "*/", fg = "blue" } { name = "*/", fg = "blue" }
] ]
[icons] [icons]

View file

@ -18,44 +18,44 @@ ueberzug_offset = [ 0, 0, 0, 0 ]
[opener] [opener]
edit = [ edit = [
{ exec = '$EDITOR "$@"', block = true, for = "unix" }, { exec = '$EDITOR "$@"', block = true, for = "unix" },
] ]
open = [ open = [
{ exec = 'xdg-open "$@"', desc = "Open", for = "linux" }, { exec = 'xdg-open "$@"', desc = "Open", for = "linux" },
] ]
reveal = [ reveal = [
{ exec = '''exiftool "$1"; echo "Press enter to exit"; read''', block = true, desc = "Show EXIF", for = "unix" }, { exec = '''exiftool "$1"; echo "Press enter to exit"; read''', block = true, desc = "Show EXIF", for = "unix" },
] ]
extract = [ extract = [
{ exec = 'unar "$1"', desc = "Extract here", for = "unix" }, { exec = 'unar "$1"', desc = "Extract here", for = "unix" },
] ]
play = [ play = [
{ exec = 'mpv "$@"', orphan = true, for = "unix" }, { exec = 'mpv "$@"', orphan = true, for = "unix" },
{ exec = '''mediainfo "$1"; echo "Press enter to exit"; read''', block = true, desc = "Show media info", for = "unix" }, { exec = '''mediainfo "$1"; echo "Press enter to exit"; read''', block = true, desc = "Show media info", for = "unix" },
] ]
[open] [open]
rules = [ rules = [
{ name = "*/", use = [ "edit", "open", "reveal" ] }, { name = "*/", use = [ "edit", "open", "reveal" ] },
{ mime = "text/*", use = [ "edit", "reveal" ] }, { mime = "text/*", use = [ "edit", "reveal" ] },
{ mime = "image/*", use = [ "open", "reveal" ] }, { mime = "image/*", use = [ "open", "reveal" ] },
{ mime = "video/*", use = [ "play", "reveal" ] }, { mime = "video/*", use = [ "play", "reveal" ] },
{ mime = "audio/*", use = [ "play", "reveal" ] }, { mime = "audio/*", use = [ "play", "reveal" ] },
{ mime = "inode/x-empty", use = [ "edit", "reveal" ] }, { mime = "inode/x-empty", use = [ "edit", "reveal" ] },
{ mime = "application/json", use = [ "edit", "reveal" ] }, { mime = "application/json", use = [ "edit", "reveal" ] },
{ mime = "*/javascript", use = [ "edit", "reveal" ] }, { mime = "*/javascript", use = [ "edit", "reveal" ] },
{ mime = "application/zip", use = [ "extract", "reveal" ] }, { mime = "application/zip", use = [ "extract", "reveal" ] },
{ mime = "application/gzip", use = [ "extract", "reveal" ] }, { mime = "application/gzip", use = [ "extract", "reveal" ] },
{ mime = "application/x-tar", use = [ "extract", "reveal" ] }, { mime = "application/x-tar", use = [ "extract", "reveal" ] },
{ mime = "application/x-bzip", use = [ "extract", "reveal" ] }, { mime = "application/x-bzip", use = [ "extract", "reveal" ] },
{ mime = "application/x-bzip2", use = [ "extract", "reveal" ] }, { mime = "application/x-bzip2", use = [ "extract", "reveal" ] },
{ mime = "application/x-7z-compressed", use = [ "extract", "reveal" ] }, { mime = "application/x-7z-compressed", use = [ "extract", "reveal" ] },
{ mime = "application/x-rar", use = [ "extract", "reveal" ] }, { mime = "application/x-rar", use = [ "extract", "reveal" ] },
{ mime = "*", use = [ "open", "reveal" ] }, { mime = "*", use = [ "open", "reveal" ] },
] ]
[tasks] [tasks]

View file

@ -13,20 +13,20 @@
#set important shell variables #set important shell variables
#set default editor and pager. #set default editor and pager.
export EDITOR=nvim export EDITOR=nvim
export VISUAL=nvim export VISUAL=nvim
export PAGER=less export PAGER=less
#default options for less #default options for less
export LESS="-R" export LESS="-R"
export LESSHISTFILE="/dev/null" export LESSHISTFILE="/dev/null"
#set the w3m homepage #set the w3m homepage
export WWW_HOME="duckduckgo.com/lite/" export WWW_HOME="duckduckgo.com/lite/"
#set ssh-agent to play nice with systemd. #set ssh-agent to play nice with systemd.
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket" export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"
export TIMEFMT="%J %*U user %*S system %P cpu %*E total" export TIMEFMT="%J %*U user %*S system %P cpu %*E total"
export PIPENV_VENV_IN_PROJECT=true export PIPENV_VENV_IN_PROJECT=true
export POETRY_VIRTUALENVS_IN_PROJECT=true export POETRY_VIRTUALENVS_IN_PROJECT=true
#test that these nonstandard paths exist before adding to PATH. #test that these nonstandard paths exist before adding to PATH.
testPath="$HOME/.local/bin" testPath="$HOME/.local/bin"
[ -d "$testPath" ] && export PATH="$PATH:$testPath" [ -d "$testPath" ] && export PATH="$PATH:$testPath"
@ -37,159 +37,159 @@
#prompt #prompt
setprompt() { setprompt() {
autoload -U promptinit autoload -U promptinit
promptinit promptinit
autoload -U colors autoload -U colors
colors colors
#stuff to show git things. #stuff to show git things.
autoload -Uz vcs_info autoload -Uz vcs_info
setopt prompt_subst setopt prompt_subst
precmd_vcs() {vcs_info} precmd_vcs() {vcs_info}
#when not in a repo, show full path to current directory. when in one, show path from base direcory of the repo. #when not in a repo, show full path to current directory. when in one, show path from base direcory of the repo.
zstyle ':vcs_info:*' nvcsformats '%~' zstyle ':vcs_info:*' nvcsformats '%~'
zstyle ':vcs_info:*' formats '%r/%S %F{green}[%b]%f' zstyle ':vcs_info:*' formats '%r/%S %F{green}[%b]%f'
zstyle ':vcs_info:*' actionformats '%r/%S %F{green}[%b] %F{red}<%a>%f' zstyle ':vcs_info:*' actionformats '%r/%S %F{green}[%b] %F{red}<%a>%f'
#the precmd function, called just before printing the prompt. #the precmd function, called just before printing the prompt.
function precmd() { function precmd() {
precmd_vcs precmd_vcs
} }
#Make the right prompt blank, just to be sure. #Make the right prompt blank, just to be sure.
RPROMPT='' RPROMPT=''
#on the top line, show a whole bunch of info. botton line should be as minimal as possilbe (just a single char to input next to...) #on the top line, show a whole bunch of info. botton line should be as minimal as possilbe (just a single char to input next to...)
PROMPT=$'%F{cyan}[%n@%m]%f%F{red}├────┤%f${vcs_info_msg_0_} %F{white}[%D %T]%f\n»' PROMPT=$'%F{cyan}[%n@%m]%f%F{red}├────┤%f${vcs_info_msg_0_} %F{white}[%D %T]%f\n»'
} }
#starship if its installed, otherwise the prompt we just defined. #starship if its installed, otherwise the prompt we just defined.
command -v starship &> /dev/null && eval "$(starship init zsh)" || setprompt command -v starship &> /dev/null && eval "$(starship init zsh)" || setprompt
#show dots while waiting for tab-completion #show dots while waiting for tab-completion
expand-or-complete-with-dots() { expand-or-complete-with-dots() {
# toggle line-wrapping off and back on again # toggle line-wrapping off and back on again
[[ -n "$terminfo[rmam]" && -n "$terminfo[smam]" ]] && echoti rmam [[ -n "$terminfo[rmam]" && -n "$terminfo[smam]" ]] && echoti rmam
print -Pn "%{%F{red}......%f%}" print -Pn "%{%F{red}......%f%}"
[[ -n "$terminfo[rmam]" && -n "$terminfo[smam]" ]] && echoti smam [[ -n "$terminfo[rmam]" && -n "$terminfo[smam]" ]] && echoti smam
zle expand-or-complete zle expand-or-complete
zle redisplay zle redisplay
} }
zle -N expand-or-complete-with-dots zle -N expand-or-complete-with-dots
bindkey "^I" expand-or-complete-with-dots bindkey "^I" expand-or-complete-with-dots
# editing stuff # editing stuff
# Enable the ZLE line editor, which is default behavior, but to be sure # Enable the ZLE line editor, which is default behavior, but to be sure
setopt ZLE setopt ZLE
#Enable vi mode for the ZLE. it should be set by default due to our EDITOR and VISUAL, but this is just to be safe. #Enable vi mode for the ZLE. it should be set by default due to our EDITOR and VISUAL, but this is just to be safe.
bindkey -v bindkey -v
#allow backspacing beyond the point you entered insert mode: #allow backspacing beyond the point you entered insert mode:
bindkey -v '^?' backward-delete-char bindkey -v '^?' backward-delete-char
bindkey "^W" backward-kill-word bindkey "^W" backward-kill-word
#misc #misc
# Sends cd commands without the need for 'cd' # Sends cd commands without the need for 'cd'
setopt AUTO_CD setopt AUTO_CD
# Kill all child processes when we exit, dont leave them running # Kill all child processes when we exit, dont leave them running
unsetopt NO_HUP unsetopt NO_HUP
#Allows comments in interactive shell. #Allows comments in interactive shell.
setopt INTERACTIVE_COMMENTS setopt INTERACTIVE_COMMENTS
# Ctrl+S and Ctrl+Q usually disable/enable tty input. This disables those inputs # Ctrl+S and Ctrl+Q usually disable/enable tty input. This disables those inputs
unsetopt FLOW_CONTROL unsetopt FLOW_CONTROL
mkdir -p ~/.cache/zsh mkdir -p ~/.cache/zsh
local zshCache=~/.cache/zsh local zshCache=~/.cache/zsh
#ZSH history #ZSH history
#make a history file outside our home directory #make a history file outside our home directory
HISTFILE=$zshCache/history HISTFILE=$zshCache/history
#save a lot of history #save a lot of history
SAVEHIST=1000 SAVEHIST=1000
HISTSIZE=1000 HISTSIZE=1000
#save more information in history #save more information in history
setopt EXTENDED_HISTORY setopt EXTENDED_HISTORY
#share history among zsh sessions #share history among zsh sessions
setopt APPEND_HISTORY setopt APPEND_HISTORY
setopt SHARE_HISTORY setopt SHARE_HISTORY
#skip dupes when going through history #skip dupes when going through history
setopt HIST_FIND_NO_DUPS setopt HIST_FIND_NO_DUPS
#delete dupes first when histsize becomes full #delete dupes first when histsize becomes full
setopt HIST_EXPIRE_DUPS_FIRST setopt HIST_EXPIRE_DUPS_FIRST
#dont write dupes of the last command to histfile #dont write dupes of the last command to histfile
setopt HIST_IGNORE_DUPS setopt HIST_IGNORE_DUPS
#write history file as we type #write history file as we type
setopt INC_APPEND_HISTORY setopt INC_APPEND_HISTORY
#remove extra whitespace from history #remove extra whitespace from history
setopt HIST_REDUCE_BLANKS setopt HIST_REDUCE_BLANKS
#autocomplete #autocomplete
autoload -Uz compinit autoload -Uz compinit
compinit compinit
#have the menu highlight while we cycle through options #have the menu highlight while we cycle through options
zstyle ':completion:*' menu select zstyle ':completion:*' menu select
#case insensitive completion #case insensitive completion
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
#allow completion from midword #allow completion from midword
setopt COMPLETE_IN_WORD setopt COMPLETE_IN_WORD
#move cursor to end of word after completing #move cursor to end of word after completing
setopt ALWAYS_TO_END setopt ALWAYS_TO_END
#complete aliases as well #complete aliases as well
setopt COMPLETE_ALIASES setopt COMPLETE_ALIASES
#select first item when you press tab the first time. #select first item when you press tab the first time.
setopt MENU_COMPLETE setopt MENU_COMPLETE
#globbing #globbing
#case insensitive globbing #case insensitive globbing
setopt NO_CASE_GLOB setopt NO_CASE_GLOB
#sort globs that expand to numbers by number rather than alphabeticly #sort globs that expand to numbers by number rather than alphabeticly
setopt NUMERIC_GLOB_SORT setopt NUMERIC_GLOB_SORT
#allows for some neat globbing. #allows for some neat globbing.
setopt EXTENDED_GLOB setopt EXTENDED_GLOB
#aliases #aliases
alias vim="nvim" alias vim="nvim"
alias vimdiff="nvim -d" alias vimdiff="nvim -d"
alias mutt="neomutt" alias mutt="neomutt"
alias please='sudo $(fc -ln -1)' alias please='sudo $(fc -ln -1)'
alias la='ls -la' alias la='ls -la'
alias ll='ls -l' alias ll='ls -l'
alias say='espeak -p 10 -s 150 -a 200 2> /dev/null' alias say='espeak -p 10 -s 150 -a 200 2> /dev/null'
alias tmux='tmux -u' alias tmux='tmux -u'
alias pdfmk='latexmk -lualatex -pvc' alias pdfmk='latexmk -lualatex -pvc'
# needs to have a number immediately after it. # needs to have a number immediately after it.
alias slideshow='feh --full-screen --randomize --auto-zoom --recursive --slideshow-delay' alias slideshow='feh --full-screen --randomize --auto-zoom --recursive --slideshow-delay'
# converts all .doc and .docx files in the local directory to pdfs using libreoffice # converts all .doc and .docx files in the local directory to pdfs using libreoffice
alias doc2pdf='loffice --convert-to pdf --headless *.docx#' alias doc2pdf='loffice --convert-to pdf --headless *.docx#'
#common options for sshfs #common options for sshfs
alias sshmnt='sshfs -o idmap=user,compression=no,reconnect,follow_symlinks,dir_cache=yes,ServerAliveInterval=15' alias sshmnt='sshfs -o idmap=user,compression=no,reconnect,follow_symlinks,dir_cache=yes,ServerAliveInterval=15'
alias pyactivate='source ./.venv/bin/activate' alias pyactivate='source ./.venv/bin/activate'
#setup grep to be a bit more nice #setup grep to be a bit more nice
local GREP_OPTIONS="" local GREP_OPTIONS=""
# color grep results # color grep results
GREP_OPTIONS+=" --color=auto" GREP_OPTIONS+=" --color=auto"
# ignore VCS folders (if the necessary grep flags are available) # ignore VCS folders (if the necessary grep flags are available)
local VCS_FOLDERS="{.bzr,CVS,.git,.hg,.svn}" local VCS_FOLDERS="{.bzr,CVS,.git,.hg,.svn}"
GREP_OPTIONS+=" --exclude-dir=$VCS_FOLDERS" GREP_OPTIONS+=" --exclude-dir=$VCS_FOLDERS"
GREP_OPTIONS+=" --exclude=$VCS_FOLDERS" GREP_OPTIONS+=" --exclude=$VCS_FOLDERS"
# export grep settings # export grep settings
alias grep="grep $GREP_OPTIONS" alias grep="grep $GREP_OPTIONS"
#fzf stuff #fzf stuff
#zsh key bindings (different distros put these in different places.) #zsh key bindings (different distros put these in different places.)
testPath=$(find /usr/share -path '*fzf/*key-bindings.zsh' -print -quit 2> /dev/null) testPath=$(find /usr/share -path '*fzf/*key-bindings.zsh' -print -quit 2> /dev/null)
[ -f "$testPath" ] && source $testPath [ -f "$testPath" ] && source $testPath
#zsh completions, if it exists. #zsh completions, if it exists.
testPath=$(find /usr/share -path '*fzf/*completion.zsh' -print -quit 2> /dev/null) testPath=$(find /usr/share -path '*fzf/*completion.zsh' -print -quit 2> /dev/null)
[ -f "$testPath" ] && source $testPath [ -f "$testPath" ] && source $testPath
#if it was installed using git, can just source the one file: #if it was installed using git, can just source the one file:
testPath="$HOME/.fzf.zsh" testPath="$HOME/.fzf.zsh"
[ -f "$testPath" ] && source $testPath [ -f "$testPath" ] && source $testPath
#zoxide stuff #zoxide stuff
command -v zoxide &> /dev/null && eval "$(zoxide init zsh)" command -v zoxide &> /dev/null && eval "$(zoxide init zsh)"
#check for existence of pyenv before setting it up. #check for existence of pyenv before setting it up.
if command -v pyenv &> /dev/null; then if command -v pyenv &> /dev/null; then