commit
172702b289
|
@ -0,0 +1,31 @@
|
|||
# dotfiles
|
||||
|
||||
This is my ArchLinux configuration.
|
||||
Tested on Acer Travelmate X349-G2-M and Lenovo Thinkpad E14 G5.
|
||||
|
||||
## Install dependencies
|
||||
|
||||
```bash
|
||||
paru -S syncthing feh bottom zellij eza bat maim vlc python-pillow i3lock-color \
|
||||
vlc fd ripgrep unzip npm bacon simple-scan dunst picom \
|
||||
adobe-source-han-sans-jp-fonts obs-studio git zsh wget lightdm \
|
||||
lightdm-webkit2-greeter xorg-server i3-gaps xorg-xbacklight xorg-xrandr \
|
||||
alsa-utils pulseaudio pulseaudio-alsa pulseaudio-bluetooth playerctl \
|
||||
pavucontrol btrfs-progs udiskie blueman acpi acpid tlp conky stow openssh \
|
||||
firefox veracrypt keepassxc ranger rofi chromium delta-git xdotool xclip \
|
||||
neofetch
|
||||
```
|
||||
|
||||
## Picture
|
||||
|
||||
[[./resources/24-03-15_16-06-52-alacritty.png]]
|
||||
|
||||
## Get Started
|
||||
|
||||
```sh
|
||||
git clone https://git.tudattr.dev/tudattr/dotfiles .dotfiles
|
||||
cd .dotfiles
|
||||
stow config
|
||||
stow vim
|
||||
stow zsh
|
||||
```
|
49
README.org
49
README.org
|
@ -1,49 +0,0 @@
|
|||
* .dotfiles
|
||||
|
||||
These are the personal dotfiles for my laptop.
|
||||
|
||||
Main tools I am currently using are (may be out of date):
|
||||
- alacritty
|
||||
- emacs (Doom Emacs)
|
||||
- vim
|
||||
- nu
|
||||
- starship
|
||||
- picom
|
||||
- i3wm
|
||||
- zellij
|
||||
- synthing (as my home directory)
|
||||
|
||||
#+CAPTION: Neofetch
|
||||
#+ATTR_HTML: :width 960px
|
||||
[[./resources/23-04-10_10-30-18-alacritty.png]]
|
||||
|
||||
** Getting started
|
||||
|
||||
*** Font setup
|
||||
|
||||
Since we're using a powerline font we need to install them first.
|
||||
|
||||
#+begin_src shell
|
||||
git clone https://github.com/powerline/fonts.git --depth=1
|
||||
./fonts/install.sh
|
||||
rm -rf fonts/
|
||||
#+end_src
|
||||
|
||||
*** Installing the dotfiles
|
||||
|
||||
To deploy the .dotfiles we use the tool stow.
|
||||
|
||||
#+begin_src shell
|
||||
git clone https://github.com/TuDatTr/dotfiles .dotfiles && cd .dotfiles
|
||||
stow emacs
|
||||
stow zsh
|
||||
stow config
|
||||
#+end_src
|
||||
|
||||
** Author
|
||||
|
||||
- Tuan-Dat Tran - [[https://gitlab.com/TuDatTr/][TuDatTr]]
|
||||
|
||||
** License
|
||||
|
||||
This project is licensed under the GPL-3.0 License - see LICENSE file for details.
|
|
@ -0,0 +1,9 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
#
|
||||
# This is a file to create necessary parts of this environment for behemoth
|
||||
# my desktop machine.
|
||||
#
|
||||
|
||||
ln -s /home/tuan/.dotfiles/emacs/.doom.d /home/tuan/.config/doom
|
||||
ln -s /home/tuan/.dotfiles/config/.ssh /home/tuan/.ssh
|
|
@ -1,6 +1,6 @@
|
|||
! urxvt
|
||||
! Fonts
|
||||
urxvt*font: xft:Hack Nerd Font Mono:style=Regular:size=11:hinting=full, xft:DejaVu Sans Mono for Powerline:size=11, SourceHanSans-Regular
|
||||
urxvt*font: xft:DejaVuSansM Nerd Font Mono:style=Regular:size=11:hinting=full
|
||||
|
||||
! Behavior
|
||||
urxvt*scrollBar: false
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
set -g prefix F12
|
||||
unbind-key -n C-a
|
|
@ -1,15 +0,0 @@
|
|||
# Status bar for tmux and screen
|
||||
|
||||
# Status beginning with '#' are disabled.
|
||||
|
||||
# Screen has two status lines, with 4 quadrants for status
|
||||
screen_upper_left="color"
|
||||
screen_upper_right="color whoami hostname ip_address menu"
|
||||
screen_lower_left="color logo distro release #arch session"
|
||||
screen_lower_right="color network #disk_io custom #entropy raid reboot_required updates_available #apport #services #mail users uptime #fan_speed #cpu_temp battery wifi_quality #processes load_average cpu_count cpu_freq memory #swap disk #time_utc date time"
|
||||
|
||||
|
||||
# Tmux has one status line, with 2 halves for status
|
||||
tmux_left=" logo #distro #release #arch #session"
|
||||
# You can have as many tmux right lines below here, and cycle through them using Shift-F5
|
||||
tmux_right="#network #disk_io #custom #entropy #raid #reboot_required #updates_available #apport #services #mail #users #uptime #fan_speed #cpu_temp battery #wifi_quality #processes #load_average #cpu_count #cpu_freq #memory #swap #disk #whoami #hostname ip_address #time_utc date time"
|
|
@ -1,5 +1,5 @@
|
|||
[font]
|
||||
size = 10
|
||||
size = 12
|
||||
|
||||
[font.bold]
|
||||
style = "Bold"
|
||||
|
@ -11,7 +11,7 @@ style = "Bold Italic"
|
|||
style = "Italic"
|
||||
|
||||
[font.normal]
|
||||
family = "DejaVu Sans Mono for Powerline"
|
||||
family = "DejaVuSansM Nerd Font Mono"
|
||||
style = "Regular"
|
||||
|
||||
[window]
|
||||
|
|
|
@ -1,895 +0,0 @@
|
|||
# Configuration for Alacritty, the GPU enhanced terminal emulator.
|
||||
|
||||
# Import additional configuration files
|
||||
#
|
||||
# Imports are loaded in order, skipping all missing files, with the importing
|
||||
# file being loaded last. If a field is already present in a previous import, it
|
||||
# will be replaced.
|
||||
#
|
||||
# All imports must either be absolute paths starting with `/`, or paths relative
|
||||
# to the user's home directory starting with `~/`.
|
||||
#import:
|
||||
# - /path/to/alacritty.yml
|
||||
|
||||
# Any items in the `env` entry below will be added as
|
||||
# environment variables. Some entries may override variables
|
||||
# set by alacritty itself.
|
||||
#env:
|
||||
# TERM variable
|
||||
#
|
||||
# This value is used to set the `$TERM` environment variable for
|
||||
# each instance of Alacritty. If it is not present, alacritty will
|
||||
# check the local terminfo database and use `alacritty` if it is
|
||||
# available, otherwise `xterm-256color` is used.
|
||||
#TERM: alacritty
|
||||
|
||||
window:
|
||||
# Window dimensions (changes require restart)
|
||||
#
|
||||
# Number of lines/columns (not pixels) in the terminal. Both lines and columns
|
||||
# must be non-zero for this to take effect. The number of columns must be at
|
||||
# least `2`, while using a value of `0` for columns and lines will fall back
|
||||
# to the window manager's recommended size
|
||||
#dimensions:
|
||||
# columns: 0
|
||||
# lines: 0
|
||||
|
||||
# Window position (changes require restart)
|
||||
#
|
||||
# Specified in number of pixels.
|
||||
# If the position is not set, the window manager will handle the placement.
|
||||
#position:
|
||||
# x: 0
|
||||
# y: 0
|
||||
|
||||
# Window padding (changes require restart)
|
||||
#
|
||||
# Blank space added around the window in pixels. This padding is scaled
|
||||
# by DPI and the specified value is always added at both opposing sides.
|
||||
#padding:
|
||||
# x: 0
|
||||
# y: 0
|
||||
|
||||
# Spread additional padding evenly around the terminal content.
|
||||
#dynamic_padding: false
|
||||
|
||||
# Window decorations
|
||||
#
|
||||
# Values for `decorations`:
|
||||
# - full: Borders and title bar
|
||||
# - none: Neither borders nor title bar
|
||||
#
|
||||
# Values for `decorations` (macOS only):
|
||||
# - transparent: Title bar, transparent background and title bar buttons
|
||||
# - buttonless: Title bar, transparent background and no title bar buttons
|
||||
decorations: none
|
||||
|
||||
# Background opacity
|
||||
#
|
||||
# Window opacity as a floating point number from `0.0` to `1.0`.
|
||||
# The value `0.0` is completely transparent and `1.0` is opaque.
|
||||
opacity: 0.9
|
||||
|
||||
# Startup Mode (changes require restart)
|
||||
#
|
||||
# Values for `startup_mode`:
|
||||
# - Windowed
|
||||
# - Maximized
|
||||
# - Fullscreen
|
||||
#
|
||||
# Values for `startup_mode` (macOS only):
|
||||
# - SimpleFullscreen
|
||||
#startup_mode: Windowed
|
||||
|
||||
# Window title
|
||||
#title: Alacritty
|
||||
|
||||
# Allow terminal applications to change Alacritty's window title.
|
||||
#dynamic_title: true
|
||||
|
||||
# Window class (Linux/BSD only):
|
||||
#class:
|
||||
# Application instance name
|
||||
#instance: Alacritty
|
||||
# General application class
|
||||
#general: Alacritty
|
||||
|
||||
# Decorations theme variant (Linux/BSD only)
|
||||
#
|
||||
# Override the variant of the GTK theme/Wayland client side decorations.
|
||||
# Commonly supported values are `dark` and `light`. Set this to `None` to use
|
||||
# the default theme variant.
|
||||
#decorations_theme_variant: None
|
||||
|
||||
#scrolling:
|
||||
# Maximum number of lines in the scrollback buffer.
|
||||
# Specifying '0' will disable scrolling.
|
||||
#history: 10000
|
||||
|
||||
# Scrolling distance multiplier.
|
||||
#multiplier: 3
|
||||
|
||||
# Font configuration
|
||||
font:
|
||||
# Normal (roman) font face
|
||||
normal:
|
||||
# Font family
|
||||
#
|
||||
# Default:
|
||||
# - (macOS) Menlo
|
||||
# - (Linux/BSD) monospace
|
||||
# - (Windows) Consolas
|
||||
family: DejaVu Sans Mono for Powerline
|
||||
|
||||
# The `style` can be specified to pick a specific face.
|
||||
style: Regular
|
||||
|
||||
# Bold font face
|
||||
bold:
|
||||
# Font family
|
||||
#
|
||||
# If the bold family is not specified, it will fall back to the
|
||||
# value specified for the normal font.
|
||||
# family: monospace
|
||||
|
||||
# The `style` can be specified to pick a specific face.
|
||||
style: Bold
|
||||
|
||||
# Italic font face
|
||||
italic:
|
||||
# Font family
|
||||
#
|
||||
# If the italic family is not specified, it will fall back to the
|
||||
# value specified for the normal font.
|
||||
# family: monospace
|
||||
|
||||
# The `style` can be specified to pick a specific face.
|
||||
style: Italic
|
||||
|
||||
# Bold italic font face
|
||||
bold_italic:
|
||||
# Font family
|
||||
#
|
||||
# If the bold italic family is not specified, it will fall back to the
|
||||
# value specified for the normal font.
|
||||
# family: monospace
|
||||
|
||||
# The `style` can be specified to pick a specific face.
|
||||
style: Bold Italic
|
||||
|
||||
# Point size
|
||||
size: 7
|
||||
|
||||
# Offset is the extra space around each character. `offset.y` can be thought
|
||||
# of as modifying the line spacing, and `offset.x` as modifying the letter
|
||||
# spacing.
|
||||
#offset:
|
||||
# x: 0
|
||||
# y: 0
|
||||
|
||||
# Glyph offset determines the locations of the glyphs within their cells with
|
||||
# the default being at the bottom. Increasing `x` moves the glyph to the
|
||||
# right, increasing `y` moves the glyph upward.
|
||||
#glyph_offset:
|
||||
# x: 0
|
||||
# y: 0
|
||||
|
||||
# Use built-in font for box drawing characters.
|
||||
#
|
||||
# If `true`, Alacritty will use a custom built-in font for box drawing
|
||||
# characters (Unicode points 2500 - 259f).
|
||||
#
|
||||
#builtin_box_drawing: true
|
||||
|
||||
# If `true`, bold text is drawn using the bright color variants.
|
||||
#draw_bold_text_with_bright_colors: false
|
||||
|
||||
# Colors (Tomorrow Night)
|
||||
#colors:
|
||||
# Default colors
|
||||
#primary:
|
||||
# background: '#1d1f21'
|
||||
# foreground: '#c5c8c6'
|
||||
|
||||
# Bright and dim foreground colors
|
||||
#
|
||||
# The dimmed foreground color is calculated automatically if it is not
|
||||
# present. If the bright foreground color is not set, or
|
||||
# `draw_bold_text_with_bright_colors` is `false`, the normal foreground
|
||||
# color will be used.
|
||||
#dim_foreground: '#828482'
|
||||
#bright_foreground: '#eaeaea'
|
||||
|
||||
# Cursor colors
|
||||
#
|
||||
# Colors which should be used to draw the terminal cursor.
|
||||
#
|
||||
# Allowed values are CellForeground/CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#cursor:
|
||||
# text: CellBackground
|
||||
# cursor: CellForeground
|
||||
|
||||
# Vi mode cursor colors
|
||||
#
|
||||
# Colors for the cursor when the vi mode is active.
|
||||
#
|
||||
# Allowed values are CellForeground/CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#vi_mode_cursor:
|
||||
# text: CellBackground
|
||||
# cursor: CellForeground
|
||||
|
||||
# Search colors
|
||||
#
|
||||
# Colors used for the search bar and match highlighting.
|
||||
#search:
|
||||
# Allowed values are CellForeground/CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#matches:
|
||||
# foreground: '#000000'
|
||||
# background: '#ffffff'
|
||||
#focused_match:
|
||||
# foreground: '#ffffff'
|
||||
# background: '#000000'
|
||||
|
||||
# Keyboard hints
|
||||
#hints:
|
||||
# First character in the hint label
|
||||
#
|
||||
# Allowed values are CellForeground/CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#start:
|
||||
# foreground: '#1d1f21'
|
||||
# background: '#e9ff5e'
|
||||
|
||||
# All characters after the first one in the hint label
|
||||
#
|
||||
# Allowed values are CellForeground/CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#end:
|
||||
# foreground: '#e9ff5e'
|
||||
# background: '#1d1f21'
|
||||
|
||||
# Line indicator
|
||||
#
|
||||
# Color used for the indicator displaying the position in history during
|
||||
# search and vi mode.
|
||||
#
|
||||
# By default, these will use the opposing primary color.
|
||||
#line_indicator:
|
||||
# foreground: None
|
||||
# background: None
|
||||
|
||||
# Footer bar
|
||||
#
|
||||
# Color used for the footer bar on the bottom, used by search regex input,
|
||||
# hyperlink URI preview, etc.
|
||||
#
|
||||
#footer_bar:
|
||||
# background: '#c5c8c6'
|
||||
# foreground: '#1d1f21'
|
||||
|
||||
# Selection colors
|
||||
#
|
||||
# Colors which should be used to draw the selection area.
|
||||
#
|
||||
# Allowed values are CellForeground/CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#selection:
|
||||
# text: CellBackground
|
||||
# background: CellForeground
|
||||
|
||||
# Normal colors
|
||||
#normal:
|
||||
# black: '#1d1f21'
|
||||
# red: '#cc6666'
|
||||
# green: '#b5bd68'
|
||||
# yellow: '#f0c674'
|
||||
# blue: '#81a2be'
|
||||
# magenta: '#b294bb'
|
||||
# cyan: '#8abeb7'
|
||||
# white: '#c5c8c6'
|
||||
|
||||
# Bright colors
|
||||
#bright:
|
||||
# black: '#666666'
|
||||
# red: '#d54e53'
|
||||
# green: '#b9ca4a'
|
||||
# yellow: '#e7c547'
|
||||
# blue: '#7aa6da'
|
||||
# magenta: '#c397d8'
|
||||
# cyan: '#70c0b1'
|
||||
# white: '#eaeaea'
|
||||
|
||||
# Dim colors
|
||||
#
|
||||
# If the dim colors are not set, they will be calculated automatically based
|
||||
# on the `normal` colors.
|
||||
#dim:
|
||||
# black: '#131415'
|
||||
# red: '#864343'
|
||||
# green: '#777c44'
|
||||
# yellow: '#9e824c'
|
||||
# blue: '#556a7d'
|
||||
# magenta: '#75617b'
|
||||
# cyan: '#5b7d78'
|
||||
# white: '#828482'
|
||||
|
||||
# Indexed Colors
|
||||
#
|
||||
# The indexed colors include all colors from 16 to 256.
|
||||
# When these are not set, they're filled with sensible defaults.
|
||||
#
|
||||
# Example:
|
||||
# `- { index: 16, color: '#ff00ff' }`
|
||||
#
|
||||
#indexed_colors: []
|
||||
|
||||
# Transparent cell backgrounds
|
||||
#
|
||||
# Whether or not `window.opacity` applies to all cell backgrounds or only to
|
||||
# the default background. When set to `true` all cells will be transparent
|
||||
# regardless of their background color.
|
||||
#transparent_background_colors: false
|
||||
|
||||
# Bell
|
||||
#
|
||||
# The bell is rung every time the BEL control character is received.
|
||||
#bell:
|
||||
# Visual Bell Animation
|
||||
#
|
||||
# Animation effect for flashing the screen when the visual bell is rung.
|
||||
#
|
||||
# Values for `animation`:
|
||||
# - Ease
|
||||
# - EaseOut
|
||||
# - EaseOutSine
|
||||
# - EaseOutQuad
|
||||
# - EaseOutCubic
|
||||
# - EaseOutQuart
|
||||
# - EaseOutQuint
|
||||
# - EaseOutExpo
|
||||
# - EaseOutCirc
|
||||
# - Linear
|
||||
#animation: EaseOutExpo
|
||||
|
||||
# Duration of the visual bell flash in milliseconds. A `duration` of `0` will
|
||||
# disable the visual bell animation.
|
||||
#duration: 0
|
||||
|
||||
# Visual bell animation color.
|
||||
#color: '#ffffff'
|
||||
|
||||
# Bell Command
|
||||
#
|
||||
# This program is executed whenever the bell is rung.
|
||||
#
|
||||
# When set to `command: None`, no command will be executed.
|
||||
#
|
||||
# Example:
|
||||
# command:
|
||||
# program: notify-send
|
||||
# args: ["Hello, World!"]
|
||||
#
|
||||
#command: None
|
||||
|
||||
#selection:
|
||||
# This string contains all characters that are used as separators for
|
||||
# "semantic words" in Alacritty.
|
||||
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
|
||||
|
||||
# When set to `true`, selected text will be copied to the primary clipboard.
|
||||
#save_to_clipboard: false
|
||||
|
||||
#cursor:
|
||||
# Cursor style
|
||||
#style:
|
||||
# Cursor shape
|
||||
#
|
||||
# Values for `shape`:
|
||||
# - ▇ Block
|
||||
# - _ Underline
|
||||
# - | Beam
|
||||
#shape: Block
|
||||
|
||||
# Cursor blinking state
|
||||
#
|
||||
# Values for `blinking`:
|
||||
# - Never: Prevent the cursor from ever blinking
|
||||
# - Off: Disable blinking by default
|
||||
# - On: Enable blinking by default
|
||||
# - Always: Force the cursor to always blink
|
||||
#blinking: Off
|
||||
|
||||
# Vi mode cursor style
|
||||
#
|
||||
# If the vi mode cursor style is `None` or not specified, it will fall back to
|
||||
# the style of the active value of the normal cursor.
|
||||
#
|
||||
# See `cursor.style` for available options.
|
||||
#vi_mode_style: None
|
||||
|
||||
# Cursor blinking interval in milliseconds.
|
||||
#blink_interval: 750
|
||||
|
||||
# Time after which cursor stops blinking, in seconds.
|
||||
#
|
||||
# Specifying '0' will disable timeout for blinking.
|
||||
#blink_timeout: 5
|
||||
|
||||
# If this is `true`, the cursor will be rendered as a hollow box when the
|
||||
# window is not focused.
|
||||
#unfocused_hollow: true
|
||||
|
||||
# Thickness of the cursor relative to the cell width as floating point number
|
||||
# from `0.0` to `1.0`.
|
||||
#thickness: 0.15
|
||||
|
||||
# Live config reload (changes require restart)
|
||||
#live_config_reload: true
|
||||
|
||||
# Shell
|
||||
#
|
||||
# You can set `shell.program` to the path of your favorite shell, e.g.
|
||||
# `/bin/fish`. Entries in `shell.args` are passed unmodified as arguments to the
|
||||
# shell.
|
||||
#
|
||||
# Default:
|
||||
# - (Linux/BSD/macOS) `$SHELL` or the user's login shell, if `$SHELL` is unset
|
||||
# - (Windows) powershell
|
||||
#shell:
|
||||
# program: /bin/bash
|
||||
# args:
|
||||
# - --login
|
||||
|
||||
# Startup directory
|
||||
#
|
||||
# Directory the shell is started in. If this is unset, or `None`, the working
|
||||
# directory of the parent process will be used.
|
||||
#working_directory: None
|
||||
|
||||
# Send ESC (\x1b) before characters when alt is pressed.
|
||||
#alt_send_esc: true
|
||||
|
||||
# Offer IPC using `alacritty msg` (unix only)
|
||||
#ipc_socket: true
|
||||
|
||||
#mouse:
|
||||
# Click settings
|
||||
#
|
||||
# The `double_click` and `triple_click` settings control the time
|
||||
# alacritty should wait for accepting multiple clicks as one double
|
||||
# or triple click.
|
||||
#double_click: { threshold: 300 }
|
||||
#triple_click: { threshold: 300 }
|
||||
|
||||
# If this is `true`, the cursor is temporarily hidden when typing.
|
||||
#hide_when_typing: false
|
||||
|
||||
# Hints
|
||||
#
|
||||
# Terminal hints can be used to find text or hyperlink in the visible part of
|
||||
# the terminal and pipe it to other applications.
|
||||
#hints:
|
||||
# Keys used for the hint labels.
|
||||
#alphabet: "jfkdls;ahgurieowpq"
|
||||
|
||||
# List with all available hints
|
||||
#
|
||||
# Each hint must have any of `regex` or `hyperlinks` field and either an
|
||||
# `action` or a `command` field. The fields `mouse`, `binding` and
|
||||
# `post_processing` are optional.
|
||||
#
|
||||
# The `hyperlinks` option will cause OSC 8 escape sequence hyperlinks to be
|
||||
# highlighted.
|
||||
#
|
||||
# The fields `command`, `binding.key`, `binding.mods`, `binding.mode` and
|
||||
# `mouse.mods` accept the same values as they do in the `key_bindings` section.
|
||||
#
|
||||
# The `mouse.enabled` field controls if the hint should be underlined while
|
||||
# the mouse with all `mouse.mods` keys held or the vi mode cursor is above it.
|
||||
#
|
||||
# If the `post_processing` field is set to `true`, heuristics will be used to
|
||||
# shorten the match if there are characters likely not to be part of the hint
|
||||
# (e.g. a trailing `.`). This is most useful for URIs and applies only to
|
||||
# `regex` matches.
|
||||
#
|
||||
# Values for `action`:
|
||||
# - Copy
|
||||
# Copy the hint's text to the clipboard.
|
||||
# - Paste
|
||||
# Paste the hint's text to the terminal or search.
|
||||
# - Select
|
||||
# Select the hint's text.
|
||||
# - MoveViModeCursor
|
||||
# Move the vi mode cursor to the beginning of the hint.
|
||||
#enabled:
|
||||
# - regex: "(ipfs:|ipns:|magnet:|mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\
|
||||
# [^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+"
|
||||
# hyperlinks: true
|
||||
# command: xdg-open
|
||||
# post_processing: true
|
||||
# mouse:
|
||||
# enabled: true
|
||||
# mods: None
|
||||
# binding:
|
||||
# key: U
|
||||
# mods: Control|Shift
|
||||
|
||||
# Mouse bindings
|
||||
#
|
||||
# Mouse bindings are specified as a list of objects, much like the key
|
||||
# bindings further below.
|
||||
#
|
||||
# To trigger mouse bindings when an application running within Alacritty
|
||||
# captures the mouse, the `Shift` modifier is automatically added as a
|
||||
# requirement.
|
||||
#
|
||||
# Each mouse binding will specify a:
|
||||
#
|
||||
# - `mouse`:
|
||||
#
|
||||
# - Middle
|
||||
# - Left
|
||||
# - Right
|
||||
# - Numeric identifier such as `5`
|
||||
#
|
||||
# - `action` (see key bindings for actions not exclusive to mouse mode)
|
||||
#
|
||||
# - Mouse exclusive actions:
|
||||
#
|
||||
# - ExpandSelection
|
||||
# Expand the selection to the current mouse cursor location.
|
||||
#
|
||||
# And optionally:
|
||||
#
|
||||
# - `mods` (see key bindings)
|
||||
#mouse_bindings:
|
||||
# - { mouse: Right, action: ExpandSelection }
|
||||
# - { mouse: Right, mods: Control, action: ExpandSelection }
|
||||
# - { mouse: Middle, mode: ~Vi, action: PasteSelection }
|
||||
|
||||
# Key bindings
|
||||
#
|
||||
# Key bindings are specified as a list of objects. For example, this is the
|
||||
# default paste binding:
|
||||
#
|
||||
# `- { key: V, mods: Control|Shift, action: Paste }`
|
||||
#
|
||||
# Each key binding will specify a:
|
||||
#
|
||||
# - `key`: Identifier of the key pressed
|
||||
#
|
||||
# - A-Z
|
||||
# - F1-F24
|
||||
# - Key0-Key9
|
||||
#
|
||||
# A full list with available key codes can be found here:
|
||||
# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
|
||||
#
|
||||
# Instead of using the name of the keys, the `key` field also supports using
|
||||
# the scancode of the desired key. Scancodes have to be specified as a
|
||||
# decimal number. This command will allow you to display the hex scancodes
|
||||
# for certain keys:
|
||||
#
|
||||
# `showkey --scancodes`.
|
||||
#
|
||||
# Then exactly one of:
|
||||
#
|
||||
# - `chars`: Send a byte sequence to the running application
|
||||
#
|
||||
# The `chars` field writes the specified string to the terminal. This makes
|
||||
# it possible to pass escape sequences. To find escape codes for bindings
|
||||
# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
|
||||
# of tmux. Note that applications use terminfo to map escape sequences back
|
||||
# to keys. It is therefore required to update the terminfo when changing an
|
||||
# escape sequence.
|
||||
#
|
||||
# - `action`: Execute a predefined action
|
||||
#
|
||||
# - ToggleViMode
|
||||
# - SearchForward
|
||||
# Start searching toward the right of the search origin.
|
||||
# - SearchBackward
|
||||
# Start searching toward the left of the search origin.
|
||||
# - Copy
|
||||
# - Paste
|
||||
# - IncreaseFontSize
|
||||
# - DecreaseFontSize
|
||||
# - ResetFontSize
|
||||
# - ScrollPageUp
|
||||
# - ScrollPageDown
|
||||
# - ScrollHalfPageUp
|
||||
# - ScrollHalfPageDown
|
||||
# - ScrollLineUp
|
||||
# - ScrollLineDown
|
||||
# - ScrollToTop
|
||||
# - ScrollToBottom
|
||||
# - ClearHistory
|
||||
# Remove the terminal's scrollback history.
|
||||
# - Hide
|
||||
# Hide the Alacritty window.
|
||||
# - Minimize
|
||||
# Minimize the Alacritty window.
|
||||
# - Quit
|
||||
# Quit Alacritty.
|
||||
# - ToggleFullscreen
|
||||
# - SpawnNewInstance
|
||||
# Spawn a new instance of Alacritty.
|
||||
# - CreateNewWindow
|
||||
# Create a new Alacritty window from the current process.
|
||||
# - ClearLogNotice
|
||||
# Clear Alacritty's UI warning and error notice.
|
||||
# - ClearSelection
|
||||
# Remove the active selection.
|
||||
# - ReceiveChar
|
||||
# - None
|
||||
#
|
||||
# - Vi mode exclusive actions:
|
||||
#
|
||||
# - Open
|
||||
# Perform the action of the first matching hint under the vi mode cursor
|
||||
# with `mouse.enabled` set to `true`.
|
||||
# - ToggleNormalSelection
|
||||
# - ToggleLineSelection
|
||||
# - ToggleBlockSelection
|
||||
# - ToggleSemanticSelection
|
||||
# Toggle semantic selection based on `selection.semantic_escape_chars`.
|
||||
# - CenterAroundViCursor
|
||||
# Center view around vi mode cursor
|
||||
#
|
||||
# - Vi mode exclusive cursor motion actions:
|
||||
#
|
||||
# - Up
|
||||
# One line up.
|
||||
# - Down
|
||||
# One line down.
|
||||
# - Left
|
||||
# One character left.
|
||||
# - Right
|
||||
# One character right.
|
||||
# - First
|
||||
# First column, or beginning of the line when already at the first column.
|
||||
# - Last
|
||||
# Last column, or beginning of the line when already at the last column.
|
||||
# - FirstOccupied
|
||||
# First non-empty cell in this terminal row, or first non-empty cell of
|
||||
# the line when already at the first cell of the row.
|
||||
# - High
|
||||
# Top of the screen.
|
||||
# - Middle
|
||||
# Center of the screen.
|
||||
# - Low
|
||||
# Bottom of the screen.
|
||||
# - SemanticLeft
|
||||
# Start of the previous semantically separated word.
|
||||
# - SemanticRight
|
||||
# Start of the next semantically separated word.
|
||||
# - SemanticLeftEnd
|
||||
# End of the previous semantically separated word.
|
||||
# - SemanticRightEnd
|
||||
# End of the next semantically separated word.
|
||||
# - WordLeft
|
||||
# Start of the previous whitespace separated word.
|
||||
# - WordRight
|
||||
# Start of the next whitespace separated word.
|
||||
# - WordLeftEnd
|
||||
# End of the previous whitespace separated word.
|
||||
# - WordRightEnd
|
||||
# End of the next whitespace separated word.
|
||||
# - Bracket
|
||||
# Character matching the bracket at the cursor's location.
|
||||
# - SearchNext
|
||||
# Beginning of the next match.
|
||||
# - SearchPrevious
|
||||
# Beginning of the previous match.
|
||||
# - SearchStart
|
||||
# Start of the match to the left of the vi mode cursor.
|
||||
# - SearchEnd
|
||||
# End of the match to the right of the vi mode cursor.
|
||||
#
|
||||
# - Search mode exclusive actions:
|
||||
# - SearchFocusNext
|
||||
# Move the focus to the next search match.
|
||||
# - SearchFocusPrevious
|
||||
# Move the focus to the previous search match.
|
||||
# - SearchConfirm
|
||||
# - SearchCancel
|
||||
# - SearchClear
|
||||
# Reset the search regex.
|
||||
# - SearchDeleteWord
|
||||
# Delete the last word in the search regex.
|
||||
# - SearchHistoryPrevious
|
||||
# Go to the previous regex in the search history.
|
||||
# - SearchHistoryNext
|
||||
# Go to the next regex in the search history.
|
||||
#
|
||||
# - macOS exclusive actions:
|
||||
# - ToggleSimpleFullscreen
|
||||
# Enter fullscreen without occupying another space.
|
||||
#
|
||||
# - Linux/BSD exclusive actions:
|
||||
#
|
||||
# - CopySelection
|
||||
# Copy from the selection buffer.
|
||||
# - PasteSelection
|
||||
# Paste from the selection buffer.
|
||||
#
|
||||
# - `command`: Fork and execute a specified command plus arguments
|
||||
#
|
||||
# The `command` field must be a map containing a `program` string and an
|
||||
# `args` array of command line parameter strings. For example:
|
||||
# `{ program: "alacritty", args: ["-e", "vttest"] }`
|
||||
#
|
||||
# And optionally:
|
||||
#
|
||||
# - `mods`: Key modifiers to filter binding actions
|
||||
#
|
||||
# - Command
|
||||
# - Control
|
||||
# - Option
|
||||
# - Super
|
||||
# - Shift
|
||||
# - Alt
|
||||
#
|
||||
# Multiple `mods` can be combined using `|` like this:
|
||||
# `mods: Control|Shift`.
|
||||
# Whitespace and capitalization are relevant and must match the example.
|
||||
#
|
||||
# - `mode`: Indicate a binding for only specific terminal reported modes
|
||||
#
|
||||
# This is mainly used to send applications the correct escape sequences
|
||||
# when in different modes.
|
||||
#
|
||||
# - AppCursor
|
||||
# - AppKeypad
|
||||
# - Search
|
||||
# - Alt
|
||||
# - Vi
|
||||
#
|
||||
# A `~` operator can be used before a mode to apply the binding whenever
|
||||
# the mode is *not* active, e.g. `~Alt`.
|
||||
#
|
||||
# Bindings are always filled by default, but will be replaced when a new
|
||||
# binding with the same triggers is defined. To unset a default binding, it can
|
||||
# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
|
||||
# a no-op if you do not wish to receive input characters for that binding.
|
||||
#
|
||||
# If the same trigger is assigned to multiple actions, all of them are executed
|
||||
# in the order they were defined in.
|
||||
#key_bindings:
|
||||
#- { key: Paste, action: Paste }
|
||||
#- { key: Copy, action: Copy }
|
||||
#- { key: L, mods: Control, action: ClearLogNotice }
|
||||
#- { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" }
|
||||
#- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp }
|
||||
#- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown }
|
||||
#- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop }
|
||||
#- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom }
|
||||
|
||||
# Vi Mode
|
||||
#- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode }
|
||||
#- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom }
|
||||
#- { key: Escape, mode: Vi|~Search, action: ClearSelection }
|
||||
#- { key: I, mode: Vi|~Search, action: ToggleViMode }
|
||||
#- { key: I, mode: Vi|~Search, action: ScrollToBottom }
|
||||
#- { key: C, mods: Control, mode: Vi|~Search, action: ToggleViMode }
|
||||
#- { key: Y, mods: Control, mode: Vi|~Search, action: ScrollLineUp }
|
||||
#- { key: E, mods: Control, mode: Vi|~Search, action: ScrollLineDown }
|
||||
#- { key: G, mode: Vi|~Search, action: ScrollToTop }
|
||||
#- { key: G, mods: Shift, mode: Vi|~Search, action: ScrollToBottom }
|
||||
#- { key: B, mods: Control, mode: Vi|~Search, action: ScrollPageUp }
|
||||
#- { key: F, mods: Control, mode: Vi|~Search, action: ScrollPageDown }
|
||||
#- { key: U, mods: Control, mode: Vi|~Search, action: ScrollHalfPageUp }
|
||||
#- { key: D, mods: Control, mode: Vi|~Search, action: ScrollHalfPageDown }
|
||||
#- { key: Y, mode: Vi|~Search, action: Copy }
|
||||
#- { key: Y, mode: Vi|~Search, action: ClearSelection }
|
||||
#- { key: Copy, mode: Vi|~Search, action: ClearSelection }
|
||||
#- { key: V, mode: Vi|~Search, action: ToggleNormalSelection }
|
||||
#- { key: V, mods: Shift, mode: Vi|~Search, action: ToggleLineSelection }
|
||||
#- { key: V, mods: Control, mode: Vi|~Search, action: ToggleBlockSelection }
|
||||
#- { key: V, mods: Alt, mode: Vi|~Search, action: ToggleSemanticSelection }
|
||||
#- { key: Return, mode: Vi|~Search, action: Open }
|
||||
#- { key: Z, mode: Vi|~Search, action: CenterAroundViCursor }
|
||||
#- { key: K, mode: Vi|~Search, action: Up }
|
||||
#- { key: J, mode: Vi|~Search, action: Down }
|
||||
#- { key: H, mode: Vi|~Search, action: Left }
|
||||
#- { key: L, mode: Vi|~Search, action: Right }
|
||||
#- { key: Up, mode: Vi|~Search, action: Up }
|
||||
#- { key: Down, mode: Vi|~Search, action: Down }
|
||||
#- { key: Left, mode: Vi|~Search, action: Left }
|
||||
#- { key: Right, mode: Vi|~Search, action: Right }
|
||||
#- { key: Key0, mode: Vi|~Search, action: First }
|
||||
#- { key: Key4, mods: Shift, mode: Vi|~Search, action: Last }
|
||||
#- { key: Key6, mods: Shift, mode: Vi|~Search, action: FirstOccupied }
|
||||
#- { key: H, mods: Shift, mode: Vi|~Search, action: High }
|
||||
#- { key: M, mods: Shift, mode: Vi|~Search, action: Middle }
|
||||
#- { key: L, mods: Shift, mode: Vi|~Search, action: Low }
|
||||
#- { key: B, mode: Vi|~Search, action: SemanticLeft }
|
||||
#- { key: W, mode: Vi|~Search, action: SemanticRight }
|
||||
#- { key: E, mode: Vi|~Search, action: SemanticRightEnd }
|
||||
#- { key: B, mods: Shift, mode: Vi|~Search, action: WordLeft }
|
||||
#- { key: W, mods: Shift, mode: Vi|~Search, action: WordRight }
|
||||
#- { key: E, mods: Shift, mode: Vi|~Search, action: WordRightEnd }
|
||||
#- { key: Key5, mods: Shift, mode: Vi|~Search, action: Bracket }
|
||||
#- { key: Slash, mode: Vi|~Search, action: SearchForward }
|
||||
#- { key: Slash, mods: Shift, mode: Vi|~Search, action: SearchBackward }
|
||||
#- { key: N, mode: Vi|~Search, action: SearchNext }
|
||||
#- { key: N, mods: Shift, mode: Vi|~Search, action: SearchPrevious }
|
||||
|
||||
# Search Mode
|
||||
#- { key: Return, mode: Search|Vi, action: SearchConfirm }
|
||||
#- { key: Escape, mode: Search, action: SearchCancel }
|
||||
#- { key: C, mods: Control, mode: Search, action: SearchCancel }
|
||||
#- { key: U, mods: Control, mode: Search, action: SearchClear }
|
||||
#- { key: W, mods: Control, mode: Search, action: SearchDeleteWord }
|
||||
#- { key: P, mods: Control, mode: Search, action: SearchHistoryPrevious }
|
||||
#- { key: N, mods: Control, mode: Search, action: SearchHistoryNext }
|
||||
#- { key: Up, mode: Search, action: SearchHistoryPrevious }
|
||||
#- { key: Down, mode: Search, action: SearchHistoryNext }
|
||||
#- { key: Return, mode: Search|~Vi, action: SearchFocusNext }
|
||||
#- { key: Return, mods: Shift, mode: Search|~Vi, action: SearchFocusPrevious }
|
||||
|
||||
# (Windows, Linux, and BSD only)
|
||||
#- { key: V, mods: Control|Shift, mode: ~Vi, action: Paste }
|
||||
#- { key: C, mods: Control|Shift, action: Copy }
|
||||
#- { key: F, mods: Control|Shift, mode: ~Search, action: SearchForward }
|
||||
#- { key: B, mods: Control|Shift, mode: ~Search, action: SearchBackward }
|
||||
#- { key: C, mods: Control|Shift, mode: Vi|~Search, action: ClearSelection }
|
||||
#- { key: Insert, mods: Shift, action: PasteSelection }
|
||||
#- { key: Key0, mods: Control, action: ResetFontSize }
|
||||
#- { key: Equals, mods: Control, action: IncreaseFontSize }
|
||||
#- { key: Plus, mods: Control, action: IncreaseFontSize }
|
||||
#- { key: NumpadAdd, mods: Control, action: IncreaseFontSize }
|
||||
#- { key: Minus, mods: Control, action: DecreaseFontSize }
|
||||
#- { key: NumpadSubtract, mods: Control, action: DecreaseFontSize }
|
||||
|
||||
# (Windows only)
|
||||
#- { key: Return, mods: Alt, action: ToggleFullscreen }
|
||||
|
||||
# (macOS only)
|
||||
#- { key: K, mods: Command, mode: ~Vi|~Search, chars: "\x0c" }
|
||||
#- { key: K, mods: Command, mode: ~Vi|~Search, action: ClearHistory }
|
||||
#- { key: Key0, mods: Command, action: ResetFontSize }
|
||||
#- { key: Equals, mods: Command, action: IncreaseFontSize }
|
||||
#- { key: Plus, mods: Command, action: IncreaseFontSize }
|
||||
#- { key: NumpadAdd, mods: Command, action: IncreaseFontSize }
|
||||
#- { key: Minus, mods: Command, action: DecreaseFontSize }
|
||||
#- { key: NumpadSubtract, mods: Command, action: DecreaseFontSize }
|
||||
#- { key: V, mods: Command, action: Paste }
|
||||
#- { key: C, mods: Command, action: Copy }
|
||||
#- { key: C, mods: Command, mode: Vi|~Search, action: ClearSelection }
|
||||
#- { key: H, mods: Command, action: Hide }
|
||||
#- { key: H, mods: Command|Alt, action: HideOtherApplications }
|
||||
#- { key: M, mods: Command, action: Minimize }
|
||||
#- { key: Q, mods: Command, action: Quit }
|
||||
#- { key: W, mods: Command, action: Quit }
|
||||
#- { key: N, mods: Command, action: SpawnNewInstance }
|
||||
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
|
||||
#- { key: F, mods: Command, mode: ~Search, action: SearchForward }
|
||||
#- { key: B, mods: Command, mode: ~Search, action: SearchBackward }
|
||||
|
||||
#debug:
|
||||
# Display the time it takes to redraw each frame.
|
||||
#render_timer: false
|
||||
|
||||
# Keep the log file after quitting Alacritty.
|
||||
#persistent_logging: false
|
||||
|
||||
# Log level
|
||||
#
|
||||
# Values for `log_level`:
|
||||
# - Off
|
||||
# - Error
|
||||
# - Warn
|
||||
# - Info
|
||||
# - Debug
|
||||
# - Trace
|
||||
#log_level: Warn
|
||||
|
||||
# Print all received window events.
|
||||
#print_events: false
|
||||
|
||||
# Highlight window damage information.
|
||||
#highlight_damage: false
|
|
@ -21,9 +21,8 @@ focus_follows_mouse no
|
|||
|
||||
# Configure
|
||||
# border style <normal|1pixel|pixel xx|none|pixel>
|
||||
new_window pixel 2
|
||||
new_float normal
|
||||
hide_edge_borders none
|
||||
default_border none
|
||||
|
||||
################################################################################################
|
||||
###################################### Workspace Settings ######################################
|
||||
|
@ -80,6 +79,7 @@ bindsym $mod+Shift+9 move container to workspace $ws9; workspace $ws9
|
|||
bindsym $mod+Shift+0 move container to workspace $ws0; workspace $ws0
|
||||
|
||||
# Open specific applications in floating mode
|
||||
<<<<<<< HEAD
|
||||
for_window [class="^Thunderbird$" title="^.*Event:"] floating enable
|
||||
|
||||
# https://github.com/z3ntu/dotfiles/blob/master/i3/.config/i3/config
|
||||
|
@ -93,22 +93,53 @@ for_window [class="^Steam$" title="^Steam - Self Updater$"] floating enable
|
|||
for_window [class="^Steam$" title="^Screenshot Uploader$"] floating enable
|
||||
for_window [class="^Steam$" title="^Steam Guard - Computer Authorization Required$"] floating enable
|
||||
for_window [title="^Steam Keyboard$"] floating enable
|
||||
||||||| e9d53f0
|
||||
for_window [class="(?i)virtualbox"] floating enable border normal
|
||||
for_window [title="KeePassX$"] floating enable border normal
|
||||
for_window [class="^Thunderbird$" title="^.*Event:"] floating enable
|
||||
|
||||
# https://github.com/z3ntu/dotfiles/blob/master/i3/.config/i3/config
|
||||
# Steam
|
||||
for_window [class="^Steam$" title="^Friends List$"] floating enable
|
||||
for_window [class="^Steam$" title="Steam"] floating enable
|
||||
for_window [class="^Steam$" title="^Settings$"] floating enable
|
||||
for_window [class="^Steam$" title=".* - event started"] floating enable
|
||||
for_window [class="^Steam$" title=".* CD key"] floating enable
|
||||
for_window [class="^Steam$" title="^Steam - Self Updater$"] floating enable
|
||||
for_window [class="^Steam$" title="^Screenshot Uploader$"] floating enable
|
||||
for_window [class="^Steam$" title="^Steam Guard - Computer Authorization Required$"] floating enable
|
||||
for_window [title="^Steam Keyboard$"] floating enable
|
||||
=======
|
||||
for_window [class="(?i)virtualbox"] floating enable border normal
|
||||
for_window [title="KeePassX$"] floating enable border normal
|
||||
>>>>>>> clean_emacs
|
||||
|
||||
###############################################################################
|
||||
############################ Startup Applications #############################
|
||||
###############################################################################
|
||||
|
||||
# exec --no-startup-id setxkbmap us,de; setxkbmap -option ctrl:nocaps; setxkbmap -option grp:lalt_lshift_toggle
|
||||
exec --no-startup-id setxkbmap eu; setxkbmap -option ctrl:nocaps;
|
||||
exec --no-startup-id picom
|
||||
exec --no-startup-id udiskie
|
||||
exec --no-startup-id conky -c ~/.conky/syclo-crimson-bottomleft.conkyrc
|
||||
# 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 ~/.scripts/startup.sh
|
||||
<<<<<<< HEAD
|
||||
exec --no-startup-id ~/.scripts/battery_stats.sh
|
||||
exec --no-startup-id llk
|
||||
||||||| e9d53f0
|
||||
exec --no-startup-id llk
|
||||
exec --no-startup-id emacs --daemon
|
||||
=======
|
||||
>>>>>>> clean_emacs
|
||||
exec --no-startup-id syncthing
|
||||
<<<<<<< HEAD
|
||||
exec --no-startup-id xrandr --output eDP1 --auto --left-of HDMI1 --output HDMI1 --off --output DP1 --off
|
||||
||||||| e9d53f0
|
||||
exec --no-startup-id xrandr --output eDP1 --auto --left-of HDMI1 --output HDMI1 --off --output DP1 --off; feh --randomize --bg-fill /home/tuan/Pictures/Wallpaper/*
|
||||
=======
|
||||
>>>>>>> clean_emacs
|
||||
exec --no-startup-id feh --randomize --bg-fill $HOME/Pictures/Wallpaper/*
|
||||
|
||||
###############################################################################
|
||||
|
@ -122,13 +153,13 @@ bindsym $mod+Shift+s exec poweroff
|
|||
|
||||
# start a terminal
|
||||
bindsym $mod+space exec alacritty
|
||||
bindsym $mod+Return exec alacritty -e nu /home/tuan/.scripts/zellij-chooser.nu
|
||||
bindsym $mod+Return exec alacritty -e zellij
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# start program launcher
|
||||
bindsym $mod+d exec --no-startup-id /home/tuan/.config/rofi/launchers/type-1/launcher.sh
|
||||
bindsym $mod+d exec --no-startup-id $HOME/.config/rofi/launchers/type-1/launcher.sh
|
||||
|
||||
# Screen brightness controls
|
||||
bindsym XF86MonBrightnessUp exec --no-startup-id ~/.scripts/screen.sh up
|
||||
|
@ -138,21 +169,30 @@ bindsym XF86MonBrightnessDown exec --no-startup-id ~/.scripts/screen.sh down
|
|||
bindsym XF86AudioLowerVolume exec --no-startup-id ~/.scripts/sound.sh down
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id ~/.scripts/sound.sh up
|
||||
bindsym XF86AudioMute exec --no-startup-id ~/.scripts/sound.sh toggle
|
||||
bindsym XF86AudioPlay exec "playerctl play-pause; cmus-remote -u"
|
||||
bindsym XF86AudioStop exec "playerctl stop; cmus-remote -s"
|
||||
bindsym XF86AudioNext exec "playerctl next; cmus-remote -n"
|
||||
bindsym XF86AudioPrevious exec "playerctl previous; cmus-remote -r"
|
||||
bindsym XF86AudioPlay exec "playerctl play-pause"
|
||||
bindsym XF86AudioStop exec "playerctl stop"
|
||||
bindsym XF86AudioNext exec "playerctl next"
|
||||
bindsym XF86AudioPrevious exec "playerctl previous"
|
||||
|
||||
# Application Shortcuts
|
||||
bindsym $mod+b exec firefox
|
||||
<<<<<<< HEAD
|
||||
bindsym $mod+p exec firefox --private-window https://mos4.de
|
||||
bindsym $mod+e exec emacs
|
||||
bindsym $mod+m exec thunderbird
|
||||
||||||| e9d53f0
|
||||
bindsym $mod+p exec firefox --private-window https://mos4.de
|
||||
bindsym $mod+e exec emacsclient -c
|
||||
bindsym $mod+m exec thunderbird
|
||||
=======
|
||||
bindsym $mod+p exec firefox --private-window https://tudattr.dev
|
||||
>>>>>>> clean_emacs
|
||||
|
||||
# Whole Screen
|
||||
bindsym Control+Print exec --no-startup-id ~/.scripts/screenshot.sh screen
|
||||
|
||||
# Window
|
||||
|
||||
bindsym Mod1+Sys_Req --release exec --no-startup-id ~/.scripts/screenshot.sh window
|
||||
|
||||
# Area
|
||||
|
@ -191,7 +231,7 @@ bindsym $mod+f fullscreen toggle
|
|||
bindsym $mod+Mod1+space floating toggle
|
||||
|
||||
# change focus between tiling / floating windows
|
||||
# bindsym $mod+space focus mode_toggle
|
||||
bindsym $mod+Shift+f focus mode_toggle
|
||||
|
||||
# focus the parent container
|
||||
bindsym $mod+a focus parent
|
||||
|
@ -313,3 +353,4 @@ bindsym $mod+g mode "default"
|
|||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
|
||||
|
|
|
@ -1,392 +0,0 @@
|
|||
[colors]
|
||||
background = ${xrdb:color0:#22300}
|
||||
background-alt = ${xrdb:color8:#fa400}
|
||||
foreground = ${xrdb:color7:#cdd}
|
||||
foreground-alt = ${xrdb:color15:#eef}
|
||||
black = ${xrdb:color0:#233}
|
||||
red = ${xrdb:color1:#f90}
|
||||
green = ${xrdb:color2:#8c4}
|
||||
yellow = ${xrdb:color3:#fc0}
|
||||
blue = ${xrdb:color4:#0af}
|
||||
magenta = ${xrdb:color5:#e16}
|
||||
cyan = ${xrdb:color6:#098}
|
||||
white = ${xrdb:color7:#cdd}
|
||||
|
||||
[bar/systray]
|
||||
width = 100%
|
||||
height = 25
|
||||
|
||||
radius = 6.0
|
||||
fixed-center = true
|
||||
|
||||
tray-position = right
|
||||
tray-padding = 0
|
||||
|
||||
background = #00000000
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
module-margin-left = 1
|
||||
module-margin-right = 1
|
||||
|
||||
font-0 = DejaVu Sans Mono for Powerline:pixelsize=10;1
|
||||
# font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
|
||||
# font-2 = siji:pixelsize=10;1
|
||||
# font-3 = FontAwesome:style=Regular:pixelsize=10
|
||||
|
||||
modules-left =
|
||||
modules-center = i3
|
||||
modules-right =
|
||||
|
||||
cursor-click = pointer
|
||||
cursor-scroll = ns-resize
|
||||
|
||||
|
||||
[bar/beep]
|
||||
width = 100%
|
||||
height = 25
|
||||
|
||||
radius = 6.0
|
||||
fixed-center = true
|
||||
|
||||
tray-position = right
|
||||
tray-padding = 2
|
||||
|
||||
background = #00000000
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
module-margin-left = 1
|
||||
module-margin-right = 1
|
||||
|
||||
font-0 = fixed:pixelsize=10;1
|
||||
font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
|
||||
font-2 = siji:pixelsize=10;1
|
||||
font-3 = FontAwesome:style=Regular:pixelsize=10
|
||||
|
||||
modules-left = volume xkeyboard
|
||||
modules-center = date
|
||||
modules-right =
|
||||
|
||||
cursor-click = pointer
|
||||
cursor-scroll = ns-resize
|
||||
|
||||
[bar/boop]
|
||||
width = 100%
|
||||
height = 2%
|
||||
bottom = true
|
||||
radius = 6.0
|
||||
fixed-center = true
|
||||
|
||||
background = #00000000
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
line-size = 0
|
||||
|
||||
line-color = ${colors.blue}
|
||||
|
||||
border-size = 0
|
||||
border-color = #00000000
|
||||
|
||||
padding-left = 0
|
||||
padding-right = 2
|
||||
|
||||
module-margin-left = 1
|
||||
module-margin-right = 2
|
||||
|
||||
font-0 = fixed:pixelsize=10;1
|
||||
font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
|
||||
font-2 = siji:pixelsize=10;1
|
||||
font-3 = FontAwesome:style=Regular:pixelsize=10
|
||||
|
||||
modules-left = airvpn
|
||||
modules-center = i3
|
||||
modules-right = xbacklight wlan eth battery1 powermenu
|
||||
|
||||
cursor-click = pointer
|
||||
cursor-scroll = ns-resize
|
||||
|
||||
[module/xkeyboard]
|
||||
type = internal/xkeyboard
|
||||
blacklist-0 = num lock
|
||||
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.foreground-alt}
|
||||
format-prefix-underline = ${colors.magenta}
|
||||
|
||||
label-layout = %layout%
|
||||
label-layout-underline = ${colors.magenta}
|
||||
|
||||
label-indicator-padding = 2
|
||||
label-indicator-margin = 1
|
||||
label-indicator-background = ${colors.magenta}
|
||||
label-indicator-underline = ${colors.magenta}
|
||||
|
||||
[module/spotify]
|
||||
type = custom/script
|
||||
exec-if = pgrep -x spotify
|
||||
exec = echo "$(playerctl metadata xesam:artist) - $(playerctl metadata xesam:title)"
|
||||
|
||||
[module/spotify-prev]
|
||||
type = custom/script
|
||||
exec-if = pgrep -x spotify
|
||||
exec = echo ""
|
||||
click-left = bash -c "playerctl previous"
|
||||
|
||||
[module/spotify-next]
|
||||
type = custom/script
|
||||
exec-if = pgrep -x spotify
|
||||
exec = echo ""
|
||||
click-left = bash -c "playerctl next"
|
||||
|
||||
[module/spotify-play]
|
||||
type = custom/script
|
||||
exec-if = pgrep -x spotify
|
||||
exec = ~/.scripts/spotify-play.out
|
||||
tail = true
|
||||
click-left = bash -c "if [ `cat /home/$USER/.scripts/playstate` = 0 ]; then echo '1'>/home/$USER/.scripts/playstate;else echo '0'>/home/$USER/.scripts/playstate;fi"
|
||||
|
||||
[module/spotify-stop]
|
||||
type = custom/script
|
||||
exec-if = pgrep -x spotify
|
||||
exec = echo ""
|
||||
tail = true
|
||||
click-left = bash -c "playerctl stop && echo '0'>/home/$USER/.scripts/playstate"
|
||||
|
||||
[module/airvpn]
|
||||
type = custom/script
|
||||
exec-if =
|
||||
exec = "if [[ $(ip addr | grep tun) ]]; then echo 'VPN: connected'; else echo 'VPN: disconnectd'; fi"
|
||||
tail = true
|
||||
|
||||
|
||||
[module/i3]
|
||||
type = internal/i3
|
||||
|
||||
pin-workspaces = true
|
||||
|
||||
strip-wsnumbers = true
|
||||
|
||||
index-sort = false
|
||||
|
||||
enable-click = false
|
||||
|
||||
enable-scroll = false
|
||||
|
||||
wrapping-scroll = false
|
||||
|
||||
reverse-scroll = false
|
||||
|
||||
fuzzy-match = true
|
||||
|
||||
ws-icon-0 = 1;
|
||||
ws-icon-1 = 2;
|
||||
ws-icon-2 = 3;
|
||||
ws-icon-3 = 4;
|
||||
ws-icon-4 = 5;
|
||||
ws-icon-5 = 6;
|
||||
ws-icon-6 = 7;
|
||||
ws-icon-7 = 8;
|
||||
ws-icon-8 = 9;
|
||||
ws-icon-default =
|
||||
|
||||
format = <label-state>
|
||||
|
||||
label-mode = %mode%
|
||||
label-mode-padding = 2
|
||||
label-mode-background = ${colors.black}
|
||||
|
||||
label-focused = %name%
|
||||
label-focused-foreground = ${colors.foreground}
|
||||
label-focused-background = ${colors.background}
|
||||
label-focused-underline = ${colors.blue}
|
||||
label-focused-padding = 4
|
||||
|
||||
label-unfocused = %name%
|
||||
label-unfocused-padding = 4
|
||||
|
||||
label-visible = %name%
|
||||
label-visible-underline = ${colors.red}
|
||||
label-visible-padding = 4
|
||||
|
||||
label-urgent = %name%
|
||||
label-urgent-foreground = ${colors.black}
|
||||
label-urgent-background = ${colors.red}
|
||||
label-urgent-padding = 4
|
||||
|
||||
[module/xbacklight]
|
||||
type = internal/xbacklight
|
||||
|
||||
format = <label>
|
||||
label = %percentage%%
|
||||
label-underline = ${colors.yellow}
|
||||
|
||||
[module/backlight-acpi]
|
||||
inherit = module/xbacklight
|
||||
type = internal/backlight
|
||||
card = intel_backlight
|
||||
|
||||
[module/wlan]
|
||||
type = internal/network
|
||||
interface = wlp2s0
|
||||
interval = 3.0
|
||||
|
||||
format-connected = <label-connected>
|
||||
format-connected-underline = ${colors.cyan}
|
||||
label-connected = %essid%
|
||||
|
||||
format-disconnected =
|
||||
;format-disconnected = <label-disconnected>
|
||||
;format-disconnected-underline = ${self.format-connected-underline}
|
||||
;label-disconnected = %ifname% disconnected
|
||||
;label-disconnected-foreground = ${colors.foreground-alt}
|
||||
|
||||
|
||||
[module/date]
|
||||
type = internal/date
|
||||
interval = 1
|
||||
|
||||
date =
|
||||
date-alt = " %Y-%m-%d"
|
||||
|
||||
time = " %H:%M:%S"
|
||||
time-alt =
|
||||
|
||||
format-prefix =
|
||||
format-prefix-foreground = ${colors.foreground-alt}
|
||||
format-underline = ${colors.magenta}
|
||||
|
||||
label = %date% %time%
|
||||
|
||||
[module/volume]
|
||||
type = internal/volume
|
||||
|
||||
format-volume = <label-volume> <bar-volume>
|
||||
label-volume =
|
||||
label-volume-foreground = ${root.foreground}
|
||||
format-volume-underline = ${colors.green}
|
||||
|
||||
|
||||
format-muted-foreground = ${colors.foreground-alt}
|
||||
label-muted = Muted
|
||||
label-muted-underline = ${colors.red}
|
||||
|
||||
bar-volume-width = 10
|
||||
bar-volume-foreground-0 = ${colors.green}
|
||||
bar-volume-foreground-1 = ${colors.green}
|
||||
bar-volume-foreground-2 = ${colors.green}
|
||||
bar-volume-foreground-3 = ${colors.green}
|
||||
bar-volume-foreground-4 = ${colors.green}
|
||||
bar-volume-foreground-5 = ${colors.yellow}
|
||||
bar-volume-foreground-6 = ${colors.red}
|
||||
bar-volume-gradient = true
|
||||
bar-volume-indicator = |
|
||||
bar-volume-indicator-font = 2
|
||||
bar-volume-fill = ─
|
||||
bar-volume-fill-font = 2
|
||||
bar-volume-empty = ─
|
||||
bar-volume-empty-font = 2
|
||||
bar-volume-empty-foreground = ${colors.foreground-alt}
|
||||
|
||||
[module/battery1]
|
||||
type = internal/battery
|
||||
battery = BAT0
|
||||
adapter = AC0
|
||||
full-at = 98
|
||||
|
||||
format-charging = <animation-charging> <label-charging>
|
||||
format-charging-underline = ${colors.yellow}
|
||||
|
||||
format-discharging = <ramp-capacity> <label-discharging>
|
||||
format-discharging-underline = ${self.format-charging-underline}
|
||||
|
||||
format-full-prefix =
|
||||
format-full-prefix-foreground = ${colors.foreground-alt}
|
||||
format-full-underline = ${self.format-charging-underline}
|
||||
|
||||
ramp-capacity-0 =
|
||||
ramp-capacity-1 =
|
||||
ramp-capacity-2 =
|
||||
ramp-capacity-3 =
|
||||
ramp-capacity-4 =
|
||||
ramp-capacity-foreground = ${colors.foreground-alt}
|
||||
|
||||
animation-charging-0 =
|
||||
animation-charging-1 =
|
||||
animation-charging-2 =
|
||||
animation-charging-3 =
|
||||
animation-charging-4 =
|
||||
animation-charging-foreground = ${colors.foreground-alt}
|
||||
animation-charging-framerate = 750
|
||||
|
||||
[module/battery2]
|
||||
type = internal/battery
|
||||
battery = BAT1
|
||||
adapter = ACP0
|
||||
full-at = 98
|
||||
|
||||
format-charging = <animation-charging> <label-charging>
|
||||
format-charging-underline = ${colors.yellow}
|
||||
|
||||
format-discharging = <ramp-capacity> <label-discharging>
|
||||
format-discharging-underline = ${self.format-charging-underline}
|
||||
|
||||
format-full-prefix =
|
||||
format-full-prefix-foreground = ${colors.foreground-alt}
|
||||
format-full-underline = ${self.format-charging-underline}
|
||||
|
||||
ramp-capacity-0 =
|
||||
ramp-capacity-1 =
|
||||
ramp-capacity-2 =
|
||||
ramp-capacity-3 =
|
||||
ramp-capacity-4 =
|
||||
ramp-capacity-foreground = ${colors.foreground-alt}
|
||||
|
||||
animation-charging-0 =
|
||||
animation-charging-1 =
|
||||
animation-charging-2 =
|
||||
animation-charging-3 =
|
||||
animation-charging-4 =
|
||||
animation-charging-foreground = ${colors.foreground-alt}
|
||||
animation-charging-framerate = 750
|
||||
|
||||
# [module/powermenu]
|
||||
# type = custom/menu
|
||||
# expand-right = true
|
||||
# format-spacing = 1
|
||||
#
|
||||
# label-open =
|
||||
# label-open-foreground = ${colors.magenta}
|
||||
# label-close = cancel
|
||||
# label-close-foreground = ${colors.magenta}
|
||||
# label-separator = |
|
||||
# label-separator-foreground = ${colors.foreground-alt}
|
||||
#
|
||||
# menu-0-0 = power off
|
||||
# menu-0-0-exec = poweroff
|
||||
# menu-0-1 = reboot
|
||||
# menu-0-1-exec = reboot
|
||||
# menu-0-2 = logout
|
||||
# menu-0-2-exec = dm-tool lock
|
||||
|
||||
;; Power Menu Module
|
||||
[module/powermenu]
|
||||
type = custom/text
|
||||
|
||||
content = aaa
|
||||
content-background = ${colors.magenta}
|
||||
content-foreground = ${colors.magenta}
|
||||
|
||||
click-left = ~/.config/rofi/powermenu/type-1/powermenu.sh
|
||||
click-right = powermenu_t1
|
||||
|
||||
[settings]
|
||||
;screenchange-reload = true
|
||||
;compositing-background = xor
|
||||
;compositing-background = screen
|
||||
;compositing-foreground = source
|
||||
;compositing-border = over
|
||||
|
||||
[global/wm]
|
||||
margin-top = 5
|
||||
margin-bottom = 5
|
||||
|
||||
|
|
@ -16,5 +16,5 @@ theme='style-7'
|
|||
|
||||
## Run
|
||||
rofi \
|
||||
-show run \
|
||||
-theme ${dir}/${theme}.rasi
|
||||
-show run \
|
||||
-theme ${dir}/${theme}.rasi
|
||||
|
|
|
@ -1,208 +0,0 @@
|
|||
|
||||
# you can edit this file to change keybindings lines that start with '#' are comments
|
||||
# the syntax is pretty simple. Some examples:
|
||||
#command k (command is executed when k is pressed)
|
||||
#command <C-k> (command is executed when k is pressed while holding control)
|
||||
#command <S-k> (command is executed when k is pressed while holding shift)
|
||||
#command <A-k> (command is executed when k is pressed while holding alt)
|
||||
#command <S-+> (command is executed when = is pressed while holding shift.
|
||||
# Note that <S-=> would not work because of a bug in the command system so
|
||||
# when prefixing non-ascii keys with shift, you have to specify the shift
|
||||
# modified key in addition to the shift modifier)
|
||||
#command <C-S-k> (command is executed when k is pressed while holding control and shift)
|
||||
#command gg (command is executed when g is pressed twice)
|
||||
#command gt (command is executed when g is pressed and then t is pressed)
|
||||
#command g<C-n><S-d>t (command is executed when g is pressed and then n is pressed while holding\
|
||||
# control and then d is pressed while holding shift and then t is pressed)
|
||||
|
||||
|
||||
# ---------- NAVIGATION AND ZOOM ----------
|
||||
|
||||
# Goto the begining of document. If prefixed with a number, it will go to that page.
|
||||
# for example 150gg goes to page 150.
|
||||
goto_begining gg
|
||||
goto_begining <C-<home>>
|
||||
|
||||
# Opens a prompt to enter page number and jump to that page
|
||||
goto_page_with_page_number <home>
|
||||
|
||||
# Goto the end of the document
|
||||
goto_end <end>
|
||||
goto_end <S-g>
|
||||
|
||||
# movement (can be prefixed with a number)
|
||||
move_down <down>
|
||||
move_up <up>
|
||||
move_left <right>
|
||||
move_right <left>
|
||||
move_down j
|
||||
move_up k
|
||||
move_left l
|
||||
move_right h
|
||||
|
||||
# Goto forward for one page width. (can be prefixed with a number)
|
||||
# (note that going forward for one page width is not usually what you want becaue if
|
||||
# the page is larger than the screen you will miss some content. What you usually want is screen_down)
|
||||
next_page <C-<pagedown>>
|
||||
previous_page <C-<pageup>>
|
||||
|
||||
# Go down one screen width (can be prefixed with a number which tells how many screen widths should we go down)
|
||||
screen_down <space>
|
||||
screen_up <S-space>
|
||||
screen_down <pagedown>
|
||||
screen_up <pageup>
|
||||
|
||||
# Goto the next/prev chapter
|
||||
next_chapter gc
|
||||
prev_chapter g<S-c>
|
||||
|
||||
# Goto previous viewing state and delete the current (and future) state(s).
|
||||
pop_state w
|
||||
|
||||
# if we are not at the end of viewing history, goto the next history point
|
||||
next_state <l>
|
||||
# goto the previous history point
|
||||
prev_state <h>
|
||||
prev_state <backspace>
|
||||
next_state <C-<right>>
|
||||
prev_state <C-<left>>
|
||||
|
||||
# Open table of contents.
|
||||
goto_toc t
|
||||
|
||||
# zoom
|
||||
zoom_in <S-+>
|
||||
zoom_in =
|
||||
zoom_out -
|
||||
|
||||
# Automatically set the zoom level and horizontal offset such that the current page is centered horizontally and
|
||||
# it fills the screen width
|
||||
fit_to_page_width <f9>
|
||||
# same as fit_to_page_with but ignores page margins
|
||||
fit_to_page_width_smart <f10>
|
||||
|
||||
# Open a file dialog to select a document.
|
||||
open_document o
|
||||
open_document_embedded <C-o>
|
||||
open_document_embedded_from_current_path <C-S-o>
|
||||
|
||||
# Open a searchable list of previously opened documents.
|
||||
open_prev_doc <S-o>
|
||||
|
||||
|
||||
# ---------- SEARCH ----------
|
||||
|
||||
# search the document.
|
||||
# example: /something (searches the document for 'something')
|
||||
# you can also specify a page range to search:
|
||||
# example: /<110,135>something (searches pages 110 to 135 (inclusive) for 'something')
|
||||
search <C-f>
|
||||
search /
|
||||
|
||||
# this is the same as search.
|
||||
ranged_search r<C-f>
|
||||
ranged_search r/
|
||||
|
||||
# searches the current chapter. This is essentially the same as search but the range prefix is autofilled
|
||||
# with the range of the current lowest level subchapter.
|
||||
chapter_search c<C-f>
|
||||
chapter_search c/
|
||||
|
||||
# Goto the next search item. Can be prefixed with a number which is the same as performing the command n times
|
||||
# for example if we are on the 10th search result and we input 15n, we go to the 25th search result.
|
||||
next_item n
|
||||
# Goto the previous search result. Can be prefixed with a number with similar rules as next_item.
|
||||
previous_item <S-n>
|
||||
|
||||
# ---------- BOOKMARKS ----------
|
||||
# Add a bookmark in the current location (opens a text input where you can specify the bookmark text)
|
||||
add_bookmark b
|
||||
delete_bookmark db
|
||||
|
||||
# Open bookmarks menu of the current document.
|
||||
goto_bookmark gb
|
||||
|
||||
# Open bookmarks menu of all documents.
|
||||
goto_bookmark_g g<S-b>
|
||||
|
||||
# ---------- HIGHLIGHTS ----------
|
||||
# you can select a piece of text and press the `add_highlight` shortcut followed by a symbol (a character from a-z) to highlight
|
||||
# the text
|
||||
add_highlight h
|
||||
# search in highlights of current document
|
||||
goto_highlight gh
|
||||
# search in highlights of all documents
|
||||
goto_highlight_g g<S-h>
|
||||
# click on a highlight and then press the `delete_highlight` shortcut to delete it.
|
||||
delete_highlight dh
|
||||
|
||||
# ---------- MARKS ----------
|
||||
|
||||
# Mark the current location. After pressing the mark button, you must enter a symbol (a letter from a-z or A-Z).
|
||||
# this marks the current location in the file with the entered symbol. Afterwards you will be able to return to
|
||||
# the locations of the marks using goto_mark command.
|
||||
# example: mm (marks the current location in the file with a mark named 'm')
|
||||
set_mark m
|
||||
# Goto a previously set mark. After pressing goto_mark you must enter a symbol associated with a previously set mark.
|
||||
# example: `m (goes to the location of the mark named m)
|
||||
goto_mark `
|
||||
|
||||
|
||||
# ---------- PORTALS ----------
|
||||
# If we are in default state, goto portal state with the current location in document as the portal source
|
||||
# if we are already in the portal state, create the portal with the current location as destination.
|
||||
link p
|
||||
|
||||
# Delete the portal with the closest source to current location
|
||||
delete_link dp
|
||||
|
||||
# Goto the position of the portal with the closest source to current location
|
||||
goto_link <tab>
|
||||
|
||||
# Similar to goto_link, except when prev_state is called, the destination of the link is update to be the state
|
||||
# on which prev_state is called
|
||||
edit_link <S-p>
|
||||
edit_link <S-<tab>>
|
||||
|
||||
# Open/Close the helper window for portals
|
||||
toggle_one_window <f12>
|
||||
|
||||
# ---------- MISC ----------
|
||||
|
||||
# copy selected text
|
||||
copy y
|
||||
|
||||
toggle_fullscreen <f11>
|
||||
|
||||
# Toggles whether we highlight pdf links or not
|
||||
toggle_highlight <f1>
|
||||
|
||||
# open command line
|
||||
command <S-:>
|
||||
|
||||
# seach the selected text using one of the search engines defined using search_url_* settings in prefs.config (* can be any letter between 'a' and 'z')
|
||||
external_search s
|
||||
|
||||
#search_selected_text_in_google_scholar ss
|
||||
#search_selected_text_in_libgen sl
|
||||
|
||||
open_selected_url <S-q>
|
||||
|
||||
toggle_dark_mode <f8>
|
||||
|
||||
# toggle synctex mode. When in synctex mode, right clicking on a pdf launches the corresponding latex page.
|
||||
toggle_synctex <f4>
|
||||
|
||||
# while in mouse drag mode, instead of selecting text you can pan the screen using mouse
|
||||
toggle_mouse_drag_mode <f6>
|
||||
|
||||
# command the move the visual mark to the next/previous line
|
||||
#move_visual_mark_up k
|
||||
#move_visual_mark_down j
|
||||
|
||||
# In visual scroll mode, mouse wheel performs `move_visual_mark_up` and `move_visual_mark_down` commands
|
||||
toggle_visual_scroll <f7>
|
||||
|
||||
toggle_presentation_mode <f5>
|
||||
|
||||
quit q
|
|
@ -1,137 +0,0 @@
|
|||
# (can be 0 or 1) if set, shows a notification on startup if a new version of sioyek is available
|
||||
check_for_updates_on_startup 0
|
||||
|
||||
# The color with which the screen is cleared before rendering the pdf
|
||||
background_color 1.0 1.0 1.0
|
||||
dark_mode_background_color 0.0 0.0 0.0
|
||||
|
||||
# Showing full white text on black background can be irritating for the eye, we can dim the whites a little bit using the contrast option
|
||||
dark_mode_contrast 0.8
|
||||
|
||||
# Highlight color when text is selected using mouse
|
||||
text_highlight_color 1.0 1.0 0.0
|
||||
|
||||
# The color of highlight bar which is displayed when right click is pressed
|
||||
vertical_line_color 0.0 0.0 0.0 0.1
|
||||
|
||||
# Highlight color when text is a search match
|
||||
search_highlight_color 0.0 1.0 0.0
|
||||
|
||||
# Hihglight color for PDF links (note that highlight is off by default
|
||||
# and can only be seen by performing a toggle_highlight command. See keys.config for more details)
|
||||
link_highlight_color 0.0 0.0 1.0
|
||||
|
||||
# Hihglight color for synctex forward search highlights
|
||||
synctex_highlight_color 1.0 0.0 1.0
|
||||
|
||||
# urls to use when executing external_search commands
|
||||
search_url_s https://scholar.google.com/scholar?q=
|
||||
search_url_l http://gen.lib.rus.ec/scimag/?q=
|
||||
search_url_g https://www.google.com/search?q=
|
||||
|
||||
# which search url to choose when middle clicking or shift middle clicking on text (the values are the letters of corresponding search_url_* )
|
||||
# for example if i set `middle_click_search_engine s`, then we use the url associated with `search_url_s` to handle middle click searches
|
||||
middle_click_search_engine s
|
||||
shift_middle_click_search_engine l
|
||||
|
||||
# The factor by which we increase/decrease zoom when performing zoom_in or zoom_out
|
||||
zoom_inc_factor 1.2
|
||||
|
||||
# How many inches we move vertically/horizontally when performing move_* commands
|
||||
vertical_move_amount 1.0
|
||||
horizontal_move_amount 1.0
|
||||
|
||||
# When performing screen_down/screen_up we usually don't move a full screen because it causes the user to lose context
|
||||
# Here we specify the fraction of the screen width by which we move when performing these commands
|
||||
move_screen_percentage 0.5
|
||||
|
||||
# If 0, Table of Contents is shown in a hierarchial tree, otherwise it is a flat list (can improve performance for extremely large table of contents)
|
||||
flat_toc 0
|
||||
|
||||
# If it is 1, when launching the application if we detect multiple monitors, we automatically launch the helper window in second monitor
|
||||
should_use_multiple_monitors 0
|
||||
|
||||
# if the last opened document is empty, load the tutorial pdf instead
|
||||
should_load_tutorial_when_no_other_file 1
|
||||
|
||||
# if it is 0, then we use the previous instance of sioyek when launching a new file.
|
||||
# otherwise a new instance is launched every time we open a new file.
|
||||
should_launch_new_instance 0
|
||||
|
||||
# the command to use when trying to do inverse search into a LaTeX document. Uncomment and provide your own command.
|
||||
# %1 expands to the name of the file and %2 expans to the line number.
|
||||
#inverse_search_command "C:\path\to\vscode\Code.exe" -r -g %1:%2
|
||||
|
||||
# you can specify the exact highlight color for each of 26 different highlight types
|
||||
|
||||
# when moving to the next line using visual marker, this setting specifies the distance of the market to the top of the screen in fractions of screen size
|
||||
visual_mark_next_page_fraction 0.25
|
||||
|
||||
# when moving to the next line using visual marker, this setting determines at which point we move the screen
|
||||
visual_mark_next_page_fraction 0.2
|
||||
|
||||
#Amethyst
|
||||
highlight_color_a 0.94 0.64 1.00
|
||||
#Blue
|
||||
highlight_color_b 0.00 0.46 0.86
|
||||
#Caramel
|
||||
highlight_color_c 0.60 0.25 0.00
|
||||
#Damson
|
||||
highlight_color_d 0.30 0.00 0.36
|
||||
#Ebony
|
||||
highlight_color_e 0.10 0.10 0.10
|
||||
#Forest
|
||||
highlight_color_f 0.00 0.36 0.19
|
||||
#Green
|
||||
highlight_color_g 0.17 0.81 0.28
|
||||
#Honeydew
|
||||
highlight_color_h 1.00 0.80 0.60
|
||||
#Iron
|
||||
highlight_color_i 0.50 0.50 0.50
|
||||
#Jade
|
||||
highlight_color_j 0.58 1.00 0.71
|
||||
#Khaki
|
||||
highlight_color_k 0.56 0.49 0.00
|
||||
#Lime
|
||||
highlight_color_l 0.62 0.80 0.00
|
||||
#Mallow
|
||||
highlight_color_m 0.76 0.00 0.53
|
||||
#Navy
|
||||
highlight_color_n 0.00 0.20 0.50
|
||||
#Orpiment
|
||||
highlight_color_o 1.00 0.64 0.02
|
||||
#Pink
|
||||
highlight_color_p 1.00 0.66 0.73
|
||||
#Quagmire
|
||||
highlight_color_q 0.26 0.40 0.00
|
||||
#Red
|
||||
highlight_color_r 1.00 0.00 0.06
|
||||
#Sky
|
||||
highlight_color_s 0.37 0.95 0.95
|
||||
#Turquoise
|
||||
highlight_color_t 0.00 0.60 0.56
|
||||
#Uranium
|
||||
highlight_color_u 0.88 1.00 0.40
|
||||
#Violet
|
||||
highlight_color_v 0.45 0.04 1.00
|
||||
#Wine
|
||||
highlight_color_w 0.60 0.00 0.00
|
||||
#Xanthin
|
||||
highlight_color_x 1.00 1.00 0.50
|
||||
#Yellow
|
||||
highlight_color_y 1.00 1.00 0.00
|
||||
#Zinnia
|
||||
highlight_color_z 1.00 0.31 0.02
|
||||
|
||||
|
||||
# if set, we display a checkerboard pattern for unrendered pages (by default we display nothing)
|
||||
should_draw_unrendered_pages 0
|
||||
|
||||
# displays an overview of destination when hovering over a link with mouse
|
||||
hover_overview 0
|
||||
|
||||
# Use dark mode by default
|
||||
default_dark_mode 0
|
||||
|
||||
# if set, we sort the bookmarks by their location instead of their creation time
|
||||
sort_bookmarks_by_location 0
|
|
@ -1,64 +0,0 @@
|
|||
format = """
|
||||
[░▒▓](#a3aed2)\
|
||||
[ ](bg:#a3aed2 fg:#090c0c)\
|
||||
[](bg:#769ff0 fg:#a3aed2)\
|
||||
$directory\
|
||||
[](fg:#769ff0 bg:#394260)\
|
||||
$git_branch\
|
||||
$git_status\
|
||||
[](fg:#394260 bg:#212736)\
|
||||
$nodejs\
|
||||
$rust\
|
||||
$golang\
|
||||
$php\
|
||||
[](fg:#212736 bg:#1d2230)\
|
||||
$time\
|
||||
[ ](fg:#1d2230)\
|
||||
\n$character"""
|
||||
|
||||
[directory]
|
||||
style = "fg:#e3e5e5 bg:#769ff0"
|
||||
format = "[ $path ]($style)"
|
||||
truncation_length = 3
|
||||
truncation_symbol = "…/"
|
||||
|
||||
[directory.substitutions]
|
||||
"Documents" = " "
|
||||
"Downloads" = " "
|
||||
"Music" = " "
|
||||
"Pictures" = " "
|
||||
|
||||
[git_branch]
|
||||
symbol = ""
|
||||
style = "bg:#394260"
|
||||
format = '[[ $symbol $branch ](fg:#769ff0 bg:#394260)]($style)'
|
||||
|
||||
[git_status]
|
||||
style = "bg:#394260"
|
||||
format = '[[($all_status$ahead_behind )](fg:#769ff0 bg:#394260)]($style)'
|
||||
|
||||
[nodejs]
|
||||
symbol = ""
|
||||
style = "bg:#212736"
|
||||
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
|
||||
|
||||
[rust]
|
||||
symbol = ""
|
||||
style = "bg:#212736"
|
||||
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
|
||||
|
||||
[golang]
|
||||
symbol = "ﳑ"
|
||||
style = "bg:#212736"
|
||||
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
|
||||
|
||||
[php]
|
||||
symbol = ""
|
||||
style = "bg:#212736"
|
||||
format = '[[ $symbol ($version) ](fg:#769ff0 bg:#212736)]($style)'
|
||||
|
||||
[time]
|
||||
disabled = false
|
||||
time_format = "%R" # Hour:Minute Format
|
||||
style = "bg:#1d2230"
|
||||
format = '[[ $time ](fg:#a0a9cb bg:#1d2230)]($style)'
|
|
@ -1,46 +0,0 @@
|
|||
[options]
|
||||
font = Hack Nerd Font Monoo 11
|
||||
font = DejaVu Sans Mono for Powerline 11
|
||||
|
||||
[colors]
|
||||
|
||||
[colors]
|
||||
|
||||
# special
|
||||
foreground = #98abb2
|
||||
foreground_bold = #98abb2
|
||||
cursor = #98abb2
|
||||
background = rgba(0,0,0,0.9)
|
||||
|
||||
# black
|
||||
color0 = #000000
|
||||
color8 = #0c0e14
|
||||
|
||||
# red
|
||||
color1 = #e84f4f
|
||||
color9 = #d23d3d
|
||||
|
||||
# green
|
||||
color2 = #00ffaf
|
||||
color10 = #237885
|
||||
|
||||
# yellow
|
||||
color3 = #ffbb24
|
||||
color11 = #f8ec09
|
||||
|
||||
# blue
|
||||
color4 = #007fff
|
||||
color12 = #00c4ff
|
||||
|
||||
# magenta
|
||||
color5 = #8c00fd
|
||||
color13 = #cd00df
|
||||
|
||||
# cyan
|
||||
color6 = #00e8b7
|
||||
color14 = #00d3a7
|
||||
|
||||
# white
|
||||
color7 = #98abb2
|
||||
color15 = #c0bfbc
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
[core]
|
||||
pager = delta
|
||||
|
||||
[interactive]
|
||||
diffFilter = delta --color-only
|
||||
|
||||
[delta]
|
||||
navigate = true # use n and N to move between diff sections
|
||||
light = false # set to true if you're in a terminal w/ a light background color (e.g. the default macOS terminal)
|
||||
|
||||
[merge]
|
||||
conflictstyle = diff3
|
||||
|
||||
[diff]
|
||||
colorMoved = default
|
||||
[user]
|
||||
email = tuan-dat.tran@tudattr.dev
|
||||
name = Tuan-Dat Tran
|
|
@ -1,3 +0,0 @@
|
|||
#back-button, #forward-button, #page-action-buttons{
|
||||
display:none;
|
||||
}
|
|
@ -1,14 +0,0 @@
|
|||
[Install4F96D1932A9F858E]
|
||||
Default=2x4tnepw.default
|
||||
Locked=1
|
||||
|
||||
[Profile0]
|
||||
Name=default
|
||||
IsRelative=1
|
||||
Path=2x4tnepw.default
|
||||
Default=1
|
||||
|
||||
[General]
|
||||
StartWithLastProfile=1
|
||||
Version=2
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
#!/usr/bin/env nu
|
||||
|
||||
let zellij_session_table = (zellij ls | lines);
|
||||
let zellij_session_count = ($zellij_session_table | length);
|
||||
|
||||
if $zellij_session_count == 0 {
|
||||
zellij
|
||||
} else if $zellij_session_count == 1 {
|
||||
zellij attach
|
||||
} else {
|
||||
let prompt = $" zellij sessions:
|
||||
|
||||
($zellij_session_table|table)
|
||||
|
||||
Choose session 0-($zellij_session_count - 1): ";
|
||||
|
||||
let user_input = (input $"($prompt)");
|
||||
|
||||
try {
|
||||
"Into Try"
|
||||
let user_input = ($user_input | into int);
|
||||
"Converted"
|
||||
$"User Input: ($user_input)";
|
||||
$"Threshold: 0-($zellij_session_count - 0)";
|
||||
$"UserInput in Threshold? (0 < $user_input or $user_input < $zellij_session_count - 1)"
|
||||
if (0 < $user_input or $user_input < $zellij_session_count - 1) {
|
||||
"Valid Input"
|
||||
let table_entry = ($zellij_session_table | select $user_input);
|
||||
zellij attach $table_entry;
|
||||
} else {
|
||||
"Invalid Input"
|
||||
zellij;
|
||||
}
|
||||
} catch {
|
||||
"Catch"
|
||||
zellij;
|
||||
}
|
||||
}
|
|
@ -1,25 +1,21 @@
|
|||
# Services
|
||||
Host github.com
|
||||
Hostname github.com
|
||||
Host github.com gitlab.com git.uni-due.de
|
||||
Port 22
|
||||
User git
|
||||
IdentityFile /mnt/veracrypt1/git
|
||||
|
||||
Host github.com
|
||||
Hostname github.com
|
||||
|
||||
Host gitlab.com
|
||||
Hostname gitlab.com
|
||||
Port 22
|
||||
User git
|
||||
IdentityFile /mnt/veracrypt1/git
|
||||
|
||||
Host picoCTF
|
||||
HostName 2018shell4.picoctf.com
|
||||
Port 22
|
||||
User mos4
|
||||
IdentityFile "/home/tuan/Documents/CTF/picoCTF/2018/30 - ssh-keyz/picoCTF"
|
||||
|
||||
Host git.uni-due.de
|
||||
HostName git.uni-due.de
|
||||
Port 22
|
||||
|
||||
Host git.tudattr.dev
|
||||
Hostname 192.168.20.12
|
||||
Port 2222
|
||||
User git
|
||||
IdentityFile /mnt/veracrypt1/git
|
||||
|
||||
|
@ -42,12 +38,34 @@ Host madrigal
|
|||
User tudattr
|
||||
IdentityFile /mnt/veracrypt1/mikrotik_rsa
|
||||
|
||||
Host aya01
|
||||
Host inko inko.mii
|
||||
HostName 192.168.20.14
|
||||
|
||||
Host naruto naruto.mii
|
||||
HostName 192.168.20.13
|
||||
|
||||
Host pi pi.mii
|
||||
HostName 192.168.20.11
|
||||
|
||||
Host aya01 aya01.mii
|
||||
HostName 192.168.20.12
|
||||
|
||||
Host behemoth behemoth.mii
|
||||
User tuan
|
||||
HostName 192.168.30.174
|
||||
|
||||
Host mii
|
||||
HostName tudattr.dev
|
||||
|
||||
Host inko.mii pi.mii aya01.mii naruto.mii behemoth.mii
|
||||
ProxyJump mii
|
||||
|
||||
Host mii pi aya01 inko naruto inko.mii pi.mii aya01.mii naruto.mii behemoth behemoth.mii
|
||||
Port 22
|
||||
User tudattr
|
||||
IdentityFile /mnt/veracrypt1/genesis
|
||||
|
||||
<<<<<<< HEAD
|
||||
Host inko
|
||||
HostName 192.168.20.14
|
||||
Port 22
|
||||
|
@ -57,15 +75,26 @@ Host inko
|
|||
Host naruto
|
||||
HostName 192.168.20.13
|
||||
Port 22
|
||||
||||||| e9d53f0
|
||||
Host git.aya01
|
||||
HostName 192.168.20.12
|
||||
Port 23231
|
||||
=======
|
||||
# Work
|
||||
Host mini
|
||||
HostName 100.76.45.158
|
||||
Port 22
|
||||
>>>>>>> clean_emacs
|
||||
User tudattr
|
||||
IdentityFile /mnt/veracrypt1/genesis
|
||||
|
||||
Host pi
|
||||
HostName 192.168.20.11
|
||||
Port 22
|
||||
User tudattr
|
||||
IdentityFile /mnt/veracrypt1/genesis
|
||||
Host tail-pi
|
||||
HostName 100.93.79.94
|
||||
Port 22
|
||||
User tuant
|
||||
IdentityFile /mnt/veracrypt1/work/minis
|
||||
|
||||
<<<<<<< HEAD
|
||||
Host mii-root
|
||||
HostName 202.61.207.139
|
||||
Port 22
|
||||
|
@ -106,13 +135,22 @@ Host ncs-tailscale
|
|||
User tuant
|
||||
IdentityFile /mnt/veracrypt1/genesis
|
||||
|
||||
||||||| e9d53f0
|
||||
# Work
|
||||
=======
|
||||
>>>>>>> clean_emacs
|
||||
Host ncs-head
|
||||
HostName 132.252.68.50
|
||||
Port 2122
|
||||
User tuan-dat.tran
|
||||
IdentityFile /mnt/veracrypt1/genesis
|
||||
ForwardX11 yes
|
||||
<<<<<<< HEAD
|
||||
ProxyJump ncs-tailscale
|
||||
||||||| e9d53f0
|
||||
=======
|
||||
ProxyJump tail-pi
|
||||
>>>>>>> clean_emacs
|
||||
|
||||
Host ncs-head-user
|
||||
HostName 132.252.68.50
|
||||
|
@ -123,62 +161,44 @@ Host ncs-head-user
|
|||
|
||||
Host ncs2
|
||||
HostName 192.168.1.13
|
||||
Port 22
|
||||
User tuan-dat.tran
|
||||
|
||||
Host ncs2 ncs2-user ncs-node1 ncs-node2 ncs-node2-user ncs-node3 ncs-node4 ncs-node5 ncs-node6 ncs-node7 ncs-wedge
|
||||
Port 22
|
||||
IdentityFile /mnt/veracrypt1/genesis
|
||||
ProxyJump ncs-head
|
||||
|
||||
Host ncs2-user
|
||||
HostName 192.168.1.13
|
||||
Port 22
|
||||
User user # tuan-dat.tran
|
||||
IdentityFile /mnt/veracrypt1/genesis
|
||||
ProxyJump ncs-head
|
||||
|
||||
Host ncs-node1
|
||||
HostName 192.168.1.11
|
||||
Port 22
|
||||
User user
|
||||
IdentityFile /mnt/veracrypt1/tudattr
|
||||
ProxyJump ncs-head
|
||||
|
||||
Host ncs-node2
|
||||
HostName 192.168.1.7
|
||||
Port 22
|
||||
User tuan-dat.tran
|
||||
IdentityFile /mnt/veracrypt1/genesis
|
||||
ProxyJump ncs-head
|
||||
ForwardX11 yes
|
||||
|
||||
Host ncs-node2-user
|
||||
HostName 192.168.1.7
|
||||
Port 22
|
||||
User user
|
||||
IdentityFile /mnt/veracrypt1/tudattr
|
||||
ProxyJump ncs-head
|
||||
|
||||
Host ncs-node3
|
||||
Hostname 192.168.1.19
|
||||
Port 22
|
||||
User tuan-dat.tran
|
||||
IdentityFile /mnt/veracrypt1/genesis
|
||||
ForwardX11 yes
|
||||
ProxyJump ncs-head
|
||||
|
||||
Host ncs-node3-user
|
||||
Hostname 192.168.1.19
|
||||
Port 22
|
||||
User user
|
||||
IdentityFile /mnt/veracrypt1/tudattr
|
||||
ForwardX11 yes
|
||||
ProxyJump ncs-head
|
||||
|
||||
Host ncs-node4
|
||||
HostName 192.168.1.9
|
||||
Port 22
|
||||
User tuan-dat.tran
|
||||
IdentityFile /mnt/veracrypt1/genesis
|
||||
ProxyJump ncs-head
|
||||
|
||||
Host ncs-node4-user
|
||||
HostName 192.168.1.9
|
||||
|
@ -189,18 +209,11 @@ Host ncs-node4-user
|
|||
|
||||
Host ncs-node5
|
||||
HostName 192.168.1.15
|
||||
Port 22
|
||||
User tuan-dat.tran
|
||||
IdentityFile /mnt/veracrypt1/genesis
|
||||
ProxyJump ncs-head
|
||||
|
||||
Host ncs-node6
|
||||
Hostname 192.168.1.17
|
||||
Port 22
|
||||
User tuan-dat.tran
|
||||
IdentityFile /mnt/veracrypt1/genesis
|
||||
# ForwardX11 yes
|
||||
ProxyJump ncs-head
|
||||
|
||||
Host ncs-node6-user
|
||||
Hostname 192.168.1.17
|
||||
|
@ -212,20 +225,53 @@ Host ncs-node6-user
|
|||
|
||||
Host ncs-node7
|
||||
Hostname 192.168.1.18
|
||||
Port 22
|
||||
User tuan-dat.tran
|
||||
IdentityFile /mnt/veracrypt1/genesis
|
||||
ForwardX11 yes
|
||||
ProxyJump ncs-head
|
||||
|
||||
Host ncs-wedge
|
||||
Hostname 192.168.1.5
|
||||
Port 22
|
||||
User user
|
||||
<<<<<<< HEAD
|
||||
IdentityFile /mnt/veracrypt1/genesis
|
||||
# ForwardX11 yes
|
||||
ProxyJump ncs-head
|
||||
|
||||
||||||| e9d53f0
|
||||
IdentityFile /mnt/veracrypt1/genesis
|
||||
# ForwardX11 yes
|
||||
ProxyJump ncs-head
|
||||
|
||||
Host ncs-local-server
|
||||
HostName 192.168.1.1
|
||||
Port 22
|
||||
User tuan-dat.tran
|
||||
IdentityFile /mnt/veracrypt1/tudattr
|
||||
StrictHostKeyChecking no
|
||||
|
||||
Host ncs-local-server-user
|
||||
HostName 192.168.1.1
|
||||
Port 22
|
||||
User user
|
||||
IdentityFile /mnt/veracrypt1/tudattr
|
||||
StrictHostKeyChecking no
|
||||
|
||||
Host ncs-local-server2
|
||||
HostName 192.168.2.2
|
||||
Port 22
|
||||
User user
|
||||
IdentityFile /mnt/veracrypt1/tudattr
|
||||
StrictHostKeyChecking no
|
||||
ProxyJump ncs-local-server
|
||||
|
||||
Host phone
|
||||
Hostname 192.168.30.245
|
||||
Port 2222
|
||||
User tuan-dat.tran
|
||||
IdentityFile /mnt/veracrypt1/genesis
|
||||
|
||||
=======
|
||||
|
||||
>>>>>>> clean_emacs
|
||||
Host ncs-gpu
|
||||
Hostname 192.168.1.21
|
||||
Port 22
|
||||
|
@ -234,18 +280,29 @@ Host ncs-gpu
|
|||
ForwardX11 yes
|
||||
ProxyJump ncs-head
|
||||
|
||||
<<<<<<< HEAD
|
||||
Host ncs-aws-iperf3
|
||||
Hostname 18.185.5.191
|
||||
Port 22
|
||||
User ec2-user
|
||||
IdentityFile /mnt/veracrypt1/work/aws_ncs.pem
|
||||
|
||||
||||||| e9d53f0
|
||||
Host ncs-aws-iperf3
|
||||
Hostname 18.185.5.191
|
||||
Port 22
|
||||
User ec2-user
|
||||
IdentityFile /mnt/veracrypt1/aws_ncs.pem
|
||||
|
||||
=======
|
||||
>>>>>>> clean_emacs
|
||||
Host ami
|
||||
Hostname 3.72.156.214
|
||||
Port 22
|
||||
User ubuntu
|
||||
IdentityFile /mnt/veracrypt1/work/aws-rizk.pem
|
||||
|
||||
<<<<<<< HEAD
|
||||
Host 5g-mec
|
||||
Hostname 192.168.100.1
|
||||
Port 22
|
||||
|
@ -264,3 +321,25 @@ Host minis
|
|||
User tudattr
|
||||
IdentityFile /mnt/veracrypt1/genesis
|
||||
|
||||
||||||| e9d53f0
|
||||
=======
|
||||
|
||||
## 5g IANA
|
||||
Host 5g-iana-mec
|
||||
Hostname 192.168.100.1
|
||||
Port 22
|
||||
User udue
|
||||
IdentityFile /mnt/veracrypt1/genesis
|
||||
|
||||
Host uulm-obu0 uulm-obu1
|
||||
Port 22
|
||||
User user
|
||||
ProxyJump 5g-iana-mec
|
||||
IdentityFile /mnt/veracrypt1/genesis
|
||||
|
||||
Host uulm-obu0
|
||||
Hostname 192.168.201.7
|
||||
|
||||
Host uulm-obu1
|
||||
Hostname 192.168.201.11
|
||||
>>>>>>> clean_emacs
|
||||
|
|
|
@ -1,606 +0,0 @@
|
|||
#! 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);
|
||||
}
|
|
@ -1,145 +0,0 @@
|
|||
;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
|
||||
|
||||
;; Place your private configuration here! Remember, you do not need to run 'doom
|
||||
;; sync' after modifying this file!
|
||||
|
||||
|
||||
;; Some functionality uses this to identify you, e.g. GPG configuration, email
|
||||
;; clients, file templates and snippets. It is optional.
|
||||
(setq user-full-name "Tuan-Dat Tran"
|
||||
user-mail-address "tuan-dat.tran@tudattr.dev")
|
||||
|
||||
;; Doom exposes five (optional) variables for controlling fonts in Doom:
|
||||
;;
|
||||
;; - `doom-font' -- the primary font to use
|
||||
;; - `doom-variable-pitch-font' -- a non-monospace font (where applicable)
|
||||
;; - `doom-big-font' -- used for `doom-big-font-mode'; use this for
|
||||
;; presentations or streaming.
|
||||
;; - `doom-unicode-font' -- for unicode glyphs
|
||||
;; - `doom-serif-font' -- for the `fixed-pitch-serif' face
|
||||
;;
|
||||
;; See 'C-h v doom-font' for documentation and more examples of what they
|
||||
;; accept. For example:
|
||||
;;
|
||||
;;(setq doom-font (font-spec :family "Fira Code" :size 12 :weight 'semi-light)
|
||||
;; doom-variable-pitch-font (font-spec :family "Fira Sans" :size 13))
|
||||
;;
|
||||
;; If you or Emacs can't find your font, use 'M-x describe-font' to look them
|
||||
;; up, `M-x eval-region' to execute elisp code, and 'M-x doom/reload-font' to
|
||||
;; refresh your font settings. If Emacs still can't find your font, it likely
|
||||
;; wasn't installed correctly. Font issues are rarely Doom issues!
|
||||
|
||||
;; There are two ways to load a theme. Both assume the theme is installed and
|
||||
;; available. You can either set `doom-theme' or manually load a theme with the
|
||||
;; `load-theme' function. This is the default:
|
||||
(setq doom-theme 'doom-one)
|
||||
|
||||
;; This determines the style of line numbers in effect. If set to `nil', line
|
||||
;; numbers are disabled. For relative line numbers, set this to `relative'.
|
||||
(setq display-line-numbers-type t)
|
||||
|
||||
;; If you use `org' and don't want your org files in the default location below,
|
||||
;; change `org-directory'. It must be set before org loads!
|
||||
(setq org-directory "~/.emacs.d/org/")
|
||||
|
||||
|
||||
;; Whenever you reconfigure a package, make sure to wrap your config in an
|
||||
;; `after!' block, otherwise Doom's defaults may override your settings. E.g.
|
||||
;;
|
||||
;; (after! PACKAGE
|
||||
;; (setq x y))
|
||||
;;
|
||||
;; The exceptions to this rule:
|
||||
;;
|
||||
;; - Setting file/directory variables (like `org-directory')
|
||||
;; - Setting variables which explicitly tell you to set them before their
|
||||
;; package is loaded (see 'C-h v VARIABLE' to look up their documentation).
|
||||
;; - Setting doom variables (which start with 'doom-' or '+').
|
||||
;;
|
||||
;; Here are some additional functions/macros that will help you configure Doom.
|
||||
;;
|
||||
;; - `load!' for loading external *.el files relative to this one
|
||||
;; - `use-package!' for configuring packages
|
||||
;; - `after!' for running code after a package has loaded
|
||||
;; - `add-load-path!' for adding directories to the `load-path', relative to
|
||||
;; this file. Emacs searches the `load-path' when you load packages with
|
||||
;; `require' or `use-package'.
|
||||
;; - `map!' for binding new keys
|
||||
;;
|
||||
;; To get information about any of these functions/macros, move the cursor over
|
||||
;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k').
|
||||
;; This will open documentation for it, including demos of how they are used.
|
||||
;; Alternatively, use `C-h o' to look up a symbol (functions, variables, faces,
|
||||
;; etc).
|
||||
;;
|
||||
;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
|
||||
;; they are implemented.
|
||||
|
||||
; Rust
|
||||
(use-package rustic
|
||||
:bind (:map rustic-mode-map
|
||||
("M-j" . lsp-ui-imenu)
|
||||
("M-?" . lsp-find-references)
|
||||
("C-c C-c l" . flycheck-list-errors)
|
||||
("C-c C-c a" . lsp-execute-code-action)
|
||||
("C-c C-c r" . lsp-rename)
|
||||
("C-c C-c q" . lsp-workspace-restart)
|
||||
("C-c C-c Q" . lsp-workspace-shutdown)
|
||||
("C-c C-c s" . lsp-rust-analyzer-status))
|
||||
:config
|
||||
(setq rustic-format-on-save t)
|
||||
(add-hook 'rustic-mode-hook 'rk/rustic-mode-hook))
|
||||
|
||||
(defun rk/rustic-mode-hook ()
|
||||
;; so that run C-c C-c C-r works without having to confirm, but don't try to
|
||||
;; save rust buffers that are not file visiting. Once
|
||||
;; https://github.com/brotzeit/rustic/issues/253 has been resolved this should
|
||||
;; no longer be necessary.
|
||||
(when buffer-file-name
|
||||
(setq-local buffer-save-without-query t))
|
||||
(add-hook 'before-save-hook 'lsp-format-buffer nil t))
|
||||
|
||||
(use-package lsp-mode
|
||||
:commands lsp
|
||||
:custom
|
||||
;; what to use when checking on-save. "check" is default, I prefer clippy
|
||||
(lsp-rust-analyzer-cargo-watch-command "clippy")
|
||||
(lsp-eldoc-render-all t)
|
||||
(lsp-idle-delay 0.6)
|
||||
;; enable / disable the hints as you prefer:
|
||||
(lsp-rust-analyzer-server-display-inlay-hints t)
|
||||
(lsp-rust-analyzer-display-lifetime-elision-hints-enable "skip_trivial")
|
||||
(lsp-rust-analyzer-display-chaining-hints t)
|
||||
(lsp-rust-analyzer-display-lifetime-elision-hints-use-parameter-names nil)
|
||||
(lsp-rust-analyzer-display-closure-return-type-hints t)
|
||||
(lsp-rust-analyzer-display-parameter-hints nil)
|
||||
(lsp-rust-analyzer-display-reborrow-hints nil)
|
||||
:config
|
||||
(add-hook 'lsp-mode-hook 'lsp-ui-mode))
|
||||
|
||||
(use-package lsp-ui
|
||||
:commands lsp-ui-mode
|
||||
:custom
|
||||
(lsp-ui-peek-always-show t)
|
||||
(lsp-ui-sideline-show-hover t)
|
||||
(lsp-ui-doc-enable nil))
|
||||
|
||||
; Latex
|
||||
(setq +latex-viewers '(zathura))
|
||||
|
||||
; Roam
|
||||
(setq org-roam-directory "~/Documents/roam/")
|
||||
(use-package! websocket
|
||||
:after org-roam)
|
||||
|
||||
(use-package! org-roam-ui
|
||||
:after org-roam ;; or :after org
|
||||
;; normally we'd recommend hooking orui after org-roam, but since org-roam does not have
|
||||
;; a hookable mode anymore, you're advised to pick something yourself
|
||||
;; if you don't care about startup time, use
|
||||
;; :hook (after-init . org-roam-ui-mode)
|
||||
:config
|
||||
(setq org-roam-ui-sync-theme t
|
||||
org-roam-ui-follow t
|
||||
org-roam-ui-update-on-save t
|
||||
org-roam-ui-open-on-start t))
|
|
@ -1,170 +0,0 @@
|
|||
(custom-set-variables
|
||||
;; custom-set-variables was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
'(org-cite-global-bibliography '("~/Documents/roam/bibliography.bib"))
|
||||
'(org-hugo-base-dir "~/Documents/hugo/")
|
||||
'(org-roam-capture-templates
|
||||
'(("d" "default" plain "* Description
|
||||
%?
|
||||
|
||||
* Resources
|
||||
- " :target
|
||||
(file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title}")
|
||||
:unnarrowed t)
|
||||
("r" "Code Implementation" plain "* Description
|
||||
%?
|
||||
|
||||
* Methods
|
||||
|
||||
** TODO <Name>
|
||||
|
||||
*** Description
|
||||
|
||||
*** Code
|
||||
|
||||
* Resources
|
||||
- " :target
|
||||
(file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title}
|
||||
#+filetags: code")
|
||||
:unnarrowed t)
|
||||
("t" "Rust Traits" plain "* Description
|
||||
%?
|
||||
|
||||
* Notable Implementations/Subtraits
|
||||
|
||||
|
||||
|
||||
* Methods
|
||||
|
||||
** TODO <Name>
|
||||
|
||||
*** Description
|
||||
|
||||
*** Code
|
||||
|
||||
* Resources
|
||||
- " :target
|
||||
(file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title}
|
||||
#+filetags: rust-trait")
|
||||
:unnarrowed t)
|
||||
("P" "project" plain "* Project Overview
|
||||
- Type: %^{Project Type}
|
||||
- Project Partners:
|
||||
- %?
|
||||
|
||||
* Project Description
|
||||
|
||||
* Tasks
|
||||
|
||||
** TODO Add initial taks
|
||||
|
||||
* Sprints
|
||||
|
||||
**
|
||||
" :target
|
||||
(file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title}
|
||||
#+filetags: project")
|
||||
:unnarrowed t)
|
||||
("i" "ieee paper" plain "
|
||||
#+title: %^{title}
|
||||
#+OPTIONS: toc:nil author:nil
|
||||
#+LaTeX_CLASS: paper
|
||||
# LaTeX_HEADER: \\documentclass[12pt,a4paper,conference,final,twoside]{IEEEtran}
|
||||
#+LaTeX_HEADER: \\title{%^{title}}
|
||||
#+LaTeX_HEADER: \\author{\\IEEEauthorblockN{Tuan-Dat Tran\\\\\\small(3030462)}\\\\\\IEEEauthorblockA{University of Duisburg-Essen\\\\tuan-dat.tran@stud.uni-due.de}}
|
||||
#+LaTeX_HEADER: \\usepackage[utf8]{inputenc}
|
||||
#+LaTeX_HEADER: \\usepackage[T1]{fontenc}
|
||||
#+LaTeX_HEADER: \\usepackage{lmodern}
|
||||
#+LaTeX_HEADER: \\usepackage[english]{babel}
|
||||
#+LaTeX_HEADER: \\usepackage[backend=biber,doi=true,url=true,block=ragged,maxnames=6]{biblatex}
|
||||
#+LaTeX_HEADER: \\renewcommand*{\\bibfont}{\\footnotesize}
|
||||
#+LaTeX_HEADER: \\pagestyle{plain}
|
||||
#+LaTeX_HEADER: \\usepackage{siunitx}
|
||||
#+LaTeX_HEADER: \\RequirePackage[usenames,dvipsnames,svgnames,table]{xcolor}
|
||||
#+LaTeX_HEADER: \\usepackage{cleveref}
|
||||
#+LaTeX_HEADER: \\usepackage{graphicx}
|
||||
#+LaTeX_HEADER: \\graphicspath{{./images/}}
|
||||
#+LaTeX_HEADER: \\usepackage{csquotes}
|
||||
#+LaTeX_HEADER: \\MakeOuterQuote{\"}
|
||||
#+LaTeX_HEADER: \\usepackage{balance}
|
||||
#+LaTeX_HEADER: \\clubpenalty10000
|
||||
#+LaTeX_HEADER: \\widowpenalty10000
|
||||
#+LaTeX_HEADER: \\usepackage{listings}
|
||||
#+LaTeX_HEADER: \\definecolor{lstgreen}{rgb}{0,0.6,0}
|
||||
#+LaTeX_HEADER: \\lstset{language=C,%basicstyle=\\scriptsize\\sourcecodepro,%basicstyle=\\scriptsize\\ttfamily,basicstyle=\\linespread{1.1}\\scriptsize\\ttfamily,commentstyle=\\color{lstgreen},keywordstyle=\\color{blue},keywordstyle=[2]\\color{SlateBlue},keywordstyle=[3]\\color{DarkCyan},keywordstyle=[4]\\color{violet},%ndkeywordstyle=\\color{violet},emphstyle=\\bfseries\\color{DarkGray},identifierstyle=\\color{black},commentstyle=\\color{purple}\\ttfamily,stringstyle=\\color{gray}\\ttfamily,%numbers=left,numbers=left,numberstyle=\\tiny,columns=fullflexible,keepspaces=true,showstringspaces=false,captionpos=b,%xleftmargin=\\parindent,%framexleftmargin=\\parindent,%xleftmargin=2cm,%linewidth=\\textwidth,%xleftmargin=2cm,xleftmargin=2em,%xleftmargin=3pt,xrightmargin=3pt,%aboveskip=\\bigskipamount,%belowskip=\\bigskipamount,%fancyvrb=true,frame=single,%frame=L,escapechar=@,}
|
||||
#+LaTeX_HEADER: \\lstdefinestyle{plain}{ numbers=none,frame=none,xleftmargin=1pt,xrightmargin=1pt,}
|
||||
#+LaTeX_HEADER: \\crefname{lstlisting}{listing}{listing}
|
||||
#+LaTeX_HEADER: \\Crefname{lstlisting}{Listing}{Listings}
|
||||
#+LaTeX_HEADER: \\usepackage{blindtext}
|
||||
#+LaTeX_HEADER: \\newcommand\\blindsection{{\\color{gray}\\subsection{Some bind text}\\blindtext}}
|
||||
|
||||
%?
|
||||
" :target
|
||||
(file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title}
|
||||
#+filetags: paper")
|
||||
:unnarrowed t)
|
||||
("p" "paper notes" plain "* Authors
|
||||
- %?
|
||||
|
||||
* Index Terms
|
||||
-
|
||||
|
||||
* Short Summary
|
||||
" :target
|
||||
(file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title}
|
||||
#+filetags: paper")
|
||||
:unnarrowed t)
|
||||
("l" "programming language" plain "* Description
|
||||
%?
|
||||
|
||||
* Programming Language Properties
|
||||
-
|
||||
|
||||
* Benefits
|
||||
-
|
||||
|
||||
* Examples
|
||||
** Hello World
|
||||
#+begin_src ${title}
|
||||
#+end_src
|
||||
" :target
|
||||
(file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title}")
|
||||
:unnarrowed t)
|
||||
("L" "lecture" plain "- Lecture: ${title}
|
||||
- Lecturer: %^{Docent}
|
||||
- Research Group: %^{Research Group}
|
||||
* Description
|
||||
" :target
|
||||
(file+head "%<%Y%m%d%H%M%S>-${slug}.org" "#+title: ${title}")
|
||||
:unnarrowed t nil nil)))
|
||||
'(warning-suppress-log-types
|
||||
'((doom-first-file-hook)
|
||||
(doom-first-file-hook)
|
||||
(doom-first-file-hook)
|
||||
(defvaralias)))
|
||||
'(warning-suppress-types
|
||||
'((doom-first-file-hook)
|
||||
(doom-first-file-hook)
|
||||
(defvaralias))))
|
||||
|
||||
(require 'ox-latex)
|
||||
|
||||
(unless (boundp 'org-latex-classes)
|
||||
(setq org-latex-classes nil))
|
||||
|
||||
(add-to-list 'org-latex-classes
|
||||
'("paper"
|
||||
"\\documentclass[12pt,a4paper,conference,final,twoside]{IEEEtran}"
|
||||
("\\section{%s}" . "\\section*{%s}")
|
||||
("\\subsection{%s}" . "\\subsection*{%s}")
|
||||
("\\subsubsection{%s}" . "\\subsubsection*{%s}")
|
||||
("\\paragraph{%s}" . "\\paragraph*{%s}")
|
||||
("\\subparagraph{%s}" . "\\subparagraph*{%s}")))
|
||||
(custom-set-faces
|
||||
;; custom-set-faces was added by Custom.
|
||||
;; If you edit it by hand, you could mess it up, so be careful.
|
||||
;; Your init file should contain only one such instance.
|
||||
;; If there is more than one, they won't work right.
|
||||
)
|
|
@ -1,216 +0,0 @@
|
|||
;;; init.el -*- lexical-binding: t; -*-
|
||||
|
||||
;; This file controls what Doom modules are enabled and what order they load
|
||||
;; in. Remember to run 'doom sync' after modifying it!
|
||||
|
||||
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
|
||||
;; documentation. There you'll find a link to Doom's Module Index where all
|
||||
;; of our modules are listed, including what flags they support.
|
||||
|
||||
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
|
||||
;; 'C-c c k' for non-vim users) to view its documentation. This works on
|
||||
;; flags as well (those symbols that start with a plus).
|
||||
;;
|
||||
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
|
||||
;; directory (for easy access to its source code).
|
||||
|
||||
(doom! :input
|
||||
;;bidi ; (tfel ot) thgir etirw uoy gnipleh
|
||||
;;chinese
|
||||
;;japanese
|
||||
;;layout ; auie,ctsrnm is the superior home row
|
||||
|
||||
:completion
|
||||
(company
|
||||
+childframe
|
||||
+tng
|
||||
); the ultimate code completion backend
|
||||
;;helm ; the *other* search engine for love and life
|
||||
;;ido ; the other *other* search engine...
|
||||
ivy ; a search engine for love and life
|
||||
;;vertico ; the search engine of the future
|
||||
|
||||
:ui
|
||||
;;deft ; notational velocity for Emacs
|
||||
doom ; what makes DOOM look the way it does
|
||||
doom-dashboard ; a nifty splash screen for Emacs
|
||||
;;doom-quit ; DOOM quit-message prompts when you quit Emacs
|
||||
(emoji
|
||||
+unicode) ; 🙂
|
||||
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
|
||||
;;hydra
|
||||
;;indent-guides ; highlighted indent columns
|
||||
;;ligatures ; ligatures and symbols to make your code pretty again
|
||||
minimap ; show a map of the code on the side
|
||||
modeline ; snazzy, Atom-inspired modeline, plus API
|
||||
;;nav-flash ; blink cursor line after big motions
|
||||
neotree ; a project drawer, like NERDTree for vim
|
||||
ophints ; highlight the region an operation acts on
|
||||
(popup
|
||||
+defaults) ; tame sudden yet inevitable temporary windows
|
||||
;;tabs ; a tab bar for Emacs
|
||||
;;treemacs ; a project drawer, like neotree but cooler
|
||||
;;unicode ; extended unicode support for various languages
|
||||
(vc-gutter
|
||||
+pretty) ; vcs diff in the fringe
|
||||
vi-tilde-fringe ; fringe tildes to mark beyond EOB
|
||||
;;window-select ; visually switch windows
|
||||
workspaces ; tab emulation, persistence & separate workspaces
|
||||
;;zen ; distraction-free coding or writing
|
||||
|
||||
:editor
|
||||
(evil
|
||||
+everywhere); come to the dark side, we have cookies
|
||||
file-templates ; auto-snippets for empty files
|
||||
fold ; (nigh) universal code folding
|
||||
;;(format +onsave) ; automated prettiness
|
||||
;;god ; run Emacs commands without modifier keys
|
||||
;;lispy ; vim for lisp, for people who don't like vim
|
||||
;;multiple-cursors ; editing in many places at once
|
||||
;;objed ; text object editing for the innocent
|
||||
;;parinfer ; turn lisp into python, sort of
|
||||
;;rotate-text ; cycle region at point between text candidates
|
||||
snippets ; my elves. They type so I don't have to
|
||||
;;word-wrap ; soft wrapping with language-aware indent
|
||||
|
||||
:emacs
|
||||
dired ; making dired pretty [functional]
|
||||
electric ; smarter, keyword-based electric-indent
|
||||
;;ibuffer ; interactive buffer management
|
||||
(undo
|
||||
+tree) ; persistent, smarter undo for your inevitable mistakes
|
||||
vc ; version-control and Emacs, sitting in a tree
|
||||
|
||||
:term
|
||||
;;eshell ; the elisp shell that works everywhere
|
||||
;;shell ; simple shell REPL for Emacs
|
||||
;;term ; basic terminal emulator for Emacs
|
||||
;;vterm ; the best terminal emulation in Emacs
|
||||
|
||||
:checkers
|
||||
syntax ; tasing you for every semicolon you forget
|
||||
;;(spell +flyspell) ; tasing you for misspelling mispelling
|
||||
;;grammar ; tasing grammar mistake every you make
|
||||
|
||||
:tools
|
||||
;;ansible
|
||||
biblio ; Writes a PhD for you (citation needed)
|
||||
debugger ; FIXME stepping through code, to help you add bugs
|
||||
;;direnv
|
||||
docker
|
||||
;;editorconfig ; let someone else argue about tabs vs spaces
|
||||
ein ; tame Jupyter notebooks with emacs
|
||||
(eval
|
||||
+overlay) ; run code, run (also, repls)
|
||||
;;gist ; interacting with github gists
|
||||
lookup ; navigate your code and its documentation
|
||||
lsp ; M-x vscode
|
||||
magit ; a git porcelain for Emacs
|
||||
;;make ; run make tasks from Emacs
|
||||
;;pass ; password manager for nerds
|
||||
pdf ; pdf enhancements
|
||||
;;prodigy ; FIXME managing external services & code builders
|
||||
;;rgb ; creating color strings
|
||||
;;taskrunner ; taskrunner for all your projects
|
||||
terraform ; infrastructure as code
|
||||
;;tmux ; an API for interacting with tmux
|
||||
;;tree-sitter ; syntax and parsing, sitting in a tree...
|
||||
;;upload ; map local to remote projects via ssh/ftp
|
||||
|
||||
:os
|
||||
(:if IS-MAC macos) ; improve compatibility with macOS
|
||||
(tty
|
||||
+osc) ; improve the terminal Emacs experience
|
||||
|
||||
:lang
|
||||
;;agda ; types of types of types of types...
|
||||
;;beancount ; mind the GAAP
|
||||
;;(cc +lsp) ; C > C++ == 1
|
||||
;;clojure ; java with a lisp
|
||||
;;common-lisp ; if you've seen one lisp, you've seen them all
|
||||
;;coq ; proofs-as-programs
|
||||
;;crystal ; ruby at the speed of c
|
||||
;;csharp ; unity, .NET, and mono shenanigans
|
||||
;;data ; config/data formats
|
||||
;;(dart +flutter) ; paint ui and not much else
|
||||
;;dhall
|
||||
elixir ; erlang done right
|
||||
;;elm ; care for a cup of TEA?
|
||||
emacs-lisp ; drown in parentheses
|
||||
;;erlang ; an elegant language for a more civilized age
|
||||
;;ess ; emacs speaks statistics
|
||||
;;factor
|
||||
;;faust ; dsp, but you get to keep your soul
|
||||
;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
|
||||
;;fsharp ; ML stands for Microsoft's Language
|
||||
;;fstar ; (dependent) types and (monadic) effects and Z3
|
||||
;;gdscript ; the language you waited for
|
||||
;;(go +lsp) ; the hipster dialect
|
||||
;;(graphql +lsp) ; Give queries a REST
|
||||
;;(haskell +lsp) ; a language that's lazier than I am
|
||||
;;hy ; readability of scheme w/ speed of python
|
||||
;;idris ; a language you can depend on
|
||||
;;json ; At least it ain't XML
|
||||
;;(java +lsp) ; the poster child for carpal tunnel syndrome
|
||||
;;javascript ; all(hope(abandon(ye(who(enter(here))))))
|
||||
;;julia ; a better, faster MATLAB
|
||||
;;kotlin ; a better, slicker Java(Script)
|
||||
(latex
|
||||
+latexmk
|
||||
+lsp) ; writing papers in Emacs has never been so fun
|
||||
;;lean ; for folks with too much to prove
|
||||
ledger ; be audit you can be
|
||||
;;lua ; one-based indices? one-based indices
|
||||
markdown ; writing docs for people to ignore
|
||||
;;nim ; python + lisp at the speed of c
|
||||
;;nix ; I hereby declare "nix geht mehr!"
|
||||
;;ocaml ; an objective camel
|
||||
(org ; organize your plain life in plain text
|
||||
+dragndrop
|
||||
+gnuplot
|
||||
+jupyter
|
||||
+pandoc
|
||||
+present
|
||||
+pretty
|
||||
+roam2)
|
||||
;;php ; perl's insecure younger brother
|
||||
;;plantuml ; diagrams for confusing people more
|
||||
;;purescript ; javascript, but functional
|
||||
python ; beautiful is better than ugly
|
||||
;;qt ; the 'cutest' gui framework ever
|
||||
;;racket ; a DSL for DSLs
|
||||
;;raku ; the artist formerly known as perl6
|
||||
;;rest ; Emacs as a REST client
|
||||
;;rst ; ReST in peace
|
||||
;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
|
||||
(rust
|
||||
+lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
|
||||
;;scala ; java, but good
|
||||
;;(scheme +guile) ; a fully conniving family of lisps
|
||||
sh ; she sells {ba,z,fi}sh shells on the C xor
|
||||
;;sml
|
||||
solidity ; do you need a blockchain? No.
|
||||
;;swift ; who asked for emoji variables?
|
||||
;;terra ; Earth and Moon in alignment for performance.
|
||||
;;web ; the tubes
|
||||
yaml ; JSON, but readable
|
||||
;;zig ; C, but simpler
|
||||
|
||||
:email
|
||||
;;(mu4e +org +gmail)
|
||||
;;notmuch
|
||||
;;(wanderlust +gmail)
|
||||
|
||||
:app
|
||||
;;calendar
|
||||
;;emms
|
||||
;;everywhere ; *leave* Emacs!? You must be joking
|
||||
;;irc ; how neckbeards socialize
|
||||
;;(rss +org) ; emacs as an RSS reader
|
||||
;;twitter ; twitter client https://twitter.com/vnought
|
||||
|
||||
:config
|
||||
;;literate
|
||||
(default
|
||||
+bindings
|
||||
+smartparens))
|
|
@ -1,59 +0,0 @@
|
|||
;; -*- no-byte-compile: t; -*-
|
||||
;;; $DOOMDIR/packages.el
|
||||
|
||||
;; To install a package with Doom you must declare them here and run 'doom sync'
|
||||
;; on the command line, then restart Emacs for the changes to take effect -- or
|
||||
;; use 'M-x doom/reload'.
|
||||
|
||||
|
||||
;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
|
||||
;(package! some-package)
|
||||
|
||||
;; To install a package directly from a remote git repo, you must specify a
|
||||
;; `:recipe'. You'll find documentation on what `:recipe' accepts here:
|
||||
;; https://github.com/radian-software/straight.el#the-recipe-format
|
||||
;(package! another-package
|
||||
; :recipe (:host github :repo "username/repo"))
|
||||
|
||||
;; If the package you are trying to install does not contain a PACKAGENAME.el
|
||||
;; file, or is located in a subdirectory of the repo, you'll need to specify
|
||||
;; `:files' in the `:recipe':
|
||||
;(package! this-package
|
||||
; :recipe (:host github :repo "username/repo"
|
||||
; :files ("some-file.el" "src/lisp/*.el")))
|
||||
|
||||
;; If you'd like to disable a package included with Doom, you can do so here
|
||||
;; with the `:disable' property:
|
||||
;(package! builtin-package :disable t)
|
||||
|
||||
;; You can override the recipe of a built in package without having to specify
|
||||
;; all the properties for `:recipe'. These will inherit the rest of its recipe
|
||||
;; from Doom or MELPA/ELPA/Emacsmirror:
|
||||
;(package! builtin-package :recipe (:nonrecursive t))
|
||||
;(package! builtin-package-2 :recipe (:repo "myfork/package"))
|
||||
|
||||
;; Specify a `:branch' to install a package from a particular branch or tag.
|
||||
;; This is required for some packages whose default branch isn't 'master' (which
|
||||
;; our package manager can't deal with; see radian-software/straight.el#279)
|
||||
;(package! builtin-package :recipe (:branch "develop"))
|
||||
|
||||
;; Use `:pin' to specify a particular commit to install.
|
||||
;(package! builtin-package :pin "1a2b3c4d5e")
|
||||
|
||||
|
||||
;; Doom's packages are pinned to a specific commit and updated from release to
|
||||
;; release. The `unpin!' macro allows you to unpin single packages...
|
||||
;(unpin! pinned-package)
|
||||
;; ...or multiple packages
|
||||
;(unpin! pinned-package another-pinned-package)
|
||||
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
|
||||
;(unpin! t)
|
||||
|
||||
(package! rustic)
|
||||
(package! lsp-mode)
|
||||
(package! lsp-ui)
|
||||
(package! flycheck)
|
||||
(package! ledger-mode)
|
||||
|
||||
(unpin! org-roam)
|
||||
(package! org-roam-ui)
|
|
@ -1 +0,0 @@
|
|||
#+title: Config
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 4d072ce888577b023774460f6036abefcd0a1fa6
|
|
@ -1 +0,0 @@
|
|||
Pillow==9.5.0
|
Binary file not shown.
Before Width: | Height: | Size: 1.1 MiB |
Binary file not shown.
After Width: | Height: | Size: 695 KiB |
|
@ -0,0 +1,8 @@
|
|||
tt.*
|
||||
.tests
|
||||
doc/tags
|
||||
debug
|
||||
.repro
|
||||
foo.*
|
||||
*.log
|
||||
data
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"neodev": {
|
||||
"library": {
|
||||
"enabled": true,
|
||||
"plugins": true
|
||||
}
|
||||
},
|
||||
"neoconf": {
|
||||
"plugins": {
|
||||
"lua_ls": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,201 @@
|
|||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
|
@ -0,0 +1,4 @@
|
|||
# 💤 LazyVim
|
||||
|
||||
A starter template for [LazyVim](https://github.com/LazyVim/LazyVim).
|
||||
Refer to the [documentation](https://lazyvim.github.io/installation) to get started.
|
|
@ -0,0 +1,2 @@
|
|||
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||
require("config.lazy")
|
|
@ -0,0 +1,66 @@
|
|||
{
|
||||
"LazyVim": { "branch": "main", "commit": "0107a1079be7fb92f7d5b7e2c40818f47cf425d9" },
|
||||
"LuaSnip": { "branch": "master", "commit": "a7a4b4682c4b3e2ba82b82a4e6e5f5a0e79dec32" },
|
||||
"SchemaStore.nvim": { "branch": "main", "commit": "7efe039d0675f4f1b03f946cc457891d13a6495f" },
|
||||
"bufferline.nvim": { "branch": "main", "commit": "64e2c5def50dfd6b6f14d96a45fa3d815a4a1eef" },
|
||||
"catppuccin": { "branch": "main", "commit": "045e3499d9ec8d84635fb08877ae44fd33f6a38d" },
|
||||
"clangd_extensions.nvim": { "branch": "main", "commit": "34c8eaa12be192e83cd4865ce2375e9f53e728f2" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
|
||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
|
||||
"conform.nvim": { "branch": "master", "commit": "a605ce4b2db397c84ae6fa8bcfc85f00b985bc73" },
|
||||
"crates.nvim": { "branch": "main", "commit": "b4f4987ccdb1cc3899ee541ef4375c73c48c4570" },
|
||||
"dashboard-nvim": { "branch": "master", "commit": "413442b12d85315fc626c44a0ce4929b213ef604" },
|
||||
"dressing.nvim": { "branch": "master", "commit": "18e5beb3845f085b6a33c24112b37988f3f93c06" },
|
||||
"flash.nvim": { "branch": "main", "commit": "48817af25f51c0590653bbc290866e4890fe1cbe" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "dcd4a586439a1c81357d5b9d26319ae218cc9479" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "4e348641b8206c3b8d23080999e3ddbe4ca90efc" },
|
||||
"headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "83493db50a434a4c5c648faf41e2ead80f96e478" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "26dac2fcadb6e622790ab08e36d0dba3d3765398" },
|
||||
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "55716a879568a498fa236593c8119789054a3b8e" },
|
||||
"mason.nvim": { "branch": "main", "commit": "3b5068f0fc565f337d67a2d315d935f574848ee7" },
|
||||
"mini.ai": { "branch": "main", "commit": "ee9446a17c160aba6a04ff22097389c41872c878" },
|
||||
"mini.bufremove": { "branch": "main", "commit": "931a3bb514147d9e812767275c4beba6b779b1d3" },
|
||||
"mini.comment": { "branch": "main", "commit": "a4b7e46deb9ad2feb8902cc5dbf087eced112ee5" },
|
||||
"mini.indentscope": { "branch": "main", "commit": "cf07f19e718ebb0bcc5b00999083ce11c37b8d40" },
|
||||
"mini.pairs": { "branch": "main", "commit": "04f58f2545ed80ac3b52dd4826e93f33e15b2af6" },
|
||||
"mini.surround": { "branch": "main", "commit": "a1b590cc3b676512de507328d6bbab5e43794720" },
|
||||
"neo-tree.nvim": { "branch": "v3.x", "commit": "742db4e60c74e5fbcc596aaf9e7575e1342dfd09" },
|
||||
"neoconf.nvim": { "branch": "main", "commit": "ffdeab72dc167543f9b3355baceb0918f1e81fc0" },
|
||||
"neodev.nvim": { "branch": "main", "commit": "84e0290f5600e8b89c0dfcafc864f45496a53400" },
|
||||
"noice.nvim": { "branch": "main", "commit": "bf67d70bd7265d075191e7812d8eb42b9791f737" },
|
||||
"nui.nvim": { "branch": "main", "commit": "3dc46d725f7b94bee5117c0a699b57b1902b5d65" },
|
||||
"nvim-ansible": { "branch": "main", "commit": "d115cb9bb3680c990e2684f58cf333663fff03b8" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" },
|
||||
"nvim-lint": { "branch": "master", "commit": "d78c8ab992f48890580653f74a362c6e5ef2eccc" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "4bdd3800b4148f670c6cf55ef65f490148eeb550" },
|
||||
"nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" },
|
||||
"nvim-spectre": { "branch": "master", "commit": "d1db6c1d37252b5a38f199e2f590c5a1617d9254" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "f87882858438834d2fbb6379aa2be37de901751b" },
|
||||
"nvim-treesitter-context": { "branch": "master", "commit": "b8b7e52c1517d401d7c519787d5dc4528c41291a" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "d2a4ffc22d9d38d44edb73da007b3cf43451e9b4" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" },
|
||||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "7ab799a9792f7cf3883cf28c6a00ad431f3d382a" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "a851380fbea4c1312d11f13d5cdc86a7a19808dd" },
|
||||
"onedark.vim": { "branch": "main", "commit": "57b77747694ea5676c3ca0eeaf9567dc499730c0" },
|
||||
"orgmode": { "branch": "master", "commit": "261c987345131a736066c25ea409f4d10904b0af" },
|
||||
"persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "f7adfc4b3f4f91aab6caebf42b3682945fbc35be" },
|
||||
"rustaceanvim": { "branch": "master", "commit": "69a22c2ec63ab375190006751562b62ebb318250" },
|
||||
"semshi": { "branch": "master", "commit": "0182447e2ff4dfa04cd2dfe5f189e012c581ca45" },
|
||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "67c598fdd4fca113224281c85721c4d8a6df055e" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "833d8dd8b07eeda37a09e99460f72a02616935cb" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "c025baf23b62f044eff1f4ef561c45de636f0e32" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" },
|
||||
"venv-selector.nvim": { "branch": "main", "commit": "2ad34f36d498ff5193ea10f79c87688bd5284172" },
|
||||
"vim-illuminate": { "branch": "master", "commit": "305bf07b919ac526deb5193280379e2f8b599926" },
|
||||
"vim-ledger": { "branch": "master", "commit": "281346a221434574dd7f8767a352b2bf0b218b74" },
|
||||
"vim-startuptime": { "branch": "master", "commit": "308b0088a864c4711a96e45b6734cf9294074f65" },
|
||||
"vimtex": { "branch": "master", "commit": "9ce62bbf7ea8f6bb232bbff5549cd7745a3fd918" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"extras": [
|
||||
"lazyvim.plugins.extras.lang.ansible",
|
||||
"lazyvim.plugins.extras.lang.clangd",
|
||||
"lazyvim.plugins.extras.lang.docker",
|
||||
"lazyvim.plugins.extras.lang.elixir",
|
||||
"lazyvim.plugins.extras.lang.json",
|
||||
"lazyvim.plugins.extras.lang.markdown",
|
||||
"lazyvim.plugins.extras.lang.python",
|
||||
"lazyvim.plugins.extras.lang.python-semshi",
|
||||
"lazyvim.plugins.extras.lang.rust",
|
||||
"lazyvim.plugins.extras.lang.tex",
|
||||
"lazyvim.plugins.extras.lang.yaml"
|
||||
],
|
||||
"news": {
|
||||
"NEWS.md": "2123"
|
||||
},
|
||||
"version": 3
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
-- Autocmds are automatically loaded on the VeryLazy event
|
||||
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
|
||||
-- Add any additional autocmds here
|
|
@ -0,0 +1,3 @@
|
|||
-- Keymaps are automatically loaded on the VeryLazy event
|
||||
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
|
||||
-- Add any additional keymaps here
|
|
@ -0,0 +1,46 @@
|
|||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
-- bootstrap lazy.nvim
|
||||
-- stylua: ignore
|
||||
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
|
||||
end
|
||||
vim.opt.rtp:prepend(vim.env.LAZY or lazypath)
|
||||
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
-- add LazyVim and import its plugins
|
||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
||||
-- import any extras modules here
|
||||
-- { import = "lazyvim.plugins.extras.lang.typescript" },
|
||||
-- { import = "lazyvim.plugins.extras.lang.json" },
|
||||
-- { import = "lazyvim.plugins.extras.ui.mini-animate" },
|
||||
-- import/override with your plugins
|
||||
{ import = "plugins" },
|
||||
},
|
||||
defaults = {
|
||||
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
|
||||
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
|
||||
lazy = false,
|
||||
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
|
||||
-- have outdated releases, which may break your Neovim install.
|
||||
version = false, -- always use the latest git commit
|
||||
-- version = "*", -- try installing the latest stable version for plugins that support semver
|
||||
},
|
||||
install = { colorscheme = { "tokyonight", "habamax" } },
|
||||
checker = { enabled = true }, -- automatically check for plugin updates
|
||||
performance = {
|
||||
rtp = {
|
||||
-- disable some rtp plugins
|
||||
disabled_plugins = {
|
||||
"gzip",
|
||||
-- "matchit",
|
||||
-- "matchparen",
|
||||
-- "netrwPlugin",
|
||||
"tarPlugin",
|
||||
"tohtml",
|
||||
"tutor",
|
||||
"zipPlugin",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
|
@ -0,0 +1,3 @@
|
|||
-- Options are automatically loaded before lazy.nvim startup
|
||||
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
|
||||
-- Add any additional options here
|
|
@ -0,0 +1,265 @@
|
|||
-- since this is just an example spec, don't actually load anything here and return an empty spec
|
||||
-- stylua: ignore
|
||||
if true then return {} end
|
||||
|
||||
-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim
|
||||
--
|
||||
-- In your plugin files, you can:
|
||||
-- * add extra plugins
|
||||
-- * disable/enabled LazyVim plugins
|
||||
-- * override the configuration of LazyVim plugins
|
||||
return {
|
||||
-- add gruvbox
|
||||
{ "ellisonleao/gruvbox.nvim" },
|
||||
|
||||
-- Configure LazyVim to load gruvbox
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "gruvbox",
|
||||
},
|
||||
},
|
||||
|
||||
-- change trouble config
|
||||
{
|
||||
"folke/trouble.nvim",
|
||||
-- opts will be merged with the parent spec
|
||||
opts = { use_diagnostic_signs = true },
|
||||
},
|
||||
|
||||
-- disable trouble
|
||||
{ "folke/trouble.nvim", enabled = false },
|
||||
|
||||
-- add symbols-outline
|
||||
{
|
||||
"simrat39/symbols-outline.nvim",
|
||||
cmd = "SymbolsOutline",
|
||||
keys = { { "<leader>cs", "<cmd>SymbolsOutline<cr>", desc = "Symbols Outline" } },
|
||||
config = true,
|
||||
},
|
||||
|
||||
-- override nvim-cmp and add cmp-emoji
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = { "hrsh7th/cmp-emoji" },
|
||||
---@param opts cmp.ConfigSchema
|
||||
opts = function(_, opts)
|
||||
table.insert(opts.sources, { name = "emoji" })
|
||||
end,
|
||||
},
|
||||
|
||||
-- change some telescope options and a keymap to browse plugin files
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
keys = {
|
||||
-- add a keymap to browse plugin files
|
||||
-- stylua: ignore
|
||||
{
|
||||
"<leader>fp",
|
||||
function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end,
|
||||
desc = "Find Plugin File",
|
||||
},
|
||||
},
|
||||
-- change some options
|
||||
opts = {
|
||||
defaults = {
|
||||
layout_strategy = "horizontal",
|
||||
layout_config = { prompt_position = "top" },
|
||||
sorting_strategy = "ascending",
|
||||
winblend = 0,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- add telescope-fzf-native
|
||||
{
|
||||
"telescope.nvim",
|
||||
dependencies = {
|
||||
"nvim-telescope/telescope-fzf-native.nvim",
|
||||
build = "make",
|
||||
config = function()
|
||||
require("telescope").load_extension("fzf")
|
||||
end,
|
||||
},
|
||||
},
|
||||
|
||||
-- add pyright to lspconfig
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
---@class PluginLspOpts
|
||||
opts = {
|
||||
---@type lspconfig.options
|
||||
servers = {
|
||||
-- pyright will be automatically installed with mason and loaded with lspconfig
|
||||
pyright = {},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- add tsserver and setup with typescript.nvim instead of lspconfig
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
dependencies = {
|
||||
"jose-elias-alvarez/typescript.nvim",
|
||||
init = function()
|
||||
require("lazyvim.util").lsp.on_attach(function(_, buffer)
|
||||
-- stylua: ignore
|
||||
vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" })
|
||||
vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer })
|
||||
end)
|
||||
end,
|
||||
},
|
||||
---@class PluginLspOpts
|
||||
opts = {
|
||||
---@type lspconfig.options
|
||||
servers = {
|
||||
-- tsserver will be automatically installed with mason and loaded with lspconfig
|
||||
tsserver = {},
|
||||
},
|
||||
-- you can do any additional lsp server setup here
|
||||
-- return true if you don't want this server to be setup with lspconfig
|
||||
---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?>
|
||||
setup = {
|
||||
-- example to setup with typescript.nvim
|
||||
tsserver = function(_, opts)
|
||||
require("typescript").setup({ server = opts })
|
||||
return true
|
||||
end,
|
||||
-- Specify * to use this function as a fallback for any server
|
||||
-- ["*"] = function(server, opts) end,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- for typescript, LazyVim also includes extra specs to properly setup lspconfig,
|
||||
-- treesitter, mason and typescript.nvim. So instead of the above, you can use:
|
||||
{ import = "lazyvim.plugins.extras.lang.typescript" },
|
||||
|
||||
-- add more treesitter parsers
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
"html",
|
||||
"javascript",
|
||||
"json",
|
||||
"lua",
|
||||
"markdown",
|
||||
"markdown_inline",
|
||||
"python",
|
||||
"query",
|
||||
"regex",
|
||||
"tsx",
|
||||
"typescript",
|
||||
"vim",
|
||||
"yaml",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above
|
||||
-- would overwrite `ensure_installed` with the new value.
|
||||
-- If you'd rather extend the default config, use the code below instead:
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = function(_, opts)
|
||||
-- add tsx and treesitter
|
||||
vim.list_extend(opts.ensure_installed, {
|
||||
"tsx",
|
||||
"typescript",
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
-- the opts function can also be used to change the default opts:
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = function(_, opts)
|
||||
table.insert(opts.sections.lualine_x, "😄")
|
||||
end,
|
||||
},
|
||||
|
||||
-- or you can return new options to override all the defaults
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = function()
|
||||
return {
|
||||
--[[add your custom lualine config here]]
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
-- use mini.starter instead of alpha
|
||||
{ import = "lazyvim.plugins.extras.ui.mini-starter" },
|
||||
|
||||
-- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc
|
||||
{ import = "lazyvim.plugins.extras.lang.json" },
|
||||
|
||||
-- add any tools you want to have installed below
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"stylua",
|
||||
"shellcheck",
|
||||
"shfmt",
|
||||
"flake8",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- Use <tab> for completion and snippets (supertab)
|
||||
-- first: disable default <tab> and <s-tab> behavior in LuaSnip
|
||||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
keys = function()
|
||||
return {}
|
||||
end,
|
||||
},
|
||||
-- then: setup supertab in cmp
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = {
|
||||
"hrsh7th/cmp-emoji",
|
||||
},
|
||||
---@param opts cmp.ConfigSchema
|
||||
opts = function(_, opts)
|
||||
local has_words_before = function()
|
||||
unpack = unpack or table.unpack
|
||||
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
|
||||
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
|
||||
end
|
||||
|
||||
local luasnip = require("luasnip")
|
||||
local cmp = require("cmp")
|
||||
|
||||
opts.mapping = vim.tbl_extend("force", opts.mapping, {
|
||||
["<Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
-- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable()
|
||||
-- this way you will only jump inside the snippet region
|
||||
elseif luasnip.expand_or_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
elseif has_words_before() then
|
||||
cmp.complete()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif luasnip.jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
return {
|
||||
-- Add vim-ledger
|
||||
{ "ledger/vim-ledger" },
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
return {
|
||||
{ "joshdick/onedark.vim" },
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "onedark",
|
||||
},
|
||||
},
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
return {
|
||||
{
|
||||
"nvim-orgmode/orgmode",
|
||||
dependencies = {
|
||||
{ "nvim-treesitter/nvim-treesitter", lazy = true },
|
||||
},
|
||||
event = "VeryLazy",
|
||||
config = function()
|
||||
-- Load treesitter grammar for org
|
||||
require("orgmode").setup_ts_grammar()
|
||||
|
||||
-- Setup treesitter
|
||||
require("nvim-treesitter.configs").setup({
|
||||
highlight = {
|
||||
enable = true,
|
||||
},
|
||||
ensure_installed = { "org" },
|
||||
})
|
||||
|
||||
-- Setup orgmode
|
||||
require("orgmode").setup({
|
||||
org_agenda_files = "~/orgfiles/**/*",
|
||||
org_default_notes_file = "~/orgfiles/refile.org",
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
return {
|
||||
"mrcjkb/rustaceanvim",
|
||||
version = "^4", -- Recommended
|
||||
ft = { "rust" },
|
||||
opts = {
|
||||
server = {
|
||||
on_attach = function(_, bufnr)
|
||||
vim.keymap.set("n", "<leader>cR", function()
|
||||
vim.cmd.RustLsp("codeAction")
|
||||
end, { desc = "Code Action", buffer = bufnr })
|
||||
vim.keymap.set("n", "<leader>dr", function()
|
||||
vim.cmd.RustLsp("debuggables")
|
||||
end, { desc = "Rust debuggables", buffer = bufnr })
|
||||
end,
|
||||
default_settings = {
|
||||
-- rust-analyzer language server configuration
|
||||
["rust-analyzer"] = {
|
||||
cargo = {
|
||||
allFeatures = true,
|
||||
loadOutDirsFromCheck = true,
|
||||
runBuildScripts = true,
|
||||
},
|
||||
-- Add clippy lints for Rust.
|
||||
checkOnSave = {
|
||||
allFeatures = true,
|
||||
command = "clippy",
|
||||
extraArgs = { "--no-deps" },
|
||||
},
|
||||
procMacro = {
|
||||
enable = true,
|
||||
ignored = {
|
||||
["async-trait"] = { "async_trait" },
|
||||
["napi-derive"] = { "napi" },
|
||||
["async-recursion"] = { "async_recursion" },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
vim.g.rustaceanvim = vim.tbl_deep_extend("force", {}, opts or {})
|
||||
end,
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
indent_type = "Spaces"
|
||||
indent_width = 2
|
||||
column_width = 120
|
|
@ -1,467 +0,0 @@
|
|||
" colorizer.vim Colorize all text in the form #rrggbb or #rgb; autoload functions
|
||||
" Maintainer: lilydjwg <lilydjwg@gmail.com>
|
||||
" Version: 1.4.2
|
||||
" License: Vim License (see vim's :help license)
|
||||
"
|
||||
" See plugin/colorizer.vim for more info.
|
||||
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
function! s:FGforBG(bg) "{{{1
|
||||
" takes a 6hex color code and returns a matching color that is visible
|
||||
let pure = substitute(a:bg,'^#','','')
|
||||
let r = str2nr(pure[0:1], 16)
|
||||
let g = str2nr(pure[2:3], 16)
|
||||
let b = str2nr(pure[4:5], 16)
|
||||
let fgc = g:colorizer_fgcontrast
|
||||
if r*30 + g*59 + b*11 > 12000
|
||||
return s:predefined_fgcolors['dark'][fgc]
|
||||
else
|
||||
return s:predefined_fgcolors['light'][fgc]
|
||||
end
|
||||
endfunction
|
||||
|
||||
function! s:Rgb2xterm(color) "{{{1
|
||||
" selects the nearest xterm color for a rgb value like #FF0000
|
||||
let best_match=0
|
||||
let smallest_distance = 10000000000
|
||||
let r = str2nr(a:color[1:2], 16)
|
||||
let g = str2nr(a:color[3:4], 16)
|
||||
let b = str2nr(a:color[5:6], 16)
|
||||
let colortable = s:GetXterm2rgbTable()
|
||||
for c in range(0,254)
|
||||
let d = pow(colortable[c][0]-r,2) + pow(colortable[c][1]-g,2) + pow(colortable[c][2]-b,2)
|
||||
if d<smallest_distance
|
||||
let smallest_distance = d
|
||||
let best_match = c
|
||||
endif
|
||||
endfor
|
||||
return best_match
|
||||
endfunction
|
||||
|
||||
"" the 6 value iterations in the xterm color cube {{{1
|
||||
let s:valuerange = [0x00, 0x5F, 0x87, 0xAF, 0xD7, 0xFF]
|
||||
|
||||
"" 16 basic colors {{{1
|
||||
let s:basic16 = [
|
||||
\ [0x00, 0x00, 0x00], [0xCD, 0x00, 0x00],
|
||||
\ [0x00, 0xCD, 0x00], [0xCD, 0xCD, 0x00],
|
||||
\ [0x00, 0x00, 0xEE], [0xCD, 0x00, 0xCD],
|
||||
\ [0x00, 0xCD, 0xCD], [0xE5, 0xE5, 0xE5],
|
||||
\ [0x7F, 0x7F, 0x7F], [0xFF, 0x00, 0x00],
|
||||
\ [0x00, 0xFF, 0x00], [0xFF, 0xFF, 0x00],
|
||||
\ [0x5C, 0x5C, 0xFF], [0xFF, 0x00, 0xFF],
|
||||
\ [0x00, 0xFF, 0xFF], [0xFF, 0xFF, 0xFF]]
|
||||
|
||||
function! s:Xterm2rgb(color) "{{{1
|
||||
" 16 basic colors
|
||||
let r = 0
|
||||
let g = 0
|
||||
let b = 0
|
||||
if a:color<16
|
||||
let r = s:basic16[a:color][0]
|
||||
let g = s:basic16[a:color][1]
|
||||
let b = s:basic16[a:color][2]
|
||||
endif
|
||||
|
||||
" color cube color
|
||||
if a:color>=16 && a:color<=232
|
||||
let l:color=a:color-16
|
||||
let r = s:valuerange[(l:color/36)%6]
|
||||
let g = s:valuerange[(l:color/6)%6]
|
||||
let b = s:valuerange[l:color%6]
|
||||
endif
|
||||
|
||||
" gray tone
|
||||
if a:color>=233 && a:color<=253
|
||||
let r=8+(a:color-232)*0x0a
|
||||
let g=r
|
||||
let b=r
|
||||
endif
|
||||
let rgb=[r,g,b]
|
||||
return rgb
|
||||
endfunction
|
||||
|
||||
function! s:SetMatcher(color, pat) "{{{1
|
||||
" "color" is the converted color and "pat" is what to highlight
|
||||
let group = 'Color' . strpart(a:color, 1)
|
||||
if !hlexists(group) || s:force_group_update
|
||||
let fg = g:colorizer_fgcontrast < 0 ? a:color : s:FGforBG(a:color)
|
||||
if &t_Co == 256
|
||||
exe 'hi '.group.' ctermfg='.s:Rgb2xterm(fg).' ctermbg='.s:Rgb2xterm(a:color)
|
||||
endif
|
||||
" Always set gui* as user may switch to GUI version and it's cheap
|
||||
exe 'hi '.group.' guifg='.fg.' guibg='.a:color
|
||||
endif
|
||||
if !exists("w:colormatches[a:pat]")
|
||||
let w:colormatches[a:pat] = matchadd(group, a:pat)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Color Converters {{{1
|
||||
function! s:RgbBgColor() "{{{2
|
||||
let bg = synIDattr(synIDtrans(hlID("Normal")), "bg")
|
||||
let r = str2nr(bg[1:2], 16)
|
||||
let g = str2nr(bg[3:4], 16)
|
||||
let b = str2nr(bg[5:6], 16)
|
||||
return [r,g,b]
|
||||
endfunction
|
||||
|
||||
function! s:Hexa2Rgba(hex,alpha) "{{{2
|
||||
let r = str2nr(a:hex[1:2], 16)
|
||||
let g = str2nr(a:hex[3:4], 16)
|
||||
let b = str2nr(a:hex[5:6], 16)
|
||||
let alpha = printf("%.2f", str2float(str2nr(a:alpha,16)) / 255.0)
|
||||
return [r,g,b,alpha]
|
||||
endfunction
|
||||
|
||||
function! s:Rgba2Rgb(r,g,b,alpha,percent,rgb_bg) "{{{2
|
||||
" converts matched r,g,b values and percentages to [0:255]
|
||||
" if possible, overlays r,g,b with alpha on given rgb_bg color
|
||||
if a:percent
|
||||
let r = a:r * 255 / 100
|
||||
let g = a:g * 255 / 100
|
||||
let b = a:b * 255 / 100
|
||||
else
|
||||
let r = a:r
|
||||
let g = a:g
|
||||
let b = a:b
|
||||
endif
|
||||
if r > 255 || g > 255 || b > 255
|
||||
return []
|
||||
endif
|
||||
if empty(a:rgb_bg)
|
||||
return [r,g,b]
|
||||
endif
|
||||
let alpha = str2float(a:alpha)
|
||||
if alpha < 0
|
||||
let alpha = 0.0
|
||||
elseif alpha > 1
|
||||
let alpha = 1.0
|
||||
endif
|
||||
if alpha == 1.0
|
||||
return [r,g,b]
|
||||
endif
|
||||
let r = float2nr(ceil(r * alpha) + ceil(a:rgb_bg[0] * (1 - alpha)))
|
||||
let g = float2nr(ceil(g * alpha) + ceil(a:rgb_bg[1] * (1 - alpha)))
|
||||
let b = float2nr(ceil(b * alpha) + ceil(a:rgb_bg[2] * (1 - alpha)))
|
||||
if r > 255
|
||||
let r = 255
|
||||
endif
|
||||
if g > 255
|
||||
let g = 255
|
||||
endif
|
||||
if b > 255
|
||||
let b = 255
|
||||
endif
|
||||
return [r,g,b]
|
||||
endfunction
|
||||
|
||||
"ColorFinders {{{1
|
||||
function! s:HexCode(str, lineno) "{{{2
|
||||
" finds RGB: #00f #0000ff and RGBA: #00f8 #0000ff88 (or ARGB: #800f #880000ff)
|
||||
if has("gui_running")
|
||||
let rgb_bg = s:RgbBgColor()
|
||||
else
|
||||
" translucent colors would display incorrectly, so ignore the alpha value
|
||||
let rgb_bg = []
|
||||
endif
|
||||
let ret = []
|
||||
let place = 0
|
||||
let colorpat = '#[0-9A-Fa-f]\{3\}\>\|#[0-9A-Fa-f]\{6\}\>\|#[0-9A-Fa-f]\{8\}\>\|#[0-9A-Fa-f]\{4\}\>'
|
||||
while 1
|
||||
let foundcolor = matchstr(a:str, colorpat, place)
|
||||
if foundcolor == ''
|
||||
break
|
||||
endif
|
||||
let place = matchend(a:str, colorpat, place)
|
||||
let pat = foundcolor . '\>'
|
||||
let colorlen = len(foundcolor)
|
||||
if get(g:, 'colorizer_hex_alpha_first') == 1
|
||||
if colorlen == 4 || colorlen == 5
|
||||
let ha = tolower(foundcolor[1])
|
||||
let hr = tolower(foundcolor[2])
|
||||
let hg = tolower(foundcolor[3])
|
||||
let hb = tolower(foundcolor[4])
|
||||
let foundcolor = substitute(foundcolor, '[[:xdigit:]]', '&&', 'g')
|
||||
else
|
||||
let ha = tolower(foundcolor[1:2])
|
||||
let hr = tolower(foundcolor[3:4])
|
||||
let hg = tolower(foundcolor[5:6])
|
||||
let hb = tolower(foundcolor[7:8])
|
||||
endif
|
||||
if len(foundcolor) == 9
|
||||
let alpha = foundcolor[1:2]
|
||||
let foundcolor = '#'.foundcolor[3:8]
|
||||
else
|
||||
let alpha = 'ff'
|
||||
endif
|
||||
if empty(rgb_bg)
|
||||
if colorlen == 5
|
||||
let pat = printf('\c#\x\zs%s%s%s\ze\>', hr,hg,hb)
|
||||
elseif colorlen == 9
|
||||
let pat = printf('\c#\x\x\zs%s%s%s\ze\>', hr,hg,hb)
|
||||
endif
|
||||
endif
|
||||
else
|
||||
if colorlen == 4 || colorlen == 5
|
||||
let hr = tolower(foundcolor[1])
|
||||
let hg = tolower(foundcolor[2])
|
||||
let hb = tolower(foundcolor[3])
|
||||
let ha = tolower(foundcolor[4])
|
||||
let foundcolor = substitute(foundcolor, '[[:xdigit:]]', '&&', 'g')
|
||||
else
|
||||
let hr = tolower(foundcolor[1:2])
|
||||
let hg = tolower(foundcolor[3:4])
|
||||
let hb = tolower(foundcolor[5:6])
|
||||
let ha = tolower(foundcolor[7:8])
|
||||
endif
|
||||
if len(foundcolor) == 9
|
||||
let alpha = foundcolor[7:8]
|
||||
let foundcolor = foundcolor[0:6]
|
||||
else
|
||||
let alpha = 'ff'
|
||||
endif
|
||||
if empty(rgb_bg)
|
||||
if colorlen == 5
|
||||
let pat = printf('\c#%s%s%s\ze\x\>', hr,hg,hb)
|
||||
elseif colorlen == 9
|
||||
let pat = printf('\c#%s%s%s\ze\x\x\>', hr,hg,hb)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
if empty(rgb_bg) || tolower(alpha) == 'ff'
|
||||
call add(ret, [foundcolor, pat])
|
||||
else
|
||||
let rgba = s:Hexa2Rgba(foundcolor, alpha)
|
||||
let rgb = s:Rgba2Rgb(rgba[0], rgba[1], rgba[2], rgba[3], 0, rgb_bg)
|
||||
let l:color = printf('#%02x%02x%02x', rgb[0], rgb[1], rgb[2])
|
||||
call add(ret, [l:color, pat])
|
||||
endif
|
||||
endwhile
|
||||
return ret
|
||||
endfunction
|
||||
|
||||
function! s:RgbColor(str, lineno) "{{{2
|
||||
let ret = []
|
||||
let place = 0
|
||||
let colorpat = '\<rgb(\v\s*(\d+(\%)?)\s*,\s*(\d+%(\2))\s*,\s*(\d+%(\2))\s*\)'
|
||||
while 1
|
||||
let foundcolor = matchlist(a:str, colorpat, place)
|
||||
if empty(foundcolor)
|
||||
break
|
||||
endif
|
||||
let place = matchend(a:str, colorpat, place)
|
||||
if foundcolor[2] == '%'
|
||||
let r = foundcolor[1] * 255 / 100
|
||||
let g = foundcolor[3] * 255 / 100
|
||||
let b = foundcolor[4] * 255 / 100
|
||||
else
|
||||
let r = foundcolor[1]
|
||||
let g = foundcolor[3]
|
||||
let b = foundcolor[4]
|
||||
endif
|
||||
if r > 255 || g > 255 || b > 255
|
||||
break
|
||||
endif
|
||||
let pat = printf('\<rgb(\v\s*%s\s*,\s*%s\s*,\s*%s\s*\)', foundcolor[1], foundcolor[3], foundcolor[4])
|
||||
if foundcolor[2] == '%'
|
||||
let pat = substitute(pat, '%', '\\%', 'g')
|
||||
endif
|
||||
let l:color = printf('#%02x%02x%02x', r, g, b)
|
||||
call add(ret, [l:color, pat])
|
||||
endwhile
|
||||
return ret
|
||||
endfunction
|
||||
|
||||
function! s:RgbaColor(str, lineno) "{{{2
|
||||
if has("gui_running")
|
||||
let rgb_bg = s:RgbBgColor()
|
||||
else
|
||||
" translucent colors would display incorrectly, so ignore the alpha value
|
||||
let rgb_bg = []
|
||||
endif
|
||||
let ret = []
|
||||
let place = 0
|
||||
let percent = 0
|
||||
let colorpat = '\<rgba(\v\s*(\d+(\%)?)\s*,\s*(\d+%(\2))\s*,\s*(\d+%(\2))\s*,\s*(-?[.[:digit:]]+)\s*\)'
|
||||
while 1
|
||||
let foundcolor = matchlist(a:str, colorpat, place)
|
||||
if empty(foundcolor)
|
||||
break
|
||||
endif
|
||||
if foundcolor[2] == '%'
|
||||
let percent = 1
|
||||
endif
|
||||
let rgb = s:Rgba2Rgb(foundcolor[1], foundcolor[3], foundcolor[4], foundcolor[5], percent, rgb_bg)
|
||||
if empty(rgb)
|
||||
break
|
||||
endif
|
||||
let place = matchend(a:str, colorpat, place)
|
||||
if empty(rgb_bg)
|
||||
let pat = printf('\<rgba(\v\s*%s\s*,\s*%s\s*,\s*%s\s*,\ze\s*(-?[.[:digit:]]+)\s*\)', foundcolor[1], foundcolor[3], foundcolor[4])
|
||||
else
|
||||
let pat = printf('\<rgba(\v\s*%s\s*,\s*%s\s*,\s*%s\s*,\s*%s0*\s*\)', foundcolor[1], foundcolor[3], foundcolor[4], foundcolor[5])
|
||||
endif
|
||||
if percent
|
||||
let pat = substitute(pat, '%', '\\%', 'g')
|
||||
endif
|
||||
let l:color = printf('#%02x%02x%02x', rgb[0], rgb[1], rgb[2])
|
||||
call add(ret, [l:color, pat])
|
||||
endwhile
|
||||
return ret
|
||||
endfunction
|
||||
|
||||
function! s:PreviewColorInLine(where) "{{{1
|
||||
let line = getline(a:where)
|
||||
for Func in s:ColorFinder
|
||||
let ret = Func(line, a:where)
|
||||
" returned a list of a list: color as #rrggbb, text pattern to highlight
|
||||
for r in ret
|
||||
call s:SetMatcher(r[0], r[1])
|
||||
endfor
|
||||
endfor
|
||||
endfunction
|
||||
|
||||
function! s:CursorMoved() "{{{1
|
||||
if !exists('w:colormatches')
|
||||
return
|
||||
endif
|
||||
if exists('b:colorizer_last_update')
|
||||
if b:colorizer_last_update == b:changedtick
|
||||
" Nothing changed
|
||||
return
|
||||
endif
|
||||
endif
|
||||
call s:PreviewColorInLine('.')
|
||||
let b:colorizer_last_update = b:changedtick
|
||||
endfunction
|
||||
|
||||
function! s:TextChanged() "{{{1
|
||||
if !exists('w:colormatches')
|
||||
return
|
||||
endif
|
||||
echomsg "TextChanged"
|
||||
call s:PreviewColorInLine('.')
|
||||
endfunction
|
||||
|
||||
function! colorizer#ColorHighlight(update, ...) "{{{1
|
||||
if exists('w:colormatches')
|
||||
if !a:update
|
||||
return
|
||||
endif
|
||||
call s:ClearMatches()
|
||||
endif
|
||||
if (g:colorizer_maxlines > 0) && (g:colorizer_maxlines <= line('$'))
|
||||
return
|
||||
end
|
||||
let w:colormatches = {}
|
||||
if g:colorizer_fgcontrast != s:saved_fgcontrast || (exists("a:1") && a:1 == '!')
|
||||
let s:force_group_update = 1
|
||||
endif
|
||||
for i in range(1, line("$"))
|
||||
call s:PreviewColorInLine(i)
|
||||
endfor
|
||||
let s:force_group_update = 0
|
||||
let s:saved_fgcontrast = g:colorizer_fgcontrast
|
||||
augroup Colorizer
|
||||
au!
|
||||
if exists('##TextChanged')
|
||||
autocmd TextChanged * silent call s:TextChanged()
|
||||
if v:version > 704 || v:version == 704 && has('patch143')
|
||||
autocmd TextChangedI * silent call s:TextChanged()
|
||||
else
|
||||
" TextChangedI does not work as expected
|
||||
autocmd CursorMovedI * silent call s:CursorMoved()
|
||||
endif
|
||||
else
|
||||
autocmd CursorMoved,CursorMovedI * silent call s:CursorMoved()
|
||||
endif
|
||||
" rgba handles differently, so need updating
|
||||
autocmd GUIEnter * silent call colorizer#ColorHighlight(1)
|
||||
autocmd BufEnter * silent call colorizer#ColorHighlight(1)
|
||||
autocmd WinEnter * silent call colorizer#ColorHighlight(1)
|
||||
autocmd ColorScheme * let s:force_group_update=1 | silent call colorizer#ColorHighlight(1)
|
||||
augroup END
|
||||
endfunction
|
||||
|
||||
function! colorizer#ColorClear() "{{{1
|
||||
augroup Colorizer
|
||||
au!
|
||||
augroup END
|
||||
augroup! Colorizer
|
||||
let save_tab = tabpagenr()
|
||||
let save_win = winnr()
|
||||
tabdo windo call s:ClearMatches()
|
||||
exe 'tabn '.save_tab
|
||||
exe save_win . 'wincmd w'
|
||||
endfunction
|
||||
|
||||
function! s:ClearMatches() "{{{1
|
||||
if !exists('w:colormatches')
|
||||
return
|
||||
endif
|
||||
for i in values(w:colormatches)
|
||||
try
|
||||
call matchdelete(i)
|
||||
catch /.*/
|
||||
" matches have been cleared in other ways, e.g. user has called clearmatches()
|
||||
endtry
|
||||
endfor
|
||||
unlet w:colormatches
|
||||
endfunction
|
||||
|
||||
function! colorizer#ColorToggle() "{{{1
|
||||
if exists('#Colorizer')
|
||||
call colorizer#ColorClear()
|
||||
echomsg 'Disabled color code highlighting.'
|
||||
else
|
||||
call colorizer#ColorHighlight(0)
|
||||
echomsg 'Enabled color code highlighting.'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! colorizer#AlphaPositionToggle() "{{{1
|
||||
if exists('#Colorizer')
|
||||
if get(g:, 'colorizer_hex_alpha_first') == 1
|
||||
let g:colorizer_hex_alpha_first = 0
|
||||
else
|
||||
let g:colorizer_hex_alpha_first = 1
|
||||
endif
|
||||
call colorizer#ColorHighlight(1)
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:GetXterm2rgbTable() "{{{1
|
||||
if !exists('s:table_xterm2rgb')
|
||||
let s:table_xterm2rgb = []
|
||||
for c in range(0, 254)
|
||||
let s:color = s:Xterm2rgb(c)
|
||||
call add(s:table_xterm2rgb, s:color)
|
||||
endfor
|
||||
endif
|
||||
return s:table_xterm2rgb
|
||||
endfun
|
||||
|
||||
" Setups {{{1
|
||||
let s:ColorFinder = [function('s:HexCode'), function('s:RgbColor'), function('s:RgbaColor')]
|
||||
let s:force_group_update = 0
|
||||
let s:predefined_fgcolors = {}
|
||||
let s:predefined_fgcolors['dark'] = ['#444444', '#222222', '#000000']
|
||||
let s:predefined_fgcolors['light'] = ['#bbbbbb', '#dddddd', '#ffffff']
|
||||
if !exists("g:colorizer_fgcontrast")
|
||||
" Default to black / white
|
||||
let g:colorizer_fgcontrast = len(s:predefined_fgcolors['dark']) - 1
|
||||
elseif g:colorizer_fgcontrast >= len(s:predefined_fgcolors['dark'])
|
||||
echohl WarningMsg
|
||||
echo "g:colorizer_fgcontrast value invalid, using default"
|
||||
echohl None
|
||||
let g:colorizer_fgcontrast = len(s:predefined_fgcolors['dark']) - 1
|
||||
endif
|
||||
let s:saved_fgcontrast = g:colorizer_fgcontrast
|
||||
|
||||
" Restoration and modelines {{{1
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
" vim:ft=vim:fdm=marker:fmr={{{,}}}:ts=8:sw=2:sts=2:et
|
File diff suppressed because it is too large
Load Diff
|
@ -1,2 +0,0 @@
|
|||
" Exception Abbrev
|
||||
nnoremap <C-j> ostring funcName = MethodBase.GetCurrentMethod().ReflectedType.ToString() + "." + MethodBase.GetCurrentMethod().Name;<CR>try {<CR><Esc>k$%ocatch (Exception ex) {<CR>Log(1, MessageType.Error, funcName, String.Format("{0}:\n\n{1}\n", funcName, ex));<CR>}<CR>}<Esc>=%
|
|
@ -1,23 +0,0 @@
|
|||
" Basics
|
||||
set autoindent noexpandtab tabstop=4 shiftwidth=4
|
||||
" Shortcuts
|
||||
abbrev funct func Test(t *testing.T) {<CR>}<Esc>kwwi
|
||||
abbrev trun t.Run("", func(t *testing.T) {<CR>})<Esc>%la
|
||||
abbrev terr t.Errorf("got %v, want %v", got, want)<Esc>02f,lcaw
|
||||
abbrev thelp func(t *testing.T) {<CR>t.Helper()<CR>}<Esc>ko
|
||||
abbrev fori for i := 0; i <; i++{<CR>}<Esc>k2f;i
|
||||
abbrev fore for i, c := range{<CR>}<Esc>kf{i
|
||||
|
||||
" Compiling
|
||||
nnoremap <C-c><C-f> <Esc>:GoFmt<CR>
|
||||
nnoremap <C-c><C-c> <Esc>:!clear<CR><CR>:GoRun<CR>
|
||||
nnoremap <C-c><C-b> <CR>:GoBuild<CR>
|
||||
nnoremap <C-c><C-t> <CR>:GoTest<CR>
|
||||
nnoremap <F9> <CR>:GoImports<CR>
|
||||
nnoremap <C-c><C-d> <CR>:GoDebugStart<CR>
|
||||
nnoremap gd <Esc>:GoDef
|
||||
nnoremap <F1> <Esc>:GoDoc<CR>
|
||||
|
||||
map <C-c><C-w> <Esc>:!clear; GOOS=windows GOARCH=386 go build -o %<.exe %<CR><CR>
|
||||
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
"html files
|
||||
iabbrev </ </<C-X><C-O>
|
|
@ -1,13 +0,0 @@
|
|||
" setlocal spell spelllang=de_de
|
||||
" set nospell
|
||||
|
||||
" Abbrevs
|
||||
abbrev iff Leftrightarrow
|
||||
|
||||
" Begin Shortcuts
|
||||
inoremap $$ $<Esc>bi$\<Esc>f$a
|
||||
vnoremap <C-l> da\overline{<C-o>p}<Esc>
|
||||
|
||||
" Compilation
|
||||
map <C-c><C-c> <Esc>:!pandoc <C-r>% -o <C-r>%<Del><Del>pdf --from markdown+tex_math_dollars+yaml_metadata_block+hard_line_breaks --template $HOME/Templates/Pandoc/eisvogel --listings &>/dev/null & disown <CR><CR>
|
||||
map <C-c><C-d> <Esc>:!zathura <C-r>%<Del><Del>pdf &>/dev/null & disown <CR><CR>
|
|
@ -1,17 +0,0 @@
|
|||
" Python settings
|
||||
|
||||
|
||||
" Shortcuts
|
||||
imap <leader>ifm if<Space>__name__<Space>==<Space>'__main__':<CR>
|
||||
|
||||
" Compiling
|
||||
map <C-c><C-c> <Esc>:!clear; python %<CR><CR>
|
||||
|
||||
" Use the below highlight group when displaying bad whitespace is desired.
|
||||
highlight BadWhitespace ctermbg=red guibg=red
|
||||
|
||||
" Display tabs at the beginning of a line in Python mode as bad.
|
||||
au BufRead,BufNewFile *.py,*.pyw match BadWhitespace /^\t\+/
|
||||
|
||||
" Make trailing whitespace be flagged as bad.
|
||||
au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/
|
|
@ -1,3 +0,0 @@
|
|||
" Compilation
|
||||
map <C-c><C-c> <Esc>:!clear&./%<CR><CR>
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
setlocal spell spelllang=de_de
|
||||
|
||||
" Begin Shortcuts
|
||||
noremap <C-B> YpkI\begin{<Esc>A}<Esc>jI\end{<Esc>A}<Esc>ko
|
||||
noremap! <C-B> <Esc>YpkI\begin{<Esc>A}<Esc>jI\end{<Esc>A}<Esc>ko
|
||||
|
||||
inoremap ;it \begin{itemize}<CR>\end{itemize}<Esc>k
|
||||
inoremap ;i \item{}<Space>
|
||||
inoremap "" "`"'<Esc>hha
|
||||
inoremap ;fp \begin{tabular}{ccc}<CR>\toprule<CR>Ja & Nein & Enthaltung \\ <CR> \midrule<CR> <x_x> & <x_x> & <x_x> \\<CR>\bottomrule<CR>\end{tabular}<Esc>0kk<Space><Tab>
|
||||
inoremap ;sec \section{}<Esc>i
|
||||
inoremap ;ssec \subsection{}<Esc>i
|
||||
inoremap ;sssec \subsubsection{}<Esc>i
|
||||
|
||||
" Surround stuff
|
||||
vnoremap <C-B> da\textbf{<C-R>"}<Esc>
|
||||
vnoremap <C-L> da\underline{<C-R>"}<Esc>
|
||||
vnoremap <C-I> da\textit{<C-R>"}<Esc>
|
||||
vnoremap <C-E> da\emph{<C-R>"}<Esc>
|
||||
vnoremap ( da(<C-R>")<Esc>
|
||||
vnoremap "" da"`<C-R>""'<Esc>
|
||||
|
||||
|
||||
":command! -complete=file -nargs=1 Rpdf :r !pdftotext -nopgbrk <q-args> -
|
||||
":command! -complete=file -nargs=1 Rpdf :r !pdftotext -nopgbrk <q-args> - | fmt -csw78
|
||||
" Compilation
|
||||
noremap <C-c><C-c> <Esc>:!latexmk -pdf -silent "<C-r>%" &>/dev/null & disown <CR>:redraw!<CR><CR>
|
||||
noremap <C-c><C-v> <Esc>:!latexmk -c &>/dev/null & disown <CR><CR>
|
||||
noremap <C-c><C-d> <Esc>:!zathura <C-r>%<Del><Del><Del>pdf &>/dev/null & disown <CR><CR>
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
" Basics
|
||||
syntax on
|
||||
filetype indent plugin on
|
||||
set background=light
|
||||
set encoding=utf-8
|
||||
set smartcase
|
||||
set incsearch
|
||||
set hlsearch
|
||||
set nospell
|
||||
set hidden
|
||||
|
||||
" Tab behavior
|
||||
set expandtab
|
||||
set tabstop=4
|
||||
set shiftwidth=4
|
||||
set softtabstop=4
|
||||
|
||||
" New window positions
|
||||
set splitbelow
|
||||
set splitright
|
||||
|
||||
" Statusbar
|
||||
set statusline=%F%m%r%h%w[%L][%{&ff}]%y[%p%%][%04l,%04v]
|
||||
|
||||
" Window Management
|
||||
let &winheight = &lines * 7 / 10
|
||||
|
||||
" Path
|
||||
set path+=**
|
||||
set wildmenu
|
|
@ -1,76 +0,0 @@
|
|||
" colorizer.vim Colorize all text in the form #rrggbb or #rgb; entrance
|
||||
" Maintainer: lilydjwg <lilydjwg@gmail.com>
|
||||
" Version: 1.4.2
|
||||
" Licence: Vim license. See ':help license'
|
||||
" Derived From: css_color.vim
|
||||
" http://www.vim.org/scripts/script.php?script_id=2150
|
||||
" Thanks To: Niklas Hofer (Author of css_color.vim), Ingo Karkat, rykka,
|
||||
" KrzysztofUrban, blueyed, shanesmith, UncleBill
|
||||
" Usage:
|
||||
"
|
||||
" This plugin defines three commands:
|
||||
"
|
||||
" ColorHighlight - start/update highlighting
|
||||
" ColorClear - clear all highlights
|
||||
" ColorToggle - toggle highlights
|
||||
"
|
||||
" By default, <leader>tc is mapped to ColorToggle. If you want to use another
|
||||
" key map, do like this:
|
||||
" nmap ,tc <Plug>Colorizer
|
||||
"
|
||||
" If you want completely not to map it, set the following in your vimrc:
|
||||
" let g:colorizer_nomap = 1
|
||||
"
|
||||
" To use solid color highlight, set this in your vimrc (later change won't
|
||||
" probably take effect unless you use ':ColorHighlight!' to force update):
|
||||
" let g:colorizer_fgcontrast = -1
|
||||
" set it to 0 or 1 to use a softened foregroud color.
|
||||
"
|
||||
" If you don't want to enable colorizer at startup, set the following:
|
||||
" let g:colorizer_startup = 0
|
||||
"
|
||||
" You can disable it on long buffers, for example if more than 1000 lines:
|
||||
" let g:colorizer_maxlines = 1000
|
||||
" -1 means unlimited number of lines
|
||||
"
|
||||
" There are color strings in the format #RRGGBBAA and #AARRGGBB. The former is
|
||||
" more common so it's the default. If you want the latter, set the following:
|
||||
" let g:colorizer_hex_alpha_first = 1
|
||||
"
|
||||
" You can toggle the recognized alpha position by
|
||||
" call colorizer#AlphaPositionToggle()
|
||||
"
|
||||
" Note: if you modify a color string in normal mode, if the cursor is still on
|
||||
" that line, it'll take 'updatetime' seconds to update. You can use
|
||||
" :ColorHighlight (or your key mapping) again to force update.
|
||||
"
|
||||
" Performance Notice: In terminal, it may take several seconds to highlight 240
|
||||
" different colors. GUI version is much quicker.
|
||||
|
||||
" Reload guard and 'compatible' handling {{{1
|
||||
if exists("loaded_colorizer") || v:version < 700 || !(has("gui_running") || &t_Co == 256)
|
||||
finish
|
||||
endif
|
||||
let loaded_colorizer = 1
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
"Define commands {{{1
|
||||
if !exists('g:colorizer_maxlines')
|
||||
let g:colorizer_maxlines = -1
|
||||
endif
|
||||
command! -bar -bang ColorHighlight call colorizer#ColorHighlight(1, "<bang>")
|
||||
command! -bar ColorClear call colorizer#ColorClear()
|
||||
command! -bar ColorToggle call colorizer#ColorToggle()
|
||||
nnoremap <silent> <Plug>Colorizer :ColorToggle<CR>
|
||||
if !hasmapto("<Plug>Colorizer") && (!exists("g:colorizer_nomap") || g:colorizer_nomap == 0)
|
||||
nmap <unique> <Leader>tc <Plug>Colorizer
|
||||
endif
|
||||
if !exists('g:colorizer_startup') || g:colorizer_startup
|
||||
call colorizer#ColorHighlight(0)
|
||||
endif
|
||||
|
||||
" Cleanup and modelines {{{1
|
||||
let &cpo = s:save_cpo
|
||||
" vim:ft=vim:fdm=marker:fmr={{{,}}}:ts=8:sw=2:sts=2:
|
|
@ -1,2 +0,0 @@
|
|||
autocmd BufNewFile,BufRead *.razor setf html
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -1,17 +0,0 @@
|
|||
runtime macros/matchit.vim
|
||||
filetype on
|
||||
|
||||
call plug#begin()
|
||||
Plug 'lervag/vimtex'
|
||||
Plug 'sheerun/vim-polyglot'
|
||||
Plug 'fatih/vim-go'
|
||||
call plug#end()
|
||||
|
||||
let g:match_ignorecase = 1
|
||||
|
||||
let g:polyglot_disabled = ['latex']
|
||||
|
||||
let g:UltiSnipsExpandTrigger="<tab>"
|
||||
let g:UltiSnipsJumpForwardTrigger="<c-b>"
|
||||
let g:UltiSnipsJumpBackwardTrigger="<c-z>"
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
" Remaps
|
||||
nnoremap <C-J> <C-W><C-J>
|
||||
nnoremap <C-K> <C-W><C-K>
|
||||
nnoremap <C-L> <C-W><C-L>
|
||||
nnoremap <C-H> <C-W><C-H>
|
||||
nnoremap J :bn<CR>
|
||||
nnoremap K :bp<CR>
|
||||
map <C-B> <Esc>:b<space>
|
||||
nnoremap <C-u> :earlier<CR>
|
||||
nnoremap <C-U> :later<CR>
|
||||
noremap Y "+y
|
||||
noremap <C-E> :e **/*
|
||||
noremap <F12> :tabedit<CR>:ter<CR><C-w><C-w>:q<CR>
|
||||
noremap <F12> <Esc>:syntax sync fromstart<CR>
|
||||
inoremap <F12> <C-o>:syntax sync fromstart<CR>
|
||||
noremap == ==j
|
||||
nmap 0 ^
|
||||
nmap ' `
|
||||
|
||||
" Diaeresis for e.g. german
|
||||
inoremap a<leader> ä
|
||||
inoremap o<leader> ö
|
||||
inoremap u<leader> ü
|
||||
inoremap A<leader> Ä
|
||||
inoremap U<leader> Ü
|
||||
inoremap O<leader> Ö
|
||||
inoremap s<leader> ß
|
||||
inoremap e<leader> €
|
|
@ -1,14 +0,0 @@
|
|||
" Vim Settings
|
||||
"" Move the swap file location to protect against CVE-2017-1000382
|
||||
if exists('$XDG_CACHE_HOME')
|
||||
let &g:directory=$XDG_CACHE_HOME
|
||||
else
|
||||
let &g:directory=$HOME . '/.cache'
|
||||
endif
|
||||
let &g:directory.='/vim/swap//'
|
||||
"" Create swap directory if it doesn't exist
|
||||
if ! isdirectory(expand(&g:directory))
|
||||
silent! call mkdir(expand(&g:directory), 'p', 0700)
|
||||
endif
|
||||
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
augroup templates
|
||||
au!
|
||||
" read in template files
|
||||
autocmd BufNewFile *.* silent! execute '0r $HOME/.vim/templates/skeleton.'.expand("<afile>:e")
|
||||
|
||||
" parse special text in the templates after the read
|
||||
autocmd BufNewFile * %s#\[:VIM_EVAL:\]\(.\{-\}\)\[:END_EVAL:\]#\=eval(submatch(1))#ge
|
||||
augroup END
|
|
@ -1,846 +0,0 @@
|
|||
#
|
||||
#a
|
||||
a
|
||||
A2
|
||||
Abdallah
|
||||
Abdifitah
|
||||
absFSR
|
||||
#achschaftbezahlten
|
||||
Active
|
||||
Adomas
|
||||
#affemschinen
|
||||
Ahlemann
|
||||
AirSniff
|
||||
Akduell
|
||||
Akyüz
|
||||
Alanah
|
||||
Aledia
|
||||
Aline
|
||||
Almeida
|
||||
Ambient
|
||||
Ambilights
|
||||
Ambrosius
|
||||
anderer
|
||||
Andert
|
||||
Anil
|
||||
#ansponderschloss
|
||||
Anwendungsentwickler
|
||||
Anwendungsntwicklung
|
||||
anwHelper
|
||||
App
|
||||
Ashef
|
||||
Aslan
|
||||
ASP
|
||||
AStAs
|
||||
asyncio
|
||||
Athanasiadis
|
||||
Aufderlandwehr
|
||||
außeinanderzusetzen
|
||||
Außenaktivitäten
|
||||
auswertung
|
||||
Aylin
|
||||
#b
|
||||
b
|
||||
B1
|
||||
Bachelorarbeit
|
||||
Bachelorarbeitsnote
|
||||
Bachelorstudiengang
|
||||
Bakir
|
||||
Banas
|
||||
Bandalphabets
|
||||
bandbeschränkt
|
||||
Bangel
|
||||
Bärserker
|
||||
Bathon
|
||||
Batuhan
|
||||
Bauingeneurwesen
|
||||
Baumert
|
||||
Beamerfläche
|
||||
Beckerpape
|
||||
BEGINNING
|
||||
Beitragsvorlage
|
||||
Bektas
|
||||
Bereska
|
||||
Berichtspunkte
|
||||
Bernemann
|
||||
Berufungskomission
|
||||
Beschaffungsantrag
|
||||
Besetzungskommmission
|
||||
Bestgen
|
||||
besuch
|
||||
Betriebsysteme
|
||||
Beyer
|
||||
Biebeck
|
||||
Bildungsaspekt
|
||||
Bittner
|
||||
Bittners
|
||||
Bojahr
|
||||
Bookstack
|
||||
Bookstacks
|
||||
boolean
|
||||
Bootstrap
|
||||
Boscheck
|
||||
Boßeler
|
||||
Boxes
|
||||
Brauerreitour
|
||||
Brinda
|
||||
Brökelschen
|
||||
Bruns
|
||||
Bsp
|
||||
Buciunes
|
||||
Buddenbohm
|
||||
Buildcount
|
||||
Bulavintseva
|
||||
Buono
|
||||
Burczyk
|
||||
Burgmann
|
||||
Busanbindung
|
||||
Bushran
|
||||
Busse
|
||||
Busticket
|
||||
c
|
||||
C2
|
||||
Campusse
|
||||
Campussen
|
||||
Cansu
|
||||
CaSchü
|
||||
Ceyda
|
||||
Challenges
|
||||
chart
|
||||
Christos
|
||||
Cirriculum
|
||||
cloud
|
||||
Concurrency
|
||||
Correct
|
||||
Credit
|
||||
Creditpunkte
|
||||
CSS
|
||||
CTF
|
||||
d
|
||||
Darleen
|
||||
Dat
|
||||
Datenbankmanagementsystem
|
||||
Datenbanktabelle
|
||||
Datenschutzgrundverordnung
|
||||
Davi
|
||||
david
|
||||
DBMS
|
||||
Debian
|
||||
Dechenstraße
|
||||
Deckenhalterung
|
||||
Deligierter
|
||||
Desktopanwendungen
|
||||
Dette
|
||||
Deutschtest
|
||||
Dewert
|
||||
Diskussionszentren
|
||||
Disziplinator
|
||||
Dittler
|
||||
docker
|
||||
Docs
|
||||
Dogan
|
||||
Dogs
|
||||
Dolshanski
|
||||
Dömckes
|
||||
Dorit
|
||||
Dreizehnlindenhalle
|
||||
dringstens
|
||||
Drittveranstaltungen
|
||||
Druckerpapier
|
||||
DSGVO
|
||||
due
|
||||
durchzuplanen
|
||||
e
|
||||
Easteregg
|
||||
Echtle
|
||||
edge
|
||||
EDITABLE
|
||||
eduroam
|
||||
eduroams
|
||||
Eikemper
|
||||
#eilnahmergebühren
|
||||
Eingabewort
|
||||
Einschreibezahlen
|
||||
Einwurfschlitz
|
||||
Eirich
|
||||
#eitereführen
|
||||
#elbstbewirtschaftlung
|
||||
Elif
|
||||
emacs
|
||||
Entschuldigungsstatus
|
||||
Erdmann
|
||||
#ergleisweis
|
||||
erp4students
|
||||
Ersatzschlüssel
|
||||
Ersti
|
||||
Erstifahrt
|
||||
Erstis
|
||||
Erstitüten
|
||||
Erstsemestereinführung
|
||||
Erstsemesterfahrt
|
||||
Erstsemster
|
||||
Erstsemstern
|
||||
Ertas
|
||||
#ertiefungsbereic
|
||||
ESE
|
||||
Essensflatrate
|
||||
Evaluierungskomission
|
||||
Evaluierungskomissionen
|
||||
Excel
|
||||
Exmatrikulierung
|
||||
exterene
|
||||
f
|
||||
fachchaftsnahe
|
||||
Fachschaftenkonferenz
|
||||
Fachschafts
|
||||
Fachschaftsrat
|
||||
Fachschaftsräte
|
||||
Fachschaftsrates
|
||||
Fachschaftsrathelfer
|
||||
Fachschaftsratsmitglied
|
||||
Fachschaftsratsmitglieder
|
||||
Fachschaftsratssitzung
|
||||
Fachschaftsraum
|
||||
Fachschaftsraums
|
||||
Fachschaftstreffen
|
||||
Fachschaftsveranstaltungen
|
||||
Fachschaftsvollversammlung
|
||||
Fahrradreperaturstation
|
||||
Fahrscheinkontrolle
|
||||
Fakultätsratssitzung
|
||||
Fakultätszusammenlegung
|
||||
false
|
||||
Fanke
|
||||
Filipp
|
||||
Finanzreferat
|
||||
flag
|
||||
Flunkyballturnier
|
||||
Folke
|
||||
Formating
|
||||
formatting
|
||||
Forms
|
||||
Fotoboxen
|
||||
Framework
|
||||
Frameworks
|
||||
Frederik
|
||||
Freefloating
|
||||
Freiverzehrkarte
|
||||
Fremdbibliotheken
|
||||
Frese
|
||||
Freundel
|
||||
Fritsch
|
||||
fse
|
||||
FSE
|
||||
FSK
|
||||
FSKs
|
||||
fsr
|
||||
FSR
|
||||
FSRs
|
||||
FSVV
|
||||
Funkenberg
|
||||
Fürstimmen
|
||||
FZS
|
||||
Gamenight
|
||||
Gästeliste
|
||||
Gästelistenplatz
|
||||
Gästelistenplätzen
|
||||
Gebäudemanagement
|
||||
Gebäudemanagements
|
||||
Gebäudezugang
|
||||
gefeba
|
||||
gegendert
|
||||
Gegenstandsverzeichnis
|
||||
Gegenstandsverzeichnisses
|
||||
Geochaching
|
||||
Gesundheitsbelehrung
|
||||
Gesundheitsbelehrungen
|
||||
Geurtz
|
||||
Giebeler
|
||||
Git
|
||||
GitLab
|
||||
Gladbeck
|
||||
Glaspavillion
|
||||
Gleichstellungsbeauftragten
|
||||
Gleistellungsbeauftragte
|
||||
Goedicke
|
||||
Golenia
|
||||
GoogleCTF
|
||||
Gördes
|
||||
Görgens
|
||||
Görges
|
||||
GOTO
|
||||
GOTOSTART
|
||||
Grei
|
||||
Gremienmails
|
||||
Gremienplätze
|
||||
Gremienwahlen
|
||||
Gremzo
|
||||
Grinewitschus
|
||||
Gritzner
|
||||
Günes
|
||||
h
|
||||
Häckner
|
||||
Haefs
|
||||
Hallekamp
|
||||
Han
|
||||
Hardening
|
||||
Hartnagel
|
||||
Hasselhuhn
|
||||
Hauptcampus
|
||||
Hauptverantwortlicher
|
||||
Heckschen
|
||||
Heghmanns
|
||||
Heitmann
|
||||
Helferantrag
|
||||
Henscheid
|
||||
Herbrich
|
||||
Herrn
|
||||
Heßeling
|
||||
Hesselmann
|
||||
Hetkämper
|
||||
Hetmank
|
||||
Hetzel
|
||||
Heyermann
|
||||
HG
|
||||
HHJ
|
||||
HHP
|
||||
Hilal
|
||||
Hißmann
|
||||
Hochschulpolitik
|
||||
Högden
|
||||
Hondar
|
||||
hopo
|
||||
HoPo
|
||||
Horlemann
|
||||
Hoßfeld
|
||||
How2Rat
|
||||
Hülsmann
|
||||
Hülzevoort
|
||||
Hygienedienst
|
||||
Hyperthreading
|
||||
i
|
||||
ICB
|
||||
if
|
||||
IF
|
||||
#igitalisierung
|
||||
Immel
|
||||
Inf
|
||||
info
|
||||
Inforeferat
|
||||
Infragistics
|
||||
Infrastrukturreferats
|
||||
Ingrun
|
||||
Instagram
|
||||
IoT
|
||||
Ipek
|
||||
Isabell
|
||||
ISE
|
||||
Isidorovic
|
||||
itemize
|
||||
j
|
||||
Janke
|
||||
Janzik
|
||||
Jarno
|
||||
Jeske
|
||||
Jessie
|
||||
Jian
|
||||
Joey
|
||||
Johannimloh
|
||||
Jöran
|
||||
Josie
|
||||
Juniorprofessorenevaluierungskomissionen
|
||||
Jurij
|
||||
Justizariat
|
||||
k
|
||||
Kaczmarek
|
||||
Kaffemaschinen
|
||||
Kaldewey
|
||||
Kalkowsky
|
||||
Kampmann
|
||||
Kandidaturaufstellung
|
||||
Kara
|
||||
Karas
|
||||
Karbe
|
||||
Kassenprüferin
|
||||
Katha
|
||||
Kelm
|
||||
Kimmeskamp
|
||||
KKC
|
||||
Klausurbeaufsichtigung
|
||||
Klausurrunde
|
||||
Kleingruppen
|
||||
klingonischer
|
||||
Klinikmensa
|
||||
KN1
|
||||
Koczian
|
||||
Kolfenbach
|
||||
Komedia
|
||||
Komnick
|
||||
Konteneröffnung
|
||||
Kontowski
|
||||
Kopka
|
||||
krankheitsbedingt
|
||||
Kretzschmar
|
||||
Kristof
|
||||
Kulturanteil
|
||||
Kundennummer
|
||||
l
|
||||
Ladezeiten
|
||||
Lampret
|
||||
Landeslehrendenpreis
|
||||
#lankboxes
|
||||
Lärmquellekatalog
|
||||
LaSoWi
|
||||
Lastenfahrräder
|
||||
Latza
|
||||
Lehnert
|
||||
Lehramter
|
||||
Lehramtlern
|
||||
Lehramtsstudierende
|
||||
Lehramtsstudierenden
|
||||
Lehramtsstudierender
|
||||
Lehramtsstudierenenden
|
||||
Lehrauslastung
|
||||
Lehrräume
|
||||
Leistungszeitraum
|
||||
Lern
|
||||
Lerngruppen
|
||||
Lernnacht
|
||||
Lernnächte
|
||||
Lernraum
|
||||
Lernraumes
|
||||
Lights
|
||||
linkslinear
|
||||
LINQ
|
||||
Lipfert
|
||||
Ljubisav
|
||||
Löppenberg
|
||||
LSB
|
||||
Lückenjans
|
||||
LuDi
|
||||
LuDI
|
||||
LuDis
|
||||
LUDIs
|
||||
#m
|
||||
M1
|
||||
M2
|
||||
Mahngelder
|
||||
Manske
|
||||
Manthey
|
||||
Marecel
|
||||
Maruan
|
||||
Masterstudiengang
|
||||
Masterstudiengangssystems
|
||||
Masterzulassungen
|
||||
Mech
|
||||
Medienschrank
|
||||
MediTech
|
||||
Medizintechik
|
||||
Meilan
|
||||
Meisner
|
||||
Mensastammtisch
|
||||
Merch
|
||||
Mettbach
|
||||
Micha
|
||||
Michèle
|
||||
Michen
|
||||
Microcontroller
|
||||
Miera
|
||||
Mikulicz
|
||||
Miltner
|
||||
mit
|
||||
mitbeworben
|
||||
mitüberprüft
|
||||
mktitle
|
||||
mod
|
||||
Modulhandbuch
|
||||
Mohamed
|
||||
Mölders
|
||||
Mommertz
|
||||
Monsees
|
||||
Montoringprogramm
|
||||
Moodle
|
||||
Moreno
|
||||
Mrzyk
|
||||
Multicores
|
||||
Multithreading
|
||||
Murad
|
||||
Muschalik
|
||||
Musebrink
|
||||
Museumsbesuch
|
||||
Musikpark
|
||||
MVC
|
||||
Myriam
|
||||
myUDE
|
||||
n
|
||||
Nachtermin
|
||||
Nachterminklausuren
|
||||
nanoengineering
|
||||
NanoEngineering
|
||||
Nashed
|
||||
Nebenläufiger
|
||||
Necker
|
||||
Nedzhati
|
||||
Nendrup
|
||||
Networking
|
||||
Neustudierende
|
||||
Neustudierenden
|
||||
Neuwirth
|
||||
Nextbike
|
||||
ng2
|
||||
Nguyen
|
||||
nichtterminalsymbole
|
||||
night
|
||||
Nikolaos
|
||||
Ninian
|
||||
Nohman
|
||||
Nuevo
|
||||
Nutzungsregeln
|
||||
O
|
||||
#oche
|
||||
of
|
||||
Oktoberwochenende
|
||||
Olligs
|
||||
Ömer
|
||||
optimalerweise
|
||||
Oracle
|
||||
Orhan
|
||||
Orientierungswoche
|
||||
Orientierungswochen
|
||||
#orran
|
||||
Ortabas
|
||||
#osh
|
||||
Ostasienwissenschaften
|
||||
Ostkamp
|
||||
OwnCloud
|
||||
Özlem
|
||||
p1
|
||||
p2
|
||||
paassen
|
||||
Paaßen
|
||||
PACKAGES
|
||||
Pannhausen
|
||||
Papierpakete
|
||||
pdf
|
||||
Personalkarten
|
||||
Personenbeförderungsschein
|
||||
Pflichtterminen
|
||||
Philip
|
||||
Phish
|
||||
picoCTF
|
||||
PicoCTF
|
||||
Pinar
|
||||
Planungstreffen
|
||||
Plewa
|
||||
Ploog
|
||||
Podday
|
||||
Points
|
||||
Poos
|
||||
Pöss
|
||||
Posts
|
||||
Postvorlage
|
||||
Powerpoint
|
||||
presBear
|
||||
presFSR
|
||||
presGuest
|
||||
presHelper
|
||||
print
|
||||
Prochazka
|
||||
Prochazkas
|
||||
Produktionsregel
|
||||
Produktionsregeln
|
||||
Professorengespräche
|
||||
Profiling
|
||||
Programmier
|
||||
Programmierclub
|
||||
Programmierungvorlesung
|
||||
Proxmox
|
||||
Prozessdokumentation
|
||||
Prüfungsamt
|
||||
Prüfungsauschüsse
|
||||
prüfungsfähig
|
||||
Prüfungsleistung
|
||||
prüfungsunfähig
|
||||
Pseudonymisierung
|
||||
Pseudonymklausur
|
||||
Putzdienstes
|
||||
Pytlik
|
||||
q
|
||||
q1
|
||||
q2
|
||||
q3
|
||||
Qualitätsverbesserungskomission
|
||||
Qualitätsverbesserungskommission
|
||||
Qualitätsverbesserungskonferenz
|
||||
Qualitätsverbesserungsmittel
|
||||
Quartalstreffen
|
||||
Quartalstreffens
|
||||
Quittungsnummern
|
||||
QVK
|
||||
Rachul
|
||||
Rademaker
|
||||
Rahmatullah
|
||||
Rahmenordnungen
|
||||
Rathgeb
|
||||
Rathofer
|
||||
Ratnere
|
||||
Ratsarbeit
|
||||
Ratsvorstellung
|
||||
Ratswahl
|
||||
Rauls
|
||||
Raumplan
|
||||
Raumzugang
|
||||
Rechnerstrukturen
|
||||
Rechnungs
|
||||
rechtslinear
|
||||
Regularia
|
||||
Reinigungskosten
|
||||
Reisebusse
|
||||
Reistorff
|
||||
Rektoratsgesprächen
|
||||
Rektoratssitzung
|
||||
Requests
|
||||
reverse
|
||||
Riemk
|
||||
Riesner
|
||||
Robeck
|
||||
Rößing
|
||||
Röttges
|
||||
#rschritten
|
||||
Rümeysa
|
||||
s
|
||||
#S
|
||||
Salhi
|
||||
Samir
|
||||
Samsung
|
||||
Sarina
|
||||
Sauerbrei
|
||||
Schagen
|
||||
Scheiermann
|
||||
Scheiler
|
||||
Schendel
|
||||
Schendzielorz
|
||||
Scheychon
|
||||
Scheyon
|
||||
Schlautmann
|
||||
Schleifenbeginn
|
||||
Schleifenende
|
||||
Schlittenhardt
|
||||
Schlottmann
|
||||
Schlung
|
||||
Schlüsselanhänger
|
||||
Schlüsselentzug
|
||||
Schlüsselrecht
|
||||
Schmiedtchen
|
||||
Schneegaß
|
||||
Schnupperuni
|
||||
schonmal
|
||||
Schönrath
|
||||
Schülerpraktikum
|
||||
Schulungstermine
|
||||
Schuppert
|
||||
Schützenbahn
|
||||
Science
|
||||
Scraping
|
||||
scripting
|
||||
Scripting
|
||||
SCSS
|
||||
Security
|
||||
Seier
|
||||
selbstbewirtschaftet
|
||||
Selbstbewirtschaftung
|
||||
Sellerbeck
|
||||
Senatsleute
|
||||
Senatswahlen
|
||||
SEP
|
||||
Serververwaltung
|
||||
Sever
|
||||
Shashi
|
||||
shell
|
||||
SHORTCUTS
|
||||
Sicherheits
|
||||
Sicherheitschallenegs
|
||||
Sicking
|
||||
Siegmann
|
||||
Sitzungsdisziplin
|
||||
Sitzungskodex
|
||||
Sitzungsordnung
|
||||
Sitzungstermin
|
||||
Sitzungstermine
|
||||
SKIP
|
||||
Skubski
|
||||
SM
|
||||
Smartboard
|
||||
Smartboards
|
||||
SME
|
||||
Smets
|
||||
SNE
|
||||
Snippets
|
||||
Softgetränke
|
||||
SommerUni
|
||||
source
|
||||
SoWi
|
||||
sponsored
|
||||
Sprachverwendung
|
||||
spreadshirt
|
||||
Spyrou
|
||||
SS20
|
||||
SSL
|
||||
Startzustand
|
||||
Statusm0n
|
||||
Stauder
|
||||
Sterzing
|
||||
Stoppanweisung
|
||||
Stottrop
|
||||
Stritzel
|
||||
Studienalltag
|
||||
Studienbeirat
|
||||
Studienbeirates
|
||||
Studienbeirats
|
||||
Studienbeiratssitzung
|
||||
Studienrelevantes
|
||||
Studierendenberatung
|
||||
Studierendenparlament
|
||||
Studierendenparlementssitzung
|
||||
Studierendenschaft
|
||||
Studierendenwerk
|
||||
Studiumverlaufsplan
|
||||
StuPa
|
||||
Südholt
|
||||
SVN
|
||||
Sygulla
|
||||
Systemadministration
|
||||
t
|
||||
T01
|
||||
tabbing
|
||||
Tagesordnugnspunkte
|
||||
Teambildende
|
||||
Teilnahmebeitrag
|
||||
Teilnahmegebühren
|
||||
Tekaat
|
||||
Tellbüscher
|
||||
Tepper
|
||||
Terdin
|
||||
Teriete
|
||||
Terminfindung
|
||||
testweise
|
||||
Tetos
|
||||
textbasierte
|
||||
Textnachricht
|
||||
THEN
|
||||
Thiele
|
||||
Thiemann
|
||||
Thom
|
||||
Thuy
|
||||
Tinoco
|
||||
Tischmülleimer
|
||||
To
|
||||
Todenhöfer
|
||||
Tonkel
|
||||
Trampnau
|
||||
Trang
|
||||
Transaktionsmanagement
|
||||
Transponderschloss
|
||||
Triquart
|
||||
TS3
|
||||
Tsafos
|
||||
Tuan
|
||||
Turman
|
||||
Tutorenprogramm
|
||||
TypeScript
|
||||
Ü2
|
||||
Überführungsfunktionen
|
||||
Übungsblatt
|
||||
Ullrich
|
||||
unbenotet
|
||||
unbenoteten
|
||||
Ungleichverteilung
|
||||
Unipolitik
|
||||
#urchzufuHren
|
||||
Ursprungsstelle
|
||||
Utz
|
||||
Valeriya
|
||||
VCS
|
||||
Vennemann
|
||||
verarbeitung
|
||||
vergleisweise
|
||||
Versorgungsbudget
|
||||
Vertiefungsbereich
|
||||
Vertiefungsbereiche
|
||||
Vertrauenskasse
|
||||
Veseljak
|
||||
Vierheilig
|
||||
vim
|
||||
Visio
|
||||
Vivien
|
||||
Vollzugriff
|
||||
vorfomuliert
|
||||
vorgeglüht
|
||||
Vorjohann
|
||||
Vorlesungsbeginn
|
||||
Vorterminen
|
||||
Vorverarbeitungsfunktion
|
||||
Voteller
|
||||
#VS
|
||||
VV
|
||||
VVK
|
||||
w
|
||||
Waas
|
||||
Waasmann
|
||||
Wahlauschuss
|
||||
Wahlauschusses
|
||||
Wahlmodalitäten
|
||||
Waltmann
|
||||
Water
|
||||
Webentwicklung
|
||||
Wegenaer
|
||||
wegklicken
|
||||
Weihnachts
|
||||
Weinz
|
||||
Werbeposter
|
||||
Whatsapp
|
||||
while
|
||||
white
|
||||
Whiteboard
|
||||
Whiteboards
|
||||
widerprüchliche
|
||||
WinForms
|
||||
Wirtschaftsinformatik
|
||||
Wirtschaftsinformatiker
|
||||
WirtschaftsIng
|
||||
Wirtschaftspädagogik
|
||||
Wißmann
|
||||
WiWi
|
||||
Wolfssee
|
||||
Wollatz
|
||||
Workload
|
||||
Wronna
|
||||
WS21
|
||||
Wunschtag
|
||||
Wurzalla
|
||||
x
|
||||
y
|
||||
Yilmaz
|
||||
Z
|
||||
z1
|
||||
z2
|
||||
z3
|
||||
Zahlungsbereitschaft
|
||||
Zahlungshinweis
|
||||
zeitbeschränkt
|
||||
Zentralübung
|
||||
Zhang
|
||||
Zhou
|
||||
ZIM
|
||||
Zirger
|
||||
Zöller
|
||||
Zugangsgenehmigung
|
||||
Zugangskarten
|
||||
Zulassungsgrenze
|
||||
Zulassungskriterien
|
||||
Zulassungsordnung
|
||||
Zulassungssystem
|
||||
Zusammlegung
|
||||
Zutter
|
||||
Zweitfächer
|
||||
zweitsprachig
|
Binary file not shown.
Binary file not shown.
|
@ -1,6 +0,0 @@
|
|||
package main
|
||||
|
||||
import ()
|
||||
|
||||
func main() {
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
title: [:VIM_EVAL:]expand('%:p:h:t')[:END_EVAL:]
|
||||
author: Tuan-Dat Tran
|
||||
date: [:VIM_EVAL:]strftime('%Y-%m-%d')[:END_EVAL:]
|
||||
...
|
|
@ -1 +0,0 @@
|
|||
#!/bin/sh
|
|
@ -1,32 +0,0 @@
|
|||
\documentclass[12pt,a4paper,ngerman,notitlepage]{article}
|
||||
|
||||
% PACKAGES
|
||||
\usepackage[ngerman]{babel}
|
||||
\usepackage{datetime} % Correct Date Formating
|
||||
\usepackage[a4paper, left=2.5cm, right=2cm, top=2cm, bottom=2cm]{geometry}
|
||||
\usepackage{graphicx}
|
||||
\usepackage{latexsym} % Blankboxes
|
||||
\usepackage{listings}
|
||||
\usepackage{mathtools}
|
||||
\usepackage[onehalfspacing]{setspace}
|
||||
\usepackage{tabularx}
|
||||
\usepackage{tikz}
|
||||
\usepackage{titling} % mktitleformatting
|
||||
|
||||
% SHORTCUTS
|
||||
\newcommand{\module}{Platzhalter}
|
||||
\newcommand{\blattnr}{PlatzhalterNr}
|
||||
|
||||
% INFO
|
||||
\author{Tuan-Dat Tran}
|
||||
\title{\module\\\blattnr}
|
||||
|
||||
% FORMATTING
|
||||
\setlength{\droptitle}{-3cm}
|
||||
\DeclareRobustCommand{\rchi}{{\mathpalette\irchi\relax}}
|
||||
\newcommand{\irchi}[2]{\raisebox{\depth}{$#1\chi$}}
|
||||
|
||||
% BEGINNING
|
||||
\begin{document}
|
||||
\maketitle
|
||||
\end{document}
|
11
zsh/.zshrc
11
zsh/.zshrc
|
@ -6,6 +6,14 @@ export PenTestTools=$HOME/Local/PenTesting/
|
|||
export CTF=$HOME/Documents/CTF/
|
||||
export WORKSPACE=$HOME/workspace_l
|
||||
export ZSHRC="$HOME/.zshrc"
|
||||
<<<<<<< HEAD
|
||||
||||||| e9d53f0
|
||||
export VISUAL="emacsclient -t"
|
||||
export EDITOR="emacsclient -t"
|
||||
=======
|
||||
export VISUAL="nvim"
|
||||
export EDITOR="nvim"
|
||||
>>>>>>> clean_emacs
|
||||
|
||||
|
||||
# History
|
||||
|
@ -44,6 +52,8 @@ setopt SHARE_HISTORY
|
|||
# Alias
|
||||
alias q="exit"
|
||||
alias b="byobu"
|
||||
alias vim="nvim"
|
||||
alias cat="bat --pager=never"
|
||||
alias ranger='ranger --choosedir=$HOME/.rangerdir; LASTDIR=`cat $HOME/.rangerdir`; cd "$LASTDIR"'
|
||||
alias xsel='xsel -ib'
|
||||
alias msfconsole="msfconsole -x \"db_connect metasploit@msf\""
|
||||
|
@ -62,6 +72,7 @@ alias notify="dunstify \"ping~\""
|
|||
alias ekill="pkill emacs; pkill emacsclient; ed"
|
||||
alias latexmk="latexmk -f -pdf -interaction=nonstopmode"
|
||||
alias picotik="picocom --b 115200 /dev/ttyUSB0"
|
||||
alias ls="eza"
|
||||
## git
|
||||
alias gps="git push soft --all"
|
||||
alias gras="add_soft_git"
|
||||
|
|
Loading…
Reference in New Issue