urxvt clipboard/vselect/xdg-open, rewrite color red in terminal, added dunst, added ranger config

clean_emacs
TuDatTr 2019-10-29 13:56:54 +01:00
parent 352b894ce2
commit 92001234c6
24 changed files with 6130 additions and 416 deletions

View File

@ -1,12 +1,12 @@
! urxvt ! urxvt
! Fonts ! Fonts
urxvt*font: xft:Hack Nerd Font Mono:style=Regular:size=11:hinting=full, xft:DejaVu Sans Mono for Powerline:size=11 urxvt*font: xft:Hack Nerd Font Mono:style=Regular:size=11:hinting=full, xft:DejaVu Sans Mono for Powerline:size=11, xtf:Noto Color Emoji:style=Regular:size=11
! Behavior ! Behavior
urxvt*scrollBar: false urxvt*scrollBar: false
! Plugins ! Plugins
URxvt.perl-ext: default,matcher,resize-font,tabbed URxvt.perl-ext: default,matcher,resize-font,tabbed,keyboard-select
! Matcher ! Matcher
URxvt.url-launcher: /usr/bin/xdg-open URxvt.url-launcher: /usr/bin/xdg-open
@ -14,3 +14,7 @@ URxvt.matcher.button: 1
! Tabs ! Tabs
URxvt.tabbed.new-button: false URxvt.tabbed.new-button: false
! Keyboard-select
URxvt.keysym.M-Escape: perl:keyboard-select:activate
URxvt.keyboard-select.clipboard: true

View File

@ -9,7 +9,7 @@
! red ! red
*.color1: #8b8b8b *.color1: #8b8b8b
*.color9: #8b8b8b *.color9: #e91e63
! green ! green
*.color2: #237885 *.color2: #237885
@ -34,3 +34,4 @@
! white ! white
*.color7: #98abb2 *.color7: #98abb2
*.color15: #c0bfbc *.color15: #c0bfbc

View File

@ -107,7 +107,7 @@ exec --no-startup-id conky -c ~/.conky/syclo-crimson-bottomleft.conkyrc
exec --no-startup-id urxvtd exec --no-startup-id urxvtd
exec --no-startup-id synergyc -f --no-tray --debug INFO --name genesis --enable-crypto 192.168.178.38:24800 exec --no-startup-id synergyc -f --no-tray --debug INFO --name genesis --enable-crypto 192.168.178.38:24800
exec --no-startup-id dunst exec --no-startup-id dunst
exec --no-startup-id ~/.scripts/language_switch.sh exec --no-startup-id ~/.scripts/startup.sh
exec --no-startup-id /home/tuan/workspace/go/monthlyLedger/main /home/tuan/Templates/ledger/* exec --no-startup-id /home/tuan/workspace/go/monthlyLedger/main /home/tuan/Templates/ledger/*
############################################################################### ###############################################################################
@ -133,9 +133,9 @@ bindsym XF86MonBrightnessUp exec "xbacklight -inc 10; notify-send 'brightness up
bindsym XF86MonBrightnessDown exec "xbacklight -dec 10; notify-send 'brightness down'" bindsym XF86MonBrightnessDown exec "xbacklight -dec 10; notify-send 'brightness down'"
# Pulse Audio controls # Pulse Audio controls
bindsym XF86AudioRaiseVolume exec --no-startup-id "pactl set-sink-volume 0 +5%; notify-send 'sound up'" bindsym XF86AudioRaiseVolume exec --no-startup-id "pactl set-sink-volume $(pactl info | grep 'Default Sink' | cut -d' ' -f3) +5%; notify-send 'sound up'"
bindsym XF86AudioLowerVolume exec --no-startup-id "pactl set-sink-volume 0 -5%; notify-send 'sound down'" bindsym XF86AudioLowerVolume exec --no-startup-id "pactl set-sink-volume $(pactl info | grep 'Default Sink' | cut -d' ' -f3) -5%; notify-send 'sound down'"
bindsym XF86AudioMute exec --no-startup-id "pactl set-sink-mute 0 toggle; notify-end 'sound muted'" bindsym XF86AudioMute exec --no-startup-id "pactl set-sink-mute $(pactl info | grep 'Default Sink' | cut -d' ' -f3) toggle; notify-end 'sound muted'"
bindsym XF86AudioPlay exec "playerctl play-pause; cmus-remote -u" bindsym XF86AudioPlay exec "playerctl play-pause; cmus-remote -u"
bindsym XF86AudioStop exec "playerctl stop; cmus-remote -s" bindsym XF86AudioStop exec "playerctl stop; cmus-remote -s"
bindsym XF86AudioNext exec "playerctl next; cmus-remote -n" bindsym XF86AudioNext exec "playerctl next; cmus-remote -n"

View File

@ -0,0 +1,48 @@
from __future__ import (absolute_import, division, print_function)
import os
from ranger.api.commands import Command
class my_edit(Command):
# The so-called doc-string of the class will be visible in the built-in
# help that is accessible by typing "?c" inside ranger.
""":my_edit <filename>
A sample command for demonstration purposes that opens a file in an editor.
"""
# The execute method is called when you run this command in ranger.
def execute(self):
# self.arg(1) is the first (space-separated) argument to the function.
# This way you can write ":my_edit somefilename<ENTER>".
if self.arg(1):
# self.rest(1) contains self.arg(1) and everything that follows
target_filename = self.rest(1)
else:
# self.fm is a ranger.core.filemanager.FileManager object and gives
# you access to internals of ranger.
# self.fm.thisfile is a ranger.container.file.File object and is a
# reference to the currently selected file.
target_filename = self.fm.thisfile.path
# This is a generic function to print text in ranger.
self.fm.notify("Let's edit the file " + target_filename + "!")
# Using bad=True in fm.notify allows you to print error messages:
if not os.path.exists(target_filename):
self.fm.notify("The given file does not exist!", bad=True)
return
# This executes a function from ranger.core.acitons, a module with a
# variety of subroutines that can help you construct commands.
# Check out the source, or run "pydoc ranger.core.actions" for a list.
self.fm.edit_file(target_filename)
# The tab method is called when you press tab, and should return a list of
# suggestions that the user will tab through.
# tabnum is 1 for <TAB> and -1 for <S-TAB> by default
def tab(self, tabnum):
# This is a generic tab-completion function that iterates through the
# content of the current directory.
return self._tab_directory_content()

File diff suppressed because it is too large Load Diff

View File

@ -9,3 +9,4 @@ map nrg shell cp ~/Templates/LaTeX/Invoice/elektro_invoice.tex Gefeba_Elektr
map nrb shell cp ~/Templates/LaTeX/Invoice/engineering_invoice.tex Gefeba_Engineering_-_Rechnung_$(date +%g-%m)_-Engineering.tex; ~/Templates/LaTeX/Invoice/InvNum.sh map nrb shell cp ~/Templates/LaTeX/Invoice/engineering_invoice.tex Gefeba_Engineering_-_Rechnung_$(date +%g-%m)_-Engineering.tex; ~/Templates/LaTeX/Invoice/InvNum.sh
map nu shell touch L_$(basename %f .pdf)\.md map nu shell touch L_$(basename %f .pdf)\.md
map ntu shell cp ~/Templates/LaTeX/UniversityAssignmets/assignment.tex . map ntu shell cp ~/Templates/LaTeX/UniversityAssignmets/assignment.tex .
map nw shell sed "s/# $/# $(pwd | rev | cut -d/ -f1 | rev)/" ~/Templates/writeup.md > ./writeup.md

View File

@ -0,0 +1,207 @@
#-------------------------------------------
# Websites
#-------------------------------------------
# Rarely installed browsers get higher priority; It is assumed that if you
# install a rare browser, you probably use it. Firefox/konqueror/w3m on the
# other hand are often only installed as fallback browsers.
ext x?html?, has surf, X, flag f = surf -- file://"$1"
ext x?html?, has vimprobable, X, flag f = vimprobable -- "$@"
ext x?html?, has vimprobable2, X, flag f = vimprobable2 -- "$@"
ext x?html?, has qutebrowser, X, flag f = qutebrowser -- "$@"
ext x?html?, has dwb, X, flag f = dwb -- "$@"
ext x?html?, has jumanji, X, flag f = jumanji -- "$@"
ext x?html?, has luakit, X, flag f = luakit -- "$@"
ext x?html?, has uzbl, X, flag f = uzbl -- "$@"
ext x?html?, has uzbl-tabbed, X, flag f = uzbl-tabbed -- "$@"
ext x?html?, has uzbl-browser, X, flag f = uzbl-browser -- "$@"
ext x?html?, has uzbl-core, X, flag f = uzbl-core -- "$@"
ext x?html?, has midori, X, flag f = midori -- "$@"
ext x?html?, has chromium-browser, X, flag f = chromium-browser -- "$@"
ext x?html?, has chromium, X, flag f = chromium -- "$@"
ext x?html?, has google-chrome, X, flag f = google-chrome -- "$@"
ext x?html?, has opera, X, flag f = opera -- "$@"
ext x?html?, has firefox, X, flag f = firefox -- "$@"
ext x?html?, has seamonkey, X, flag f = seamonkey -- "$@"
ext x?html?, has iceweasel, X, flag f = iceweasel -- "$@"
ext x?html?, has epiphany, X, flag f = epiphany -- "$@"
ext x?html?, has konqueror, X, flag f = konqueror -- "$@"
ext x?html?, has elinks, terminal = elinks "$@"
ext x?html?, has links2, terminal = links2 "$@"
ext x?html?, has links, terminal = links "$@"
ext x?html?, has lynx, terminal = lynx -- "$@"
ext x?html?, has w3m, terminal = w3m "$@"
#-------------------------------------------
# Misc
#-------------------------------------------
# Define the "editor" for text files as first action
mime ^text, label editor = ${VISUAL:-$EDITOR} -- "$@"
mime ^text, label pager = "$PAGER" -- "$@"
!mime ^text, label editor, ext xml|json|csv|tex|py|pl|rb|js|sh|php|rs = ${VISUAL:-$EDITOR} -- "$@"
!mime ^text, label pager, ext xml|json|csv|tex|py|pl|rb|js|sh|php|rs = "$PAGER" -- "$@"
ext 1 = man "$1"
ext s[wmf]c, has zsnes, X = zsnes "$1"
ext s[wmf]c, has snes9x-gtk,X = snes9x-gtk "$1"
ext nes, has fceux, X = fceux "$1"
ext exe = wine "$1"
name ^[mM]akefile$ = make
#--------------------------------------------
# Code
#-------------------------------------------
ext py = python -- "$1"
ext pl = perl -- "$1"
ext rb = ruby -- "$1"
ext js = node -- "$1"
ext sh = sh -- "$1"
ext php = php -- "$1"
ext rs = rs -- "$1"
#--------------------------------------------
# Audio without X
#-------------------------------------------
mime ^audio|ogg$, terminal, has mpv = mpv -- "$@"
mime ^audio|ogg$, terminal, has mplayer2 = mplayer2 -- "$@"
mime ^audio|ogg$, terminal, has mplayer = mplayer -- "$@"
ext midi?, terminal, has wildmidi = wildmidi -- "$@"
#--------------------------------------------
# Video/Audio with a GUI
#-------------------------------------------
mime ^video|audio, has gmplayer, X, flag f = gmplayer -- "$@"
mime ^video|audio, has smplayer, X, flag f = smplayer "$@"
mime ^video, has mpv, X, flag f = mpv -- "$@"
mime ^video, has mpv, X, flag f = mpv --fs -- "$@"
mime ^video, has mplayer2, X, flag f = mplayer2 -- "$@"
mime ^video, has mplayer2, X, flag f = mplayer2 -fs -- "$@"
mime ^video, has mplayer, X, flag f = mplayer -- "$@"
mime ^video, has mplayer, X, flag f = mplayer -fs -- "$@"
mime ^video|audio, has vlc, X, flag f = vlc -- "$@"
mime ^video|audio, has totem, X, flag f = totem -- "$@"
mime ^video|audio, has totem, X, flag f = totem --fullscreen -- "$@"
#--------------------------------------------
# Video without X:
#-------------------------------------------
mime ^video, terminal, !X, has mpv = mpv -- "$@"
mime ^video, terminal, !X, has mplayer2 = mplayer2 -- "$@"
mime ^video, terminal, !X, has mplayer = mplayer -- "$@"
#-------------------------------------------
# Documents
#-------------------------------------------
ext pdf, has llpp, X, flag f = llpp "$@"
ext pdf, has zathura, X, flag f = zathura -- "$@"
ext pdf, has mupdf, X, flag f = mupdf "$@"
ext pdf, has mupdf-x11,X, flag f = mupdf-x11 "$@"
ext pdf, has apvlv, X, flag f = apvlv -- "$@"
ext pdf, has xpdf, X, flag f = xpdf -- "$@"
ext pdf, has evince, X, flag f = evince -- "$@"
ext pdf, has atril, X, flag f = atril -- "$@"
ext pdf, has okular, X, flag f = okular -- "$@"
ext pdf, has epdfview, X, flag f = epdfview -- "$@"
ext pdf, has qpdfview, X, flag f = qpdfview "$@"
ext pdf, has open, X, flag f = open "$@"
ext docx?, has catdoc, terminal = catdoc -- "$@" | "$PAGER"
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has gnumeric, X, flag f = gnumeric -- "$@"
ext sxc|xlsx?|xlt|xlw|gnm|gnumeric, has kspread, X, flag f = kspread -- "$@"
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has libreoffice, X, flag f = libreoffice "$@"
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has soffice, X, flag f = soffice "$@"
ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has ooffice, X, flag f = ooffice "$@"
ext djvu, has zathura,X, flag f = zathura -- "$@"
ext djvu, has evince, X, flag f = evince -- "$@"
ext djvu, has atril, X, flag f = atril -- "$@"
ext djvu, has djview, X, flag f = djview -- "$@"
ext epub, has ebook-viewer, X, flag f = ebook-viewer -- "$@"
ext mobi, has ebook-viewer, X, flag f = ebook-viewer -- "$@"
#-------------------------------------------
# Image Viewing:
#-------------------------------------------
mime ^image/svg, has inkscape, X, flag f = inkscape -- "$@"
mime ^image/svg, has display, X, flag f = display -- "$@"
mime ^image, has pqiv, X, flag f = pqiv -- "$@"
mime ^image, has sxiv, X, flag f = sxiv -- "$@"
mime ^image, has feh, X, flag f = feh -- "$@"
mime ^image, has mirage, X, flag f = mirage -- "$@"
mime ^image, has ristretto, X, flag f = ristretto "$@"
mime ^image, has eog, X, flag f = eog -- "$@"
mime ^image, has eom, X, flag f = eom -- "$@"
mime ^image, has nomacs, X, flag f = nomacs -- "$@"
mime ^image, has geeqie, X, flag f = geeqie -- "$@"
mime ^image, has gwenview, X, flag f = gwenview -- "$@"
mime ^image, has gimp, X, flag f = gimp -- "$@"
ext xcf, X, flag f = gimp -- "$@"
#-------------------------------------------
# Archives
#-------------------------------------------
# avoid password prompt by providing empty password
ext 7z, has 7z = 7z -p l "$@" | "$PAGER"
# This requires atool
ext ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool --list --each -- "$@" | "$PAGER"
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --list --each -- "$@" | "$PAGER"
ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz, has atool = atool --extract --each -- "$@"
ext iso|jar|msi|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has atool = atool --extract --each -- "$@"
# Listing and extracting archives without atool:
ext tar|gz|bz2|xz, has tar = tar vvtf "$1" | "$PAGER"
ext tar|gz|bz2|xz, has tar = for file in "$@"; do tar vvxf "$file"; done
ext bz2, has bzip2 = for file in "$@"; do bzip2 -dk "$file"; done
ext zip, has unzip = unzip -l "$1" | less
ext zip, has unzip = for file in "$@"; do unzip -d "${file%.*}" "$file"; done
ext ace, has unace = unace l "$1" | less
ext ace, has unace = for file in "$@"; do unace e "$file"; done
ext rar, has unrar = unrar l "$1" | less
ext rar, has unrar = for file in "$@"; do unrar x "$file"; done
#-------------------------------------------
# Flag t fallback terminals
#-------------------------------------------
# Rarely installed terminal emulators get higher priority; It is assumed that
# if you install a rare terminal emulator, you probably use it.
# gnome-terminal/konsole/xterm on the other hand are often installed as part of
# a desktop environment or as fallback terminal emulators.
mime ^ranger/x-terminal-emulator, has terminology = terminology -e "$@"
mime ^ranger/x-terminal-emulator, has kitty = kitty -- "$@"
mime ^ranger/x-terminal-emulator, has alacritty = alacritty -e "$@"
mime ^ranger/x-terminal-emulator, has sakura = sakura -e "$@"
mime ^ranger/x-terminal-emulator, has lilyterm = lilyterm -e "$@"
#mime ^ranger/x-terminal-emulator, has cool-retro-term = cool-retro-term -e "$@"
mime ^ranger/x-terminal-emulator, has termite = termite -x '"$@"'
#mime ^ranger/x-terminal-emulator, has yakuake = yakuake -e "$@"
mime ^ranger/x-terminal-emulator, has guake = guake -ne "$@"
mime ^ranger/x-terminal-emulator, has tilda = tilda -c "$@"
mime ^ranger/x-terminal-emulator, has st = st -e "$@"
mime ^ranger/x-terminal-emulator, has terminator = terminator -x "$@"
mime ^ranger/x-terminal-emulator, has urxvt = urxvt -e "$@"
mime ^ranger/x-terminal-emulator, has pantheon-terminal = pantheon-terminal -e "$@"
mime ^ranger/x-terminal-emulator, has lxterminal = lxterminal -e "$@"
mime ^ranger/x-terminal-emulator, has mate-terminal = mate-terminal -x "$@"
mime ^ranger/x-terminal-emulator, has xfce4-terminal = xfce4-terminal -x "$@"
mime ^ranger/x-terminal-emulator, has konsole = konsole -e "$@"
mime ^ranger/x-terminal-emulator, has gnome-terminal = gnome-terminal -- "$@"
mime ^ranger/x-terminal-emulator, has xterm = xterm -e "$@"
#-------------------------------------------
# Misc
#-------------------------------------------
label wallpaper, number 11, mime ^image, has feh, X = feh --bg-scale "$1"
label wallpaper, number 12, mime ^image, has feh, X = feh --bg-tile "$1"
label wallpaper, number 13, mime ^image, has feh, X = feh --bg-center "$1"
label wallpaper, number 14, mime ^image, has feh, X = feh --bg-fill "$1"
# Define the editor for non-text files + pager as last action
!mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php|rs = ask
label editor, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php|rs = ${VISUAL:-$EDITOR} -- "$@"
label pager, !mime ^text, !ext xml|json|csv|tex|py|pl|rb|js|sh|php|rs = "$PAGER" -- "$@"
# The very last action, so that it's never triggered accidentally, is to execute a program:
mime application/x-executable = "$1"

216
config/.config/ranger/scope.sh Executable file
View File

@ -0,0 +1,216 @@
#!/usr/bin/env bash
set -o noclobber -o noglob -o nounset -o pipefail
IFS=$'\n'
# If the option `use_preview_script` is set to `true`,
# then this script will be called and its output will be displayed in ranger.
# ANSI color codes are supported.
# STDIN is disabled, so interactive scripts won't work properly
# This script is considered a configuration file and must be updated manually.
# It will be left untouched if you upgrade ranger.
# Meanings of exit codes:
# code | meaning | action of ranger
# -----+------------+-------------------------------------------
# 0 | success | Display stdout as preview
# 1 | no preview | Display no preview at all
# 2 | plain text | Display the plain content of the file
# 3 | fix width | Don't reload when width changes
# 4 | fix height | Don't reload when height changes
# 5 | fix both | Don't ever reload
# 6 | image | Display the image `$IMAGE_CACHE_PATH` points to as an image preview
# 7 | image | Display the file directly as an image
# Script arguments
FILE_PATH="${1}" # Full path of the highlighted file
PV_WIDTH="${2}" # Width of the preview pane (number of fitting characters)
PV_HEIGHT="${3}" # Height of the preview pane (number of fitting characters)
IMAGE_CACHE_PATH="${4}" # Full path that should be used to cache image preview
PV_IMAGE_ENABLED="${5}" # 'True' if image previews are enabled, 'False' otherwise.
FILE_EXTENSION="${FILE_PATH##*.}"
FILE_EXTENSION_LOWER=$(echo ${FILE_EXTENSION} | tr '[:upper:]' '[:lower:]')
# Settings
HIGHLIGHT_SIZE_MAX=262143 # 256KiB
HIGHLIGHT_TABWIDTH=8
HIGHLIGHT_STYLE='pablo'
PYGMENTIZE_STYLE='autumn'
handle_extension() {
case "${FILE_EXTENSION_LOWER}" in
# Archive
a|ace|alz|arc|arj|bz|bz2|cab|cpio|deb|gz|jar|lha|lz|lzh|lzma|lzo|\
rpm|rz|t7z|tar|tbz|tbz2|tgz|tlz|txz|tZ|tzo|war|xpi|xz|Z|zip)
atool --list -- "${FILE_PATH}" && exit 5
bsdtar --list --file "${FILE_PATH}" && exit 5
exit 1;;
rar)
# Avoid password prompt by providing empty password
unrar lt -p- -- "${FILE_PATH}" && exit 5
exit 1;;
7z)
# Avoid password prompt by providing empty password
7z l -p -- "${FILE_PATH}" && exit 5
exit 1;;
# PDF
pdf)
# Preview as text conversion
pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - | fmt -w ${PV_WIDTH} && exit 5
mutool draw -F txt -i -- "${FILE_PATH}" 1-10 | fmt -w ${PV_WIDTH} && exit 5
exiftool "${FILE_PATH}" && exit 5
exit 1;;
# BitTorrent
torrent)
transmission-show -- "${FILE_PATH}" && exit 5
exit 1;;
# OpenDocument
odt|ods|odp|sxw)
# Preview as text conversion
odt2txt "${FILE_PATH}" && exit 5
exit 1;;
# HTML
htm|html|xhtml)
# Preview as text conversion
w3m -dump "${FILE_PATH}" && exit 5
lynx -dump -- "${FILE_PATH}" && exit 5
elinks -dump "${FILE_PATH}" && exit 5
;; # Continue with next handler on failure
esac
}
handle_image() {
local mimetype="${1}"
case "${mimetype}" in
# SVG
# image/svg+xml)
# convert "${FILE_PATH}" "${IMAGE_CACHE_PATH}" && exit 6
# exit 1;;
# Image
image/*)
local orientation
orientation="$( identify -format '%[EXIF:Orientation]\n' -- "${FILE_PATH}" )"
# If orientation data is present and the image actually
# needs rotating ("1" means no rotation)...
if [[ -n "$orientation" && "$orientation" != 1 ]]; then
# ...auto-rotate the image according to the EXIF data.
convert -- "${FILE_PATH}" -auto-orient "${IMAGE_CACHE_PATH}" && exit 6
fi
# `w3mimgdisplay` will be called for all images (unless overriden as above),
# but might fail for unsupported types.
exit 7;;
# Video
# video/*)
# # Thumbnail
# ffmpegthumbnailer -i "${FILE_PATH}" -o "${IMAGE_CACHE_PATH}" -s 0 && exit 6
# exit 1;;
# PDF
# application/pdf)
# pdftoppm -f 1 -l 1 \
# -scale-to-x 1920 \
# -scale-to-y -1 \
# -singlefile \
# -jpeg -tiffcompression jpeg \
# -- "${FILE_PATH}" "${IMAGE_CACHE_PATH%.*}" \
# && exit 6 || exit 1;;
# Preview archives using the first image inside.
# (Very useful for comic book collections for example.)
# application/zip|application/x-rar|application/x-7z-compressed|\
# application/x-xz|application/x-bzip2|application/x-gzip|application/x-tar)
# local fn=""; local fe=""
# local zip=""; local rar=""; local tar=""; local bsd=""
# case "${mimetype}" in
# application/zip) zip=1 ;;
# application/x-rar) rar=1 ;;
# application/x-7z-compressed) ;;
# *) tar=1 ;;
# esac
# { [ "$tar" ] && fn=$(tar --list --file "${FILE_PATH}"); } || \
# { fn=$(bsdtar --list --file "${FILE_PATH}") && bsd=1 && tar=""; } || \
# { [ "$rar" ] && fn=$(unrar lb -p- -- "${FILE_PATH}"); } || \
# { [ "$zip" ] && fn=$(zipinfo -1 -- "${FILE_PATH}"); } || return
#
# fn=$(echo "$fn" | python -c "import sys; import mimetypes as m; \
# [ print(l, end='') for l in sys.stdin if \
# (m.guess_type(l[:-1])[0] or '').startswith('image/') ]" |\
# sort -V | head -n 1)
# [ "$fn" = "" ] && return
# [ "$bsd" ] && fn=$(printf '%b' "$fn")
#
# [ "$tar" ] && tar --extract --to-stdout \
# --file "${FILE_PATH}" -- "$fn" > "${IMAGE_CACHE_PATH}" && exit 6
# fe=$(echo -n "$fn" | sed 's/[][*?\]/\\\0/g')
# [ "$bsd" ] && bsdtar --extract --to-stdout \
# --file "${FILE_PATH}" -- "$fe" > "${IMAGE_CACHE_PATH}" && exit 6
# [ "$bsd" ] || [ "$tar" ] && rm -- "${IMAGE_CACHE_PATH}"
# [ "$rar" ] && unrar p -p- -inul -- "${FILE_PATH}" "$fn" > \
# "${IMAGE_CACHE_PATH}" && exit 6
# [ "$zip" ] && unzip -pP "" -- "${FILE_PATH}" "$fe" > \
# "${IMAGE_CACHE_PATH}" && exit 6
# [ "$rar" ] || [ "$zip" ] && rm -- "${IMAGE_CACHE_PATH}"
# ;;
esac
}
handle_mime() {
local mimetype="${1}"
case "${mimetype}" in
# Text
text/* | */xml)
# Syntax highlight
if [[ "$( stat --printf='%s' -- "${FILE_PATH}" )" -gt "${HIGHLIGHT_SIZE_MAX}" ]]; then
exit 2
fi
if [[ "$( tput colors )" -ge 256 ]]; then
local pygmentize_format='terminal256'
local highlight_format='xterm256'
else
local pygmentize_format='terminal'
local highlight_format='ansi'
fi
highlight --replace-tabs="${HIGHLIGHT_TABWIDTH}" --out-format="${highlight_format}" \
--style="${HIGHLIGHT_STYLE}" --force -- "${FILE_PATH}" && exit 5
# pygmentize -f "${pygmentize_format}" -O "style=${PYGMENTIZE_STYLE}" -- "${FILE_PATH}" && exit 5
exit 2;;
# Image
image/*)
# Preview as text conversion
# img2txt --gamma=0.6 --width="${PV_WIDTH}" -- "${FILE_PATH}" && exit 4
exiftool "${FILE_PATH}" && exit 5
exit 1;;
# Video and audio
video/* | audio/*)
mediainfo "${FILE_PATH}" && exit 5
exiftool "${FILE_PATH}" && exit 5
exit 1;;
esac
}
handle_fallback() {
echo '----- File Type Classification -----' && file --dereference --brief -- "${FILE_PATH}" && exit 5
exit 1
}
MIMETYPE="$( file --dereference --brief --mime-type -- "${FILE_PATH}" )"
if [[ "${PV_IMAGE_ENABLED}" == 'True' ]]; then
handle_image "${MIMETYPE}"
fi
handle_extension
handle_mime "${MIMETYPE}"
handle_fallback
exit 1

View File

@ -4,7 +4,8 @@ o:/home/tuan/.dotfiles/config
m:/run/media/tuan m:/run/media/tuan
a:/home/tuan/Documents/Arbeit a:/home/tuan/Documents/Arbeit
l:/home/tuan/Local l:/home/tuan/Local
c:/home/tuan/workspace_l/Projects/Angular/favorites c:/home/tuan/Documents/CTF/picoCTF
':/run/media/tuan/UWU ':/home/tuan/.dotfiles/config
t:/home/tuan/Templates t:/home/tuan/Templates
w:/home/tuan/workspace_l/Projects w:/home/tuan/workspace_l/Projects
k:/home/tuan/Documents/Fachschaft/Berufungskomission

View File

@ -1,8 +1,6 @@
#!/bin/bash #!/bin/bash
KBD="";
oldKBD=""; function kb_routine {
while :
do
oldKBD="$KBD"; oldKBD="$KBD";
case "$(xset -q | grep -A 0 'LED' | cut -c59-67)" in case "$(xset -q | grep -A 0 'LED' | cut -c59-67)" in
"00000000") "00000000")
@ -15,5 +13,22 @@ do
if [ "$KBD" != "$oldKBD" ]; then if [ "$KBD" != "$oldKBD" ]; then
notify-send "$KBD"; notify-send "$KBD";
fi fi
}
function battery_routine {
capacity=$(< /sys/class/power_supply/BAT0/capacity)
if [[ $capacity -lt 5 ]]; then
echo $capacity
fi
}
KBD="";
oldKBD="";
while :
do
kb_routine
battery_routine
sleep 1; sleep 1;
done done

View File

@ -45,3 +45,9 @@ Host goldi
Port 22 Port 22
User goldi User goldi
IdentityFile /mnt/veracrypt1/goldi IdentityFile /mnt/veracrypt1/goldi
Host picoCTF
HostName 2018shell4.picoctf.com
Port 22
User mos4
IdentityFile "/home/tuan/Documents/CTF/picoCTF/2018/30 - ssh-keyz/picoCTF"

View File

@ -0,0 +1,606 @@
#! perl -w
# Author: Bert Muennich
# Website: http://www.github.com/muennich/urxvt-perls
# License: GPLv2
# Use keyboard shortcuts to select and copy text.
# Usage: put the following lines in your .Xdefaults/.Xresources:
# URxvt.perl-ext-common: ...,keyboard-select
# URxvt.keysym.M-Escape: perl:keyboard-select:activate
# The following line overwrites the default Meta-s binding and allows to
# activate keyboard-select directly in backward search mode:
# URxvt.keysym.M-s: perl:keyboard-select:search
# Use Meta-Escape to activate selection mode, then use the following keys:
# h/j/k/l: Move cursor left/down/up/right (also with arrow keys)
# g/G/0/^/$/H/M/L/f/F/;/,/w/W/b/B/e/E: More vi-like cursor movement keys
# '/'/?: Start forward/backward search
# n/N: Repeat last search, N: in reverse direction
# Ctrl-f/b: Scroll down/up one screen
# Ctrl-d/u: Scroll down/up half a screen
# v/V/Ctrl-v: Toggle normal/linewise/blockwise selection
# y/Return: Copy selection to primary buffer, Return: quit afterwards
# Y: Copy selected lines to primary buffer or cursor line and quit
# q/Escape: Quit keyboard selection mode
# Options:
# URxvt.keyboard-select.clipboard: If true, copy to clipboard too
use strict;
sub on_start{
my ($self) = @_;
$self->{clipboard} = $self->x_resource_boolean('keyboard-select.clipboard');
$self->{patterns}{'w'} = qr/\w[^\w\s]|\W\w|\s\S/;
$self->{patterns}{'W'} = qr/\s\S/;
$self->{patterns}{'b'} = qr/.*(?:\w[^\w\s]|\W\w|\s\S)/;
$self->{patterns}{'B'} = qr/.*\s\S/;
$self->{patterns}{'e'} = qr/[^\w\s](?=\w)|\w(?=\W)|\S(?=\s|$)/;
$self->{patterns}{'E'} = qr/\S(?=\s|$)/;
()
}
sub on_action {
my ($self, $action) = @_;
on_user_command($self, "keyboard-select:" . $action);
}
sub on_user_command {
my ($self, $cmd) = @_;
if (not $self->{active}) {
if ($cmd eq 'keyboard-select:activate') {
activate($self);
} elsif ($cmd eq 'keyboard-select:search') {
activate($self, 1);
}
}
()
}
sub key_press {
my ($self, $event, $keysym, $char) = @_;
my $key = chr($keysym);
if (lc($key) eq 'c' && $event->{state} & urxvt::ControlMask) {
deactivate($self);
} elsif ($self->{search}) {
if ($keysym == 0xff1b) {
if ($self->{search_mode}) {
deactivate($self);
} else {
$self->{search} = '';
status_area($self);
}
} elsif ($keysym == 0xff08) {
$self->{search} = substr($self->{search}, 0, -1);
if (not $self->{search} and $self->{search_mode}) {
deactivate($self);
} else {
status_area($self);
}
} elsif ($keysym == 0xff0d ||
(lc($key) eq 'm' && $event->{state} & urxvt::ControlMask)) {
my $txt = substr($self->{search}, 1);
if ($txt) {
$self->{pattern} = ($txt =~ m/[[:upper:]]/) ? qr/\Q$txt\E/ :
qr/\Q$txt\E/i;
} elsif ($self->{pattern}) {
delete $self->{pattern};
}
$self->{search} = '';
$self->screen_cur($self->{srhcr}, $self->{srhcc});
if (not find_next($self)) {
if ($self->{search_mode}) {
deactivate($self);
} else {
status_area($self);
}
}
} elsif (length($char) > 0) {
$self->{search} .= $self->locale_decode($char);
my $txt = substr($self->{search}, 1);
if ($txt) {
$self->{pattern} = ($txt =~ m/[[:upper:]]/) ? qr/\Q$txt\E/ :
qr/\Q$txt\E/i;
} elsif ($self->{pattern}) {
delete $self->{pattern};
}
$self->screen_cur($self->{srhcr}, $self->{srhcc});
find_next($self);
status_area($self);
}
} elsif ($self->{move_to}) {
if ($keysym == 0xff1b) {
$self->{move_to} = 0;
status_area($self);
} elsif (length($char) > 0) {
$self->{move_to} = 0;
$self->{patterns}{'f-1'} = qr/^.*\Q$key\E/;
$self->{patterns}{'f+1'} = qr/^.+?\Q$key\E/;
move_to($self, ';');
status_area($self);
}
} elsif ($keysym == 0xff1b || lc($key) eq 'q') {
deactivate($self);
} elsif (lc($key) eq 'y' || $keysym == 0xff0d ||
(lc($key) eq 'm' && $event->{state} & urxvt::ControlMask)) {
my $quit = 0;
if ($key eq 'Y' && $self->{select} ne 'l') {
$quit = !$self->{select};
toggle_select($self, 'l');
}
if ($self->{select}) {
my ($br, $bc, $er, $ec) = calc_span($self);
$ec = $self->line($er)->l if $self->{select} eq 'l';
$self->selection_beg($br, $bc);
$self->selection_end($er, $ec);
$self->selection_make($event->{time}, $self->{select} eq 'b');
if ($self->{clipboard}) {
$self->selection($self->selection(), 1);
$self->selection_grab($event->{time}, 1);
}
if (lc($key) eq 'y') {
$self->selection_beg(1, 0);
$self->selection_end(1, 0);
$self->{select} = '';
status_area($self);
$self->want_refresh();
} else {
$quit = 1;
}
}
if ($quit) {
deactivate($self);
}
} elsif ($key eq 'V') {
toggle_select($self, 'l');
} elsif ($key eq 'v') {
if ($event->{state} & urxvt::ControlMask) {
toggle_select($self, 'b');
} else {
toggle_select($self, 'n');
}
} elsif ($key eq 'k' || $keysym == 0xff52) {
move_cursor($self, 'k');
} elsif ($key eq 'j' || $keysym == 0xff54) {
move_cursor($self, 'j');
} elsif ($key eq 'h' || $keysym == 0xff51) {
move_cursor($self, 'h');
} elsif ($key eq 'l' || $keysym == 0xff53) {
move_cursor($self, 'l');
} elsif ($keysym == 0xff57) {
move_cursor($self, '$');
} elsif ($keysym == 0xff50) {
move_cursor($self, '^');
} elsif ('gG0^$HML' =~ m/\Q$key\E/ ||
('fbdu' =~ m/\Q$key\E/ && $event->{state} & urxvt::ControlMask)) {
move_cursor($self, $key);
} elsif (lc($key) eq 'f') {
$self->{move_to} = 1;
$self->{move_dir} = $key eq 'F' ? -1 : 1;
status_area($self, $key);
} elsif (';,wWbBeE' =~ m/\Q$key\E/) {
move_to($self, $key);
} elsif ($key eq '/' || $key eq '?') {
$self->{search} = $key;
$self->{search_dir} = $key eq '?' ? -1 : 1;
($self->{srhcr}, $self->{srhcc}) = $self->screen_cur();
status_area($self);
} elsif (lc($key) eq 'n') {
find_next($self, $self->{search_dir} * ($key eq 'N' ? -1 : 1));
}
return 1;
}
sub move_cursor {
my ($self, $key) = @_;
my ($cr, $cc) = $self->screen_cur();
my $line = $self->line($cr);
if ($key eq 'k' && $line->beg > $self->top_row) {
$cr = $line->beg - 1;
} elsif ($key eq 'j' && $line->end < $self->nrow - 1) {
$cr = $line->end + 1;
} elsif ($key eq 'h' && $self->{offset} > 0) {
$self->{offset} = $line->offset_of($cr, $cc) - 1;
$self->{dollar} = 0;
} elsif ($key eq 'l' && $self->{offset} < $line->l - 1) {
++$self->{offset};
} elsif ($key eq 'f' || $key eq 'd') {
my $vs = $self->view_start() +
($key eq 'd' ? $self->nrow / 2 : $self->nrow - 1);
$vs = 0 if $vs > 0;
$cr += $vs - $self->view_start($vs);
} elsif ($key eq 'b' || $key eq 'u') {
my $vs = $self->view_start() -
($key eq 'u' ? $self->nrow / 2 : $self->nrow - 1);
$vs = $self->top_row if $vs < $self->top_row;
$cr += $vs - $self->view_start($vs);
} elsif ($key eq 'g') {
($cr, $self->{offset}) = ($self->top_row, 0);
$self->{dollar} = 0;
} elsif ($key eq 'G') {
($cr, $self->{offset}) = ($self->nrow - 1, 0);
$self->{dollar} = 0;
} elsif ($key eq '0') {
$self->{offset} = 0;
$self->{dollar} = 0;
} elsif ($key eq '^') {
my $ltxt = $self->special_decode($line->t);
while ($ltxt =~ s/^( *)\t/$1 . " " x (8 - length($1) % 8)/e) {}
$self->{offset} = $ltxt =~ m/^ +/ ? $+[0] : 0;
$self->{dollar} = 0;
} elsif ($key eq '$') {
my $co = $line->offset_of($cr, $cc);
$self->{dollar} = $co + 1;
$self->{offset} = $line->l - 1;
} elsif ($key eq 'H') {
$cr = $self->view_start();
} elsif ($key eq 'M') {
$cr = $self->view_start() + $self->nrow / 2;
} elsif ($key eq 'L') {
$cr = $self->view_start() + $self->nrow - 1;
}
$line = $self->line($cr);
$cc = $self->{dollar} || $self->{offset} >= $line->l ? $line->l - 1 :
$self->{offset};
$self->screen_cur($line->coord_of($cc));
status_area($self);
$self->want_refresh();
()
}
sub move_to {
my ($self, $key) = @_;
my ($cr, $cc) = $self->screen_cur();
my $line = $self->line($cr);
my $offset = $self->{offset};
my ($dir, $pattern);
my ($wrap, $found) = (0, 0);
if ($key eq ';' || $key eq ',') {
$dir = $self->{move_dir} * ($key eq ',' ? -1 : 1);
$pattern = $self->{patterns}{sprintf('f%+d', $dir)};
return if not $pattern;
} else {
if (lc($key) eq 'b') {
$dir = -1;
} else {
$dir = 1;
++$offset if lc($key) eq 'e';
}
$pattern = $self->{patterns}{$key};
$wrap = 1;
}
if ($dir > 0) {
NEXTDOWN: my $text = substr($line->t, $offset);
if ($text =~ m/$pattern/) {
$offset += $+[0] - 1;
$found = 1;
} elsif ($wrap && $line->end + 1 < $self->nrow) {
$cr = $line->end + 1;
$line = $self->line($cr);
$offset = 0;
if (lc($key) eq 'e') {
goto NEXTDOWN;
} else {
$found = 1;
}
}
} elsif ($dir < 0) {
NEXTUP: my $text = substr($line->t, 0, $offset);
if ($text =~ m/$pattern/) {
$offset += $+[0] - length($text) - 1;
$found = 1;
} elsif ($wrap) {
if ($offset > 0) {
$offset = 0;
$found = 1;
} elsif ($line->beg > $self->top_row) {
$cr = $line->beg - 1;
$line = $self->line($cr);
$offset = $line->l;
goto NEXTUP;
}
}
}
if ($found) {
$self->{dollar} = 0;
$self->{offset} = $offset;
$self->screen_cur($line->coord_of($offset));
$self->want_refresh();
}
()
}
sub find_next {
my ($self, $dir) = @_;
return if not $self->{pattern};
$dir = $self->{search_dir} if not $dir;
my ($cr, $cc) = $self->screen_cur();
my $line = $self->line($cr);
my $offset = $line->offset_of($cr, $cc);
my $text;
my $found = 0;
++$offset if $dir > 0;
while (not $found) {
if ($dir > 0) {
$text = substr($line->t, $offset);
if ($text =~ m/$self->{pattern}/) {
$found = 1;
$offset += $-[0];
} else {
last if $line->end >= $self->nrow;
$line = $self->line($line->end + 1);
$offset = 0;
}
} else {
$text = substr($line->t, 0, $offset);
if ($text =~ m/$self->{pattern}/) {
$found = 1;
$offset = $-[0] while $text =~ m/$self->{pattern}/g;
} else {
last if $line->beg <= $self->top_row;
$line = $self->line($line->beg - 1);
$offset = $line->l;
}
}
}
if ($found) {
$self->{dollar} = 0;
$self->{offset} = $offset;
$self->screen_cur($line->coord_of($offset));
status_area($self);
$self->want_refresh();
}
return $found;
}
sub tt_write {
return 1;
}
sub refresh {
my ($self) = @_;
my ($cr, $cc) = $self->screen_cur();
# scroll the current cursor position into visible area
if ($cr < $self->view_start()) {
$self->view_start($cr);
} elsif ($cr >= $self->view_start() + $self->nrow) {
$self->view_start($cr - $self->nrow + 1);
}
if ($self->{select}) {
my ($hl, $reverse_cursor);
my ($br, $bc, $er, $ec) = calc_span($self);
if ($self->x_resource('highlightColor')) {
$hl = urxvt::RS_Sel;
$reverse_cursor = 0;
} else {
$hl = urxvt::RS_RVid;
$reverse_cursor = $self->{select} ne 'l';
}
if ($self->{select} eq 'b') {
my $co = $self->line($cr)->offset_of($cr, $cc);
my $dollar = $self->{dollar} && $co >= $self->{dollar} - 1;
my $r = $br;
while ($r <= $er) {
my $line = $self->line($r);
if ($bc < $line->l) {
$ec = $line->l if $dollar;
my ($br, $bc) = $line->coord_of($bc);
my ($er, $ec) = $line->coord_of($ec <= $line->l ? $ec : $line->l);
$self->scr_xor_span($br, $bc, $er, $ec, $hl);
} elsif ($r == $cr) {
$reverse_cursor = 0;
}
$r = $line->end + 1;
}
} else {
$self->scr_xor_span($br, $bc, $er, $ec, $hl);
}
if ($reverse_cursor) {
# make the cursor visible again
$self->scr_xor_span($cr, $cc, $cr, $cc + 1, $hl);
}
}
()
}
sub activate {
my ($self, $search) = @_;
$self->{active} = 1;
$self->{select} = '';
$self->{dollar} = 0;
$self->{move_to} = 0;
if ($search) {
$self->{search} = '?';
$self->{search_dir} = -1;
$self->{search_mode} = 1;
} else {
$self->{search} = '';
$self->{search_mode} = 0;
}
($self->{oldcr}, $self->{oldcc}) = $self->screen_cur();
($self->{srhcr}, $self->{srhcc}) = $self->screen_cur();
$self->{old_view_start} = $self->view_start();
$self->{old_pty_ev_events} = $self->pty_ev_events(urxvt::EV_NONE);
my $line = $self->line($self->{oldcr});
$self->{offset} = $line->offset_of($self->{oldcr}, $self->{oldcc});
$self->selection_beg(1, 0);
$self->selection_end(1, 0);
$self->enable(
key_press => \&key_press,
refresh_begin => \&refresh,
refresh_end => \&refresh,
tt_write => \&tt_write,
);
if ($self->{offset} >= $line->l) {
$self->{offset} = $line->l > 0 ? $line->l - 1 : 0;
$self->screen_cur($line->coord_of($self->{offset}));
$self->want_refresh();
}
$self->{overlay_len} = 0;
status_area($self);
()
}
sub deactivate {
my ($self) = @_;
$self->selection_beg(1, 0);
$self->selection_end(1, 0);
delete $self->{overlay} if $self->{overlay};
$self->disable("key_press", "refresh_begin", "refresh_end", "tt_write");
$self->screen_cur($self->{oldcr}, $self->{oldcc});
$self->view_start($self->{old_view_start});
$self->pty_ev_events($self->{old_pty_ev_events});
$self->want_refresh();
$self->{active} = 0;
()
}
sub status_area {
my ($self, $extra) = @_;
my ($stat, $stat_len);
if ($self->{search}) {
$stat_len = $self->ncol;
$stat = $self->{search} . ' ' x ($stat_len - length($self->{search}));
} else {
if ($self->{select}) {
$stat = "-V" . ($self->{select} ne 'n' ? uc($self->{select}) : "") . "- ";
}
if ($self->top_row == 0) {
$stat .= "All";
} elsif ($self->view_start() == $self->top_row) {
$stat .= "Top";
} elsif ($self->view_start() == 0) {
$stat .= "Bot";
} else {
$stat .= sprintf("%2d%%",
($self->top_row - $self->view_start) * 100 / $self->top_row);
}
$stat = "$extra $stat" if $extra;
$stat_len = length($stat);
}
if (!$self->{overlay} || $self->{overlay_len} != $stat_len) {
delete $self->{overlay} if $self->{overlay};
$self->{overlay} = $self->overlay(-1, -1, $stat_len, 1,
urxvt::OVERLAY_RSTYLE, 0);
$self->{overlay_len} = $stat_len;
}
$self->{overlay}->set(0, 0, $self->special_encode($stat));
$self->{overlay}->show();
()
}
sub toggle_select {
my ($self, $mode) = @_;
if ($self->{select} eq $mode) {
$self->{select} = '';
} else {
if (not $self->{select}) {
($self->{ar}, $self->{ac}) = $self->screen_cur();
}
$self->{select} = $mode;
}
status_area($self);
$self->want_refresh();
()
}
sub calc_span {
my ($self) = @_;
my ($cr, $cc) = $self->screen_cur();
my ($br, $bc, $er, $ec);
if ($self->{select} eq 'b') {
$br = $self->line($cr)->beg;
$bc = $self->line($cr)->offset_of($cr, $cc);
$er = $self->line($self->{ar})->beg;
$ec = $self->line($self->{ar})->offset_of($self->{ar}, $self->{ac});
($br, $er) = ($er, $br) if $br > $er;
($bc, $ec) = ($ec, $bc) if $bc > $ec;
} else {
if ($cr < $self->{ar}) {
($br, $bc, $er, $ec) = ($cr, $cc, $self->{ar}, $self->{ac});
} elsif ($cr > $self->{ar}) {
($br, $bc, $er, $ec) = ($self->{ar}, $self->{ac}, $cr, $cc);
} else {
($br, $er) = ($cr, $cr);
($bc, $ec) = $cc < $self->{ac} ? ($cc, $self->{ac}) : ($self->{ac}, $cc);
}
}
if ($self->{select} eq 'l') {
($br, $er) = ($self->line($br)->beg, $self->line($er)->end);
($bc, $ec) = (0, $self->ncol);
} else {
++$ec;
}
return ($br, $bc, $er, $ec);
}

View File

@ -1 +1 @@
Pillow==5.0.0 Pillow==6.2.1

1
vim/.vim/.VimballRecord Normal file
View File

@ -0,0 +1 @@
Colorizer.vmb: call delete('/home/tuan/.vim/plugin/ColorizerPlugin.vim')|call delete('/home/tuan/.vim/doc/Colorizer.txt')|call delete('/home/tuan/.vim/autoload/Colorizer.vim')

File diff suppressed because it is too large Load Diff

View File

@ -1,395 +0,0 @@
let SessionLoad = 1
if &cp | set nocp | endif
map  :!clear; python %
noremap  :tabedit
nnoremap  
let s:cpo_save=&cpo
set cpo&vim
nnoremap <NL> <NL>
nnoremap  
nnoremap  
nnoremap  :later
omap <silent> % <Plug>(MatchitOperationForward)
xmap <silent> % <Plug>(MatchitVisualForward)
nmap <silent> % <Plug>(MatchitNormalForward)
nmap 0 ^
nnoremap J :bn
nnoremap K :bp
map Q gq
noremap Y "+y
omap <silent> [% <Plug>(MatchitOperationMultiBackward)
xmap <silent> [% <Plug>(MatchitVisualMultiBackward)
nmap <silent> [% <Plug>(MatchitNormalMultiBackward)
nnoremap \ctf :-read $HOME/.vim/skeleton/writeup.md A
omap <silent> ]% <Plug>(MatchitOperationMultiForward)
xmap <silent> ]% <Plug>(MatchitVisualMultiForward)
nmap <silent> ]% <Plug>(MatchitNormalMultiForward)
xmap a% <Plug>(MatchitVisualTextObject)
vmap gx <Plug>NetrwBrowseXVis
nmap gx <Plug>NetrwBrowseX
omap <silent> g% <Plug>(MatchitOperationBackward)
xmap <silent> g% <Plug>(MatchitVisualBackward)
nmap <silent> g% <Plug>(MatchitNormalBackward)
vnoremap <silent> <Plug>NetrwBrowseXVis :call netrw#BrowseXVis()
nnoremap <silent> <Plug>NetrwBrowseX :call netrw#BrowseX(expand((exists("g:netrw_gx")? g:netrw_gx : '<cfile>')),netrw#CheckIfRemote())
noremap <F1> :ter
vmap <silent> <Plug>(MatchitVisualTextObject) <Plug>(MatchitVisualMultiBackward)o<Plug>(MatchitVisualMultiForward)
onoremap <silent> <Plug>(MatchitOperationMultiForward) :call matchit#MultiMatch("W", "o")
onoremap <silent> <Plug>(MatchitOperationMultiBackward) :call matchit#MultiMatch("bW", "o")
vnoremap <silent> <Plug>(MatchitVisualMultiForward) :call matchit#MultiMatch("W", "n") m'gv``
vnoremap <silent> <Plug>(MatchitVisualMultiBackward) :call matchit#MultiMatch("bW", "n") m'gv``
nnoremap <silent> <Plug>(MatchitNormalMultiForward) :call matchit#MultiMatch("W", "n")
nnoremap <silent> <Plug>(MatchitNormalMultiBackward) :call matchit#MultiMatch("bW", "n")
onoremap <silent> <Plug>(MatchitOperationBackward) :call matchit#Match_wrapper('',0,'o')
onoremap <silent> <Plug>(MatchitOperationForward) :call matchit#Match_wrapper('',1,'o')
vnoremap <silent> <Plug>(MatchitVisualBackward) :call matchit#Match_wrapper('',0,'v') m'gv``
vnoremap <silent> <Plug>(MatchitVisualForward) :call matchit#Match_wrapper('',1,'v') m'gv``
nnoremap <silent> <Plug>(MatchitNormalBackward) :call matchit#Match_wrapper('',0,'n')
nnoremap <silent> <Plug>(MatchitNormalForward) :call matchit#Match_wrapper('',1,'n')
inoremap  u
inoremap A" Ä
inoremap O" Ö
inoremap U" Ü
imap \ifm if __name__ == '__main__':
inoremap \e €
inoremap \s ß
inoremap a" ä
inoremap o" ö
inoremap u" ü
let &cpo=s:cpo_save
unlet s:cpo_save
set autowrite
set backspace=indent,eol,start
set backupdir=~/.cache/vim/backup//
set directory=~/.cache/vim/swap//
set display=truncate
set expandtab
set fileencodings=ucs-bom,utf-8,default,latin1
set helplang=en
set history=200
set hlsearch
set incsearch
set langnoremap
set nolangremap
set mouse=a
set nrformats=bin,hex
set ruler
set runtimepath=~/.vim,/usr/share/vim/vimfiles,/usr/share/vim/vim81,/usr/share/vim/vim81/pack/dist/opt/matchit,/usr/share/vim/vimfiles/after,~/.vim/after
set scrolloff=5
set shiftwidth=4
set showcmd
set smartcase
set softtabstop=4
set splitbelow
set splitright
set statusline=%F%m%r%h%w[%L][%{&ff}]%y[%p%%][%04l,%04v]
set suffixes=.bak,~,.o,.info,.swp,.aux,.bbl,.blg,.brf,.cb,.dvi,.idx,.ilg,.ind,.inx,.jpg,.log,.out,.png,.toc
set tabstop=4
set ttimeout
set ttimeoutlen=100
set undodir=~/.cache/vim/undo//
set wildignore=*.pyc
set wildmenu
let s:so_save = &so | let s:siso_save = &siso | set so=0 siso=0
let v:this_session=expand("<sfile>:p")
silent only
silent tabonly
cd ~/workspace_l/discordbot
if expand('%') == '' && !&modified && line('$') <= 1 && getline(1) == ''
let s:wipebuf = bufnr('%')
endif
set shortmess=aoO
argglobal
%argdel
$argadd main.py
set stal=2
tabnew
tabrewind
edit main.py
set splitbelow splitright
wincmd t
set winminheight=0
set winheight=1
set winminwidth=0
set winwidth=1
argglobal
setlocal keymap=
setlocal noarabic
setlocal autoindent
setlocal backupcopy=
setlocal balloonexpr=
setlocal nobinary
setlocal nobreakindent
setlocal breakindentopt=
setlocal bufhidden=
setlocal buflisted
setlocal buftype=
setlocal nocindent
setlocal cinkeys=0{,0},0),0],:,!^F,o,O,e
setlocal cinoptions=
setlocal cinwords=if,else,while,do,for,switch
setlocal colorcolumn=
setlocal comments=b:#,fb:-
setlocal commentstring=#\ %s
setlocal complete=.,w,b,u,t,i
setlocal concealcursor=
setlocal conceallevel=0
setlocal completefunc=
setlocal nocopyindent
setlocal cryptmethod=
setlocal nocursorbind
setlocal nocursorcolumn
setlocal nocursorline
setlocal define=
setlocal dictionary=
setlocal nodiff
setlocal equalprg=
setlocal errorformat=
setlocal expandtab
if &filetype != 'python'
setlocal filetype=python
endif
setlocal fixendofline
setlocal foldcolumn=0
setlocal foldenable
setlocal foldexpr=0
setlocal foldignore=#
setlocal foldlevel=0
setlocal foldmarker={{{,}}}
setlocal foldmethod=manual
setlocal foldminlines=1
setlocal foldnestmax=20
setlocal foldtext=foldtext()
setlocal formatexpr=
setlocal formatoptions=tcq
setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
setlocal formatprg=
setlocal grepprg=
setlocal iminsert=0
setlocal imsearch=-1
setlocal include=^\\s*\\(from\\|import\\)
setlocal includeexpr=substitute(substitute(substitute(v:fname,b:grandparent_match,b:grandparent_sub,''),b:parent_match,b:parent_sub,''),b:child_match,b:child_sub,'g')
setlocal indentexpr=GetPythonIndent(v:lnum)
setlocal indentkeys=0{,0},0),0],:,!^F,o,O,e,<:>,=elif,=except
setlocal noinfercase
setlocal iskeyword=@,48-57,_,192-255
setlocal keywordprg=pydoc
setlocal nolinebreak
setlocal nolisp
setlocal lispwords=
setlocal nolist
setlocal makeencoding=
setlocal makeprg=
setlocal matchpairs=(:),{:},[:]
setlocal modeline
setlocal modifiable
setlocal nrformats=bin,hex
setlocal nonumber
setlocal numberwidth=4
setlocal omnifunc=python3complete#Complete
setlocal path=
setlocal nopreserveindent
setlocal nopreviewwindow
setlocal quoteescape=\\
setlocal noreadonly
setlocal norelativenumber
setlocal norightleft
setlocal rightleftcmd=search
setlocal noscrollbind
setlocal scrolloff=-1
setlocal shiftwidth=4
setlocal noshortname
setlocal sidescrolloff=-1
setlocal signcolumn=auto
setlocal nosmartindent
setlocal softtabstop=4
setlocal nospell
setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+
setlocal spellfile=
setlocal spelllang=en
setlocal statusline=
setlocal suffixesadd=.py
setlocal swapfile
setlocal synmaxcol=3000
if &syntax != 'python'
setlocal syntax=python
endif
setlocal tabstop=8
setlocal tagcase=
setlocal tagfunc=
setlocal tags=
setlocal termwinkey=
setlocal termwinscroll=10000
setlocal termwinsize=
setlocal textwidth=0
setlocal thesaurus=
setlocal noundofile
setlocal undolevels=-123456
setlocal varsofttabstop=
setlocal vartabstop=
setlocal wincolor=
setlocal nowinfixheight
setlocal nowinfixwidth
setlocal wrap
setlocal wrapmargin=0
silent! normal! zE
let s:l = 10 - ((9 * winheight(0) + 28) / 57)
if s:l < 1 | let s:l = 1 | endif
exe s:l
normal! zt
10
normal! 0
tabnext
edit requirements.txt
set splitbelow splitright
wincmd t
set winminheight=0
set winheight=1
set winminwidth=0
set winwidth=1
argglobal
setlocal keymap=
setlocal noarabic
setlocal noautoindent
setlocal backupcopy=
setlocal balloonexpr=
setlocal nobinary
setlocal nobreakindent
setlocal breakindentopt=
setlocal bufhidden=
setlocal buflisted
setlocal buftype=
setlocal nocindent
setlocal cinkeys=0{,0},0),0],:,0#,!^F,o,O,e
setlocal cinoptions=
setlocal cinwords=if,else,while,do,for,switch
setlocal colorcolumn=
setlocal comments=fb:-,fb:*,n:>
setlocal commentstring=
setlocal complete=.,w,b,u,t,i
setlocal concealcursor=
setlocal conceallevel=0
setlocal completefunc=
setlocal nocopyindent
setlocal cryptmethod=
setlocal nocursorbind
setlocal nocursorcolumn
setlocal nocursorline
setlocal define=
setlocal dictionary=
setlocal nodiff
setlocal equalprg=
setlocal errorformat=
setlocal expandtab
if &filetype != 'text'
setlocal filetype=text
endif
setlocal fixendofline
setlocal foldcolumn=0
setlocal foldenable
setlocal foldexpr=0
setlocal foldignore=#
setlocal foldlevel=0
setlocal foldmarker={{{,}}}
setlocal foldmethod=manual
setlocal foldminlines=1
setlocal foldnestmax=20
setlocal foldtext=foldtext()
setlocal formatexpr=
setlocal formatoptions=tcq
setlocal formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
setlocal formatprg=
setlocal grepprg=
setlocal iminsert=0
setlocal imsearch=-1
setlocal include=
setlocal includeexpr=
setlocal indentexpr=
setlocal indentkeys=0{,0},0),0],:,0#,!^F,o,O,e
setlocal noinfercase
setlocal iskeyword=@,48-57,_,192-255
setlocal keywordprg=
setlocal nolinebreak
setlocal nolisp
setlocal lispwords=
setlocal nolist
setlocal makeencoding=
setlocal makeprg=
setlocal matchpairs=(:),{:},[:]
setlocal modeline
setlocal modifiable
setlocal nrformats=bin,hex
setlocal nonumber
setlocal numberwidth=4
setlocal omnifunc=
setlocal path=
setlocal nopreserveindent
setlocal nopreviewwindow
setlocal quoteescape=\\
setlocal noreadonly
setlocal norelativenumber
setlocal norightleft
setlocal rightleftcmd=search
setlocal noscrollbind
setlocal scrolloff=-1
setlocal shiftwidth=4
setlocal noshortname
setlocal sidescrolloff=-1
setlocal signcolumn=auto
setlocal nosmartindent
setlocal softtabstop=4
setlocal nospell
setlocal spellcapcheck=[.?!]\\_[\\])'\"\ \ ]\\+
setlocal spellfile=
setlocal spelllang=en
setlocal statusline=
setlocal suffixesadd=
setlocal swapfile
setlocal synmaxcol=3000
if &syntax != 'text'
setlocal syntax=text
endif
setlocal tabstop=4
setlocal tagcase=
setlocal tagfunc=
setlocal tags=
setlocal termwinkey=
setlocal termwinscroll=10000
setlocal termwinsize=
setlocal textwidth=0
setlocal thesaurus=
setlocal noundofile
setlocal undolevels=-123456
setlocal varsofttabstop=
setlocal vartabstop=
setlocal wincolor=
setlocal nowinfixheight
setlocal nowinfixwidth
setlocal wrap
setlocal wrapmargin=0
silent! normal! zE
let s:l = 2 - ((1 * winheight(0) + 28) / 57)
if s:l < 1 | let s:l = 1 | endif
exe s:l
normal! zt
2
normal! 011|
tabnext 2
set stal=1
badd +0 main.py
badd +0 requirements.txt
if exists('s:wipebuf') && len(win_findbuf(s:wipebuf)) == 0
silent exe 'bwipe ' . s:wipebuf
endif
unlet! s:wipebuf
set winheight=1 winwidth=20 shortmess=filnxtToOS
set winminheight=1 winminwidth=1
let s:sx = expand("<sfile>:p:r")."x.vim"
if file_readable(s:sx)
exe "source " . fnameescape(s:sx)
endif
let &so = s:so_save | let &siso = s:siso_save
nohlsearch
doautoall SessionLoadPost
unlet SessionLoad
" vim: set ft=vim :

520
vim/.vim/doc/Colorizer.txt Normal file
View File

@ -0,0 +1,520 @@
*Colorizer.txt* A plugin to color colornames and codes
Author: Christian Brabandt <cb@256bit.org>
Version: 0.11 Thu, 15 Jan 2015 21:49:17 +0100
Copyright: (c) 2009-2013 by Christian Brabandt
The VIM LICENSE applies to Colorizer.txt
(see |copyright|) except use ColorizerPlugin instead of "Vim".
NO WARRANTY, EXPRESS OR IMPLIED. USE AT-YOUR-OWN-RISK.
==============================================================================
Contents *Colorizer*
==============================================================================
1. Colorizer Manual.............................|Colorizer-manual|
1.1 :ColorHighlight......................|:ColorHighlight|
1.2 :ColorClear..........................|:ColorClear|
1.3 :RGB2Term............................|:RGB2Term|
1.4 :HSL2RGB.............................|:HSL2RGB|
1.5 :Term2RGB............................|:Term2RGB|
1.6 :ColorContrast.......................|:ColorContrast|
1.7 :ColorSwapFgBg.......................|:ColorSwapFgBg|
1.8 :ColorToggle.........................|:ColorToggle|
2. Configuration................................|Colorizer-config|
2.1 Automatic loading...................|Colorizer-auto|
2.2 Automatically highlight filetypes...|Colorizer-hl-ft|
2.3 Skip coloring comments..............|Colorizer-comments|
2.4 Adjust the contrast.................|Colorizer-contrast|
2.5 Highlight colornames................|Colorizer-hl-names|
2.6 Use X11 colornames..................|Colorizer-names|
2.7 Use syntax highlighting.............|Colorizer-syntax|
2.8 Specify patterns to highlight.......|Colorizer-pattern|
2.9 Colorizing Taskwarrior files........|Colorizer-taskwarrior-files|
2.10 Colorizing vim syntax files.........|Colorizer-vim-files|
2.11 Use custom colornames...............|Colorizer-custom-colornames|
2.12 Colorizing :hi statements...........|Colorizer-vim-hi|
3. Colorizer Mappings...........................|Colorizer-maps|
4. Colorizer Tips...............................|Colorizer-tips|
5. Colorizer Feedback...........................|Colorizer-feedback|
6. Colorizer History............................|Colorizer-history|
==============================================================================
1. Colorizer Manual *Colorizer-manual*
==============================================================================
Functionality
This plugin is based on the css_color plugin by Nikolaus Hofer. The idea is to
highlight color names and codes in the same color that they represent.
The plugin understands the W3C colors (used for CSS files for example), the
color names from the X11 Window System and also codes in hex notation, like
#FF0000 (which represents Red in the RGB color system). Additionally, it
supports the CSS color specifications, e.g. rgb(RR,GG,BB) color representation
in either absolute or percentage values and also the HVL color
representation like hvl(H,V,L)
It works best in the gui version of Vim, but the plugin also supports 256 and
88 color terminals and translates the colors to those supported by the
terminal. 16 and 8 color terminals should work theoretically too, but have not
been widely tested. Note that translating the colors to the terminal might
impose a performance penalty, depending on the terminal type and the number of
matches in the file.
This plugin defines the following commands:
*:ColorHighlight*
:[range]ColorHighlight[!] [args]
Scan the lines given by [range] for color code names and highlight those. If
[range] is omitted, the whole file will be scanned. If the ! is used, the
plugin will redefine all highlighting groups. If ! is not used, it will
skip patterns, that would take too long and make Vim unresponsive.
[args] can by any of "syntax" or "match". "syntax" means to convert the
highlighting to syntax highlighting. This is useful, so a plugin like
|2html.vim| can convert the colors correctly to HTML. The default is
"match", which uses the |matchadd()| function. (Prepending "no" is
supported and will disable that setting and use the opposite).
*:ColorClear*
:ColorClear Turn off color highlighting.
*:RGB2Term*
:RGB2Term <color> Translate the color code given as argument to
the closest color that can be displayed in the
terminal. The color must be given in the
format #RRGGBB (the hex format of the colors red,
green and blue (the '#' is optional), or
alternatively like rgb(X,X,X)
Uses the number of colors your terminal is capable
of (or 256 colors for gVim).
*:HSL2RGB*
:HSL2RGB hsl(h,v,l) Translate the HVL color defined by the string
'hsl(h,v%,l%)' into a color that the current
terminal can display. Note that the color must be
given in the format 'hsl(HH, V, L)' where HH
defines the Hue as absolute value between 0 and
255 and V and L represent a percentage for value
and Lightness.
*:Term2RGB*
:Term2RGB number Translate terminal color <number> to an RGB color
(using the xterm 256 color cube).
*:ColorContrast*
:ColorContrast Switch between all different color contrast
settings (foreground colors).
*:ColorSwapFgBg*
:ColorSwapFgBg Switch between foreground and background colors.
This will toggle in 3 ways. From Swapping
foreground and background colors, to only
highlighting the foreground color back to normal
foreground background color.
*:ColorToggle*
:ColorToggle Switch between highlighting colors and no
highlighting.
==============================================================================
2 Colorizer Configuration *Colorizer-config*
==============================================================================
2.1 Automatic loading *Colorizer-auto*
---------------------
The Colorizer plugin can be configured to automatically load when opening a
new file. Note that this might slow down the loading process, especially on
the terminal. To enable this, simply set the variable 'g:colorizer_auto_color'
to 1, e.g. by defining it in your |.vimrc| >
:let g:colorizer_auto_color = 1
<
(Not recommended, see below at |Colorizer-hl-ft| for the preferred way)
2.2 Automatically highlight filetypes *Colorizer-hl-ft*
-------------------------------------
If you want to have certain filetypes automatically highlighted, you can use
the variable g:colorizer_auto_filetype, e.g. to enable highlighting for
HTML and CSS files by default, add the following to your |.vimrc|: >
:let g:colorizer_auto_filetype='css,html'
<
After restarting Vim, the plugin will become active whenever the filetype is
set to either html or css.
2.3 Skip coloring comments *Colorizer-comments*
--------------------------
You can skip comments from being colored by setting the variable
g:colorizer_skip_comments to 1: >
:let g:colorizer_skip_comments = 1
<
The plugin will skip all matches of color codes and names that appear inside
comments (this only works when syntax highlighting is enabled |:syn-on|)
Note however, that if the same color is used inside comments and outside
comments, it will also be highlighted inside the comments, because
coloring is done matching only the color pattern and once this is done outside
of comments, this will also match inside comments.
2.4 Adjust the contrast *Colorizer-contrast*
-----------------------
Colorizer can be adjusted to blur the contrast between foreground and
background color. For this, the variable 'g:colorizer_fgcontrast' can be used.
It can be given any value between -1 and 2 with 2 being the default. Each
smaller value will decrease the contrast a little bit, with -1 being special,
as there is the foreground color equals the background color. Use
|:ColorContrast| to cycle through the different values.
2.5 Highlight colornames *Colorizer-hl-names*
------------------------
If for any reason you don't want the plugin to highlight colornames, you can
prevent this by setting the g:colorizer_colornames variable to 0, e.g. put >
:let g:colorizer_colornames = 0
<
into your |.vimrc|
2.6 Use X11 colornames *Colorizer-names*
----------------------
Colorizer can be configured to support all color names defined by the X11
Window System. By default it only supports the colors defined by the W3C for
the CSS specification. To use the X11 color names, set the variable
'g:colorzer_x11_names' to 1, e,g. put in your |.vimrc| >
let g:colorizer_x11_names = 1
<
2.7 Use syntax highlighting *Colorizer-syntax*
---------------------------
The plugin by default uses the |matchadd()| functions for highlighting colors
on the fly. Unfortunately, this is a problem, if you want to have the result
successfully transformed to a HTML file using the |2html.vim| plugin. Therefore,
the Colorizer plugin can also convert the highlighting to correct syntax
highlighting. Use either the >
:ColorHighlight syntax
<
command (see |:ColorHighlight|) or set the variable 'g:colorizer_syntax' to 1,
e.g. in your |.vimrc| put >
let g:colorizer_syntax = 1
<
2.8 Specify pattern to highlight *Colorizer-pattern*
--------------------------------
By default, Colorizer detects the following patterns and highlights them as
hex colors (for better readability it is separated into 3 parts): >
# %(\x\{3}\|\x\{6}\) \%(\>\|[-_]\)\@=/'
<
This means it always looks for a '#' followed by either a 3 or 6 hexadecimal
digits denoting the RGB hex color codes, followed by either the word-boundary
(|/\>|), a hyphen or a underscore. But only the first and middle part will be
highlighted (i.e. the RGB color codes).
You can of course specify a different pattern for your needs by setting the
g:colorizer_hex_pattern variable. e.g. to display '#RRGGBB' and have all of it
highlighted, use >
let g:colorizer_hex_pattern = ['#', '\%(\x\{3}\|\x\{6}\)', '']
2.9 Colorizing Taskwarrior files *Colorizer-taskwarrior-files*
--------------------------------
For taskwarrior files, this plugin can also highlight those colors. By
default, this will only work, if the file name ends with '.theme'
For an example, see this website:
http://taskwarrior.org/news/182
2.10 Colorizing vim syntax files *Colorizer-vim-files*
--------------------------------
Colorizer also supports highlighting vim syntax files. For this to work, the
'filetype' must be set to vim, then the plugin tries to identify the colors
and highlight them.
2.11 Use custom colornames *Colorizer-custom-colornames*
--------------------------
You can add separate colornames to be colored. For this to work, set the
variable g:colorizer_custom_colors to your liking, e.g. like this: >
let g:colorizer_custom_colors = { 'blue': '#ff0000'}
Guess what, this will color the word blue in red.
2.12 Colorizing :highlight statements *Colorizer-vim-hi*
-------------------------------------
Colorizer also supports highlighting |:hi| statements, that are used by vim
colorschemes and syntax files as well as a dump of the |:hi| command
To colorizer :hi statements, the 'filetype' must be set to vim, while for :hi
dumps, the 'filetype' must be empty.
==============================================================================
3. Colorizer Mappings *Colorizer-maps*
==============================================================================
By default, the Colorizer plugin does not map any key, so that it won't
pollute the global mapping namespace. If you want however to have the
following default maps set up, set the global variable g:colorizer_auto_map
in your |.vimrc| like this: >
:let g:colorizer_auto_map = 1
<
This will set up the following key mappings (if they are not already taken):
Keys Name Function
---- ---- --------
<Leader>cC <Plug>Colorizer Toggle highlighting of Colors. In visual
mode it only highlights the colors in the
selected region (normal and visual mode).
<Leader>cT <Plug>ColorContrast Cycle through contrast setting
|:ColorContrast| (normal and visual mode)
<Leader>cF <Plug>ColorFgBg Toggle foreground and background color
|:ColorSwapFgBg|
It uses the prefix <leader>c to set all functionality up. By default, <Leader>
is defined as '\' (|<Leader>|). Use the name provided in the second column to
map the function to a different key.
==============================================================================
4. Colorizer Tips *Colorizer-tips*
==============================================================================
You can enable the plugin to be loaded for certain filetypes automatically.
This makes sense for example for CSS files or HTML files. To do so, create the
following autocommand in your |.vimrc| >
:au BufNewFile,BufRead *.css,*.html,*.htm :ColorHighlight!
<
This will automatically highlight all existing color codes and names if you
edit either a HTML file or a CSS file. Note that this does not update the
highlighting, after you have been changing the file.
The recommended way to do this is to use the g:colorizer_auto_filetype
variable and set this to the desired filetypes. |Colorizer-hl-ft|
*Colorizer-slowdown*
----------------
Slow performance
----------------
Depending on your file, any of the highlighting functions might cause an
performance decrease. This can be analyed, by setting the variable
g:colorizer_debug to 1 in e.g. your |.vimrc| like this: >
:let g:colorizer_debug = 1
<
The next time, you call |:ColorHighlight|, the plugin will output runtime
statistics, from which you can see, which function caused the slowdowns.
Consider this output:
Colorstatistics at: 12:20 `
Duration: 0.034110 `
colornames: 0.030865s `
hex: 0.000968s `
hsla: 0.000350s `
rgb: 0.000354s `
rgba: 0.000491s `
taskwarrior: 0.000020s `
term: 0.000219s `
term_conceal: 0.000105s `
vimcolors: 0.000036s `
vimhighl_dump: 0.000025s `
vimhighlight: 0.000025s `
From this you can see, that the colorname highlighting caused the largest
slowdown, it took 0.03 seconds to complete. This is expected, as the
colornames pattern is long and contains many branches.
Functions with a value less then 100 have probably been skipped and were not
being executed.
If you want to skip certain functions, you can set the variable
g:colorizer_<name>_disable and then those functions won't be called anymore
(e.g. do disable the colorname highlighting, put in your |.vimrc| this: >
let g:colorizer_colornames_disable = 1
<
If the slowdown is still noticeable, you might want to create
a new issue at the plugins repository (|Colorizer-feedback|). You should
provide a sample file, so that I will be able to reproduce the issue.
Note, this needs a Vim with the |+reltime| feature.
==============================================================================
5. Colorizer Feedback *Colorizer-feedback*
==============================================================================
Feedback is always welcome. If you like the plugin, please rate it at the
vim-page: http://www.vim.org/scripts/script.php?script_id=3963
You can also follow the development of the plugin at github:
http://github.com/chrisbra/color_highlight
Bugs can also be reported there:
https://github.com/chrisbra/color_highlight/issues
Alternatively, you can also report any bugs to the maintainer, mentioned in
the third line of this document. Please don't hesitate to contact me, I
won't bite ;)
If you like the plugin, write me an email (look in the third line for my mail
address). And if you are really happy, vote for the plugin and consider
looking at my Amazon whishlist: http://www.amazon.de/wishlist/2BKAHE8J7Z6UW
==============================================================================
6. Colorizer History *Colorizer-history*
==============================================================================
0.12 (unreleased) {{{1
- TermConceal should also conceal 
- properly escape terminal colors, so that |Colorizer-syntax| works correctly
- use matchaddpos() for highlighting ansi term colors (should speed up vim
highlighting considerably)
- only reset TermConceal syntax group (reported by audriusk in
https://github.com/chrisbra/Colorizer/issues/41, thanks!)
- correctly check for patch 7.4.083 (:keeppatterns modifier, reported by
gbell12 in https://github.com/chrisbra/Colorizer/issues/42, thanks!)
- disable BufLeave autocommand to disable colors
- basic Neovim support (also should work with TrueColor in Terminal)
- Make |:RGB2term| always init colortable, so that when resetting 't_Co'
it will work correctly
- Make it work with Vims Term Truecolor feature (patch 7.4.1770)
- Make it work with neovim fixes https://github.com/chrisbra/Colorizer/issues/45
and https://github.com/chrisbra/Colorizer/issues/46
- Support css colors: #rrggbbaa format
- handle hsla values correctly
- clear css cssColor syntax rule when ":ColorHighlight syntax" in css files is
used. fixes https://github.com/chrisbra/Colorizer/issues/50 reported by
msva, thanks!
- make TermConceal also hide the sgr0 attributes (to reset the terminal)
fixes https://github.com/chrisbra/Colorizer/issues/53 reported by
LucHermitte, thanks!
- also conceal and highlight nroff sequences like T^HT (as bold) and _^HT (as
underlined)
0.11 Jan 15, 2015 {{{1
- use |TextChanged| autocommand if possible
- Support Ansi True Color support if possible
- Hide ^[[K$ for terminal colors (reported by masukomi at
https://github.com/chrisbra/Colorizer/issues/36, thanks!)
- Do not expand() to expand shellvars (fixed by Daniel Hahler in
https://github.com/chrisbra/Colorizer/issues/37, thanks!)
- Document, how to analyze slowdown |Colorizer-slowdown|
- |:ColorContrast| would error, if the plugin has not been initialized
(reported by Daniel Hahler in
https://github.com/chrisbra/Colorizer/issues/38, thanks!)
- always define reltime variable (reported by mantislin in
https://github.com/chrisbra/Colorizer/issues/39, thanks!)
- Only call conceal function once for ansiterm colors
- reduce calls to DoColor in autocommands (to only do, when something changed)
0.10 Mar 27, 2014 {{{1
- Also highlight Ansi Term sequences
- Match colornames using the "old" RE Engine, if Vim supports it.
- Make |:RGB2Xterm| output the color name in its color
- Rename |:RGB2Xterm| to |:RGB2Term|
- Highlight Taskwarrior file
- Code refactoring
- Make |:ColorSwapFgBg| work as expected (did not always toggle reliably
between all states)
- Correctly parse Ansi Term colors
- |:Term2RGB|
- Highlight Vim color files correctly
- merge colorhighlight plugin https://github.com/blueyed/colorhighlight.vim
0.9: Aug 14, 2013: {{{1
- https://github.com/chrisbra/color_highlight/issues/15 (rgba highlighting
didn't work for floating point value of alpha, reported by LiTuX.S, thanks!)
- https://github.com/chrisbra/color_highlight/issues/16 (rgb() pattern did
match too much, reported by taecilla, thanks!)
- https://github.com/chrisbra/color_highlight/issues/19 (error on calling
ColorWinEnter() command, reported by wedgwood, thanks!)
- https://github.com/chrisbra/color_highlight/issues/20 and
https://github.com/chrisbra/color_highlight/issues/21
(also color on split commands, reported by wedgwood and Andri Möll, Thanks!)
- https://github.com/chrisbra/color_highlight/issues/22 (Make sure, patterns
like white-space won't get colored, reported by Andri Möll, Thanks!)
- https://github.com/chrisbra/color_highlight/issues/23 (ColorToggle got
confused when several windows with highlighting exists, reported by Andri
Möll, Thanks!)
- https://github.com/chrisbra/color_highlight/issues/24 (turning off coloring
should also remove the autocommands, reported by Andri Möll, Thanks!)
0.8: Dec 14, 2012 {{{1
- https://github.com/chrisbra/color_highlight/issues/13 (colorizing should not
stop at word-boundaries, reported by teschmitz, thanks!)
- https://github.com/chrisbra/color_highlight/issues/14 (convert highlighting
to syntax groups, so TOhtml works, reported by teschmitz, thanks!)
0.7: Jul 25, 2012 {{{1
- Highlight rgb colors with whitespace after comma (reported by sergey-vlasov
in https://github.com/chrisbra/color_highlight/issues/12, thanks!)
- Save and restore the search register, so the plugin doesn't clobber it
- check for 'ed' and 'gd' defaults
0.6: May 17, 2012 {{{1
- Fix various issues with hsl coloring (reported by teschmitz in
https://github.com/chrisbra/color_highlight/issues/9, thanks!)
- Make it possible, to skip coloring comments (reported by teschmitz in
https://github.com/chrisbra/color_highlight/issues/10, thanks!)
- search highlighting should overrule color highlighting(reported by teschmitz
in https://github.com/chrisbra/color_highlight/issues/11, thanks!)
- updated documentation (suggested by teschmitz, thanks!)
0.5: Apr 03, 2012 {{{1
- Fix issue 7 (reported by teschmitz in
https://github.com/chrisbra/color_highlight/issues/7, thanks!)
0.4: Mar, 23, 2012 {{{1
- |:ColorSwapFgBg| (suggested by teschmitz, in
https://github.com/chrisbra/color_highlight/issues/3, thanks!)
- make automatic color loading work (reported by wedgwood in
https://github.com/chrisbra/color_highlight/issues/6, thanks!)
|Colorizer-auto| and |Colorizer-hl-ft|
- more documentation updates
- added Mappings (suggested by Ingo Karkat, thanks!) |Colorizer-maps|
- prevent highlighting of color names (suggested by Tarlika Schmitz in
https://github.com/chrisbra/color_highlight/issues/5, thanks!)
|Colorizer-hl-names|
- enable filetype specific autocommands, so that for certain filetypes
colors are highlighted automatically |Colorizer-hl-ft|
(suggested by Tarlika Schmitz, thanks!)
0.3: Mar 15, 2012 {{{1
- Use the g:colorizer_fgcontrast variable to have lesser contrast between
foreground and background colors (patch by Ingo Karkat, thanks!)
- gvim did not color rgb(...) codes
- did not correctly highlight 3 letter color codes (issue
https://github.com/chrisbra/color_highlight/issues/1,
reported by Taybin Rutkin, thanks!)
- support autoloading (requested by Ingo Karkat, thanks!)
- add |GLVS| support
- |:ColorContrast| to interactively switch between contrast settings
(suggested by Ingo Karkat, thanks!)
0.2: Mar 02, 2012 {{{1
- Initial upload
- development versions are available at the github repository
- put plugin on a public repository
(http://github.com/chrisbra/color_highlight)
0.1: Mar 02, 2012 {{{1
- first internal version
}}}
==============================================================================
Modeline:
vim:tw=78:ts=8:ft=help:et:fdm=marker:fdl=0:norl

29
vim/.vim/doc/tags Normal file
View File

@ -0,0 +1,29 @@
:ColorClear Colorizer.txt /*:ColorClear*
:ColorContrast Colorizer.txt /*:ColorContrast*
:ColorHighlight Colorizer.txt /*:ColorHighlight*
:ColorSwapFgBg Colorizer.txt /*:ColorSwapFgBg*
:ColorToggle Colorizer.txt /*:ColorToggle*
:HSL2RGB Colorizer.txt /*:HSL2RGB*
:RGB2Term Colorizer.txt /*:RGB2Term*
:Term2RGB Colorizer.txt /*:Term2RGB*
Colorizer Colorizer.txt /*Colorizer*
Colorizer-auto Colorizer.txt /*Colorizer-auto*
Colorizer-comments Colorizer.txt /*Colorizer-comments*
Colorizer-config Colorizer.txt /*Colorizer-config*
Colorizer-contrast Colorizer.txt /*Colorizer-contrast*
Colorizer-custom-colornames Colorizer.txt /*Colorizer-custom-colornames*
Colorizer-feedback Colorizer.txt /*Colorizer-feedback*
Colorizer-history Colorizer.txt /*Colorizer-history*
Colorizer-hl-ft Colorizer.txt /*Colorizer-hl-ft*
Colorizer-hl-names Colorizer.txt /*Colorizer-hl-names*
Colorizer-manual Colorizer.txt /*Colorizer-manual*
Colorizer-maps Colorizer.txt /*Colorizer-maps*
Colorizer-names Colorizer.txt /*Colorizer-names*
Colorizer-pattern Colorizer.txt /*Colorizer-pattern*
Colorizer-slowdown Colorizer.txt /*Colorizer-slowdown*
Colorizer-syntax Colorizer.txt /*Colorizer-syntax*
Colorizer-taskwarrior-files Colorizer.txt /*Colorizer-taskwarrior-files*
Colorizer-tips Colorizer.txt /*Colorizer-tips*
Colorizer-vim-files Colorizer.txt /*Colorizer-vim-files*
Colorizer-vim-hi Colorizer.txt /*Colorizer-vim-hi*
Colorizer.txt Colorizer.txt /*Colorizer.txt*

View File

@ -0,0 +1,95 @@
" Plugin: Highlight Colornames and Values
" Maintainer: Christian Brabandt <cb@256bit.org>
" URL: http://www.github.com/chrisbra/color_highlight
" Last Change: Thu, 15 Jan 2015 21:49:17 +0100
" Licence: Vim License (see :h License)
" Version: 0.11
" GetLatestVimScripts: 3963 11 :AutoInstall: Colorizer.vim
"
" This plugin was inspired by the css_color.vim plugin from Nikolaus Hofer.
" Changes made: - make terminal colors work more reliably and with all
" color terminals
" - performance improvements, coloring is almost instantenously
" - detect rgb colors like this: rgb(R,G,B)
" - detect hsl coloring: hsl(H,V,L)
" - fix small bugs
" Init some variables "{{{1
" Plugin folklore "{{{2
if v:version < 700 || exists("g:loaded_colorizer") || &cp
finish
endif
let g:loaded_colorizer = 1
let s:cpo_save = &cpo
set cpo&vim
" helper functions "{{{1
fu! ColorHiArgs(A,L,P)
return "syntax\nmatch\nnosyntax\nnomatch"
endfu
" define commands "{{{1
command! -bang -range=% -nargs=? -complete=custom,ColorHiArgs ColorHighlight
\ :call Colorizer#DoColor(<q-bang>, <q-line1>, <q-line2>, <q-args>)
command! -bang -nargs=1 RGB2Term
\ :call Colorizer#RGB2Term(<q-args>, <q-bang>)
command! -nargs=1 Term2RGB :call Colorizer#Term2RGB(<q-args>)
command! -bang ColorClear :call Colorizer#ColorOff()
command! -bang ColorToggle :call Colorizer#ColorToggle()
command! -nargs=1 HSL2RGB :call Colorizer#HSL2Term(<q-args>)
command! ColorContrast :call Colorizer#SwitchContrast()
command! ColorSwapFgBg :call Colorizer#SwitchFGBG()
" define mappings "{{{1
nnoremap <Plug>Colorizer :<C-U>ColorToggle<CR>
xnoremap <Plug>Colorizer :ColorHighlight<CR>
nnoremap <Plug>ColorContrast :<C-U>ColorContrast<CR>
xnoremap <Plug>ColorContrast :<C-U>ColorContrast<CR>
nnoremap <Plug>ColorFgBg :<C-U>ColorSwapFgBg<CR>
xnoremap <Plug>ColorFgBg :<C-U>ColorSwapFgBg<CR>
if get(g:, 'colorizer_auto_map', 0)
" only map, if the mapped keys are not yet taken by a different plugin
" and the user hasn't mapped the function to different keys
if empty(maparg('<Leader>cC', 'n')) && empty(hasmapto('<Plug>Colorizer', 'n'))
nmap <silent> <Leader>cC <Plug>Colorizer
endif
if empty(maparg('<Leader>cC', 'x')) && empty(hasmapto('<Plug>Colorizer', 'x'))
xmap <silent> <Leader>cC <Plug>Colorizer
endif
if empty(maparg('<Leader>cT', 'n')) && empty(hasmapto('<Plug>ColorContrast', 'n'))
nmap <silent> <Leader>cT <Plug>ColorContrast
endif
if empty(maparg('<Leader>cT', 'x')) && empty(hasmapto('<Plug>ColorContrast', 'n'))
xmap <silent> <Leader>cT <Plug>ColorContrast
endif
if empty(maparg('<Leader>cF', 'n')) && empty(hasmapto('<Plug>ColorFgBg', 'n'))
nmap <silent> <Leader>cF <Plug>ColorFgBg
endif
if empty(maparg('<Leader>cF', 'x')) && empty(hasmapto('<Plug>ColorFgBg', 'x'))
xmap <silent> <Leader>cF <Plug>ColorFgBg
endif
endif
" Enable Autocommands "{{{1
if exists("g:colorizer_auto_color")
" Prevent autoloading
exe "call Colorizer#AutoCmds(g:colorizer_auto_color)"
endif
if exists("g:colorizer_auto_filetype")
" Setup some autocommands for specific filetypes.
aug FT_ColorizerPlugin
au!
exe "au Filetype" g:colorizer_auto_filetype
\ "call Colorizer#LocalFTAutoCmds(1)\|
\ :ColorHighlight"
aug END
endif
" Plugin folklore and Vim Modeline " {{{1
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: set foldmethod=marker et fdl=0:

View File

@ -24,3 +24,10 @@ endfunction
" So we can use :BackgroundCommand to call our function. " So we can use :BackgroundCommand to call our function.
command! -nargs=+ -complete=shellcmd RunBackgroundCommand call RunBackgroundCommand(<q-args>) command! -nargs=+ -complete=shellcmd RunBackgroundCommand call RunBackgroundCommand(<q-args>)
function! GetCWD()
let l:cwd = system('pwd | rev |cut -d- -f1 | rev | xargs | sed "s/[[:space:]]/\\\\&/g\"')
echo l:cwd
call setline('.', l:cwd)
unlet l:cwd
endfunction

View File

@ -10,8 +10,10 @@ nnoremap <C-U> :later<CR>
noremap Y "+y noremap Y "+y
noremap <C-E> :tabedit **/* noremap <C-E> :tabedit **/*
noremap <F1> :ter<CR> noremap <F1> :ter<CR>
noremap <F12> :tabedit<CR>:ter<CR><C-w><C-w>:q<CR>
noremap == ==j noremap == ==j
nmap 0 ^ nmap 0 ^
nmap ' `
" Diaeresis for e.g. german " Diaeresis for e.g. german
inoremap a" ä inoremap a" ä
@ -20,5 +22,5 @@ inoremap u" ü
inoremap A" Ä inoremap A" Ä
inoremap U" Ü inoremap U" Ü
inoremap O" Ö inoremap O" Ö
inoremap <leader>s ß inoremap s" ß
inoremap <leader>e inoremap e"

View File

@ -1,10 +1,12 @@
# #
Category: **Category:**
**Points:**
# Challenge
# Solution ## Challenge
>
# Flag ## Solution
### Flag
`` ``

View File

@ -805,3 +805,15 @@ Rümeysa
Orhan Orhan
AStAs AStAs
Brinda Brinda
Prüfungsauschüsse
LuDI
Berufungskomission
Hoßfeld
Systemadministration
Gremienplätze
#rschritten
#
#
#a
#S
#b

Binary file not shown.