Compare commits
7 Commits
59e661e620
...
172702b289
Author | SHA1 | Date |
---|---|---|
Tuan-Dat Tran | 172702b289 | |
Tuan-Dat Tran | 4c33229d30 | |
Tuan-Dat Tran | 6c023972ef | |
TuDatTr | 34cda631d2 | |
TuDatTr | 65c923108a | |
TuDatTr | 9ceae68f52 | |
TuDatTr | 6c2bc75f12 |
|
@ -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
|
! urxvt
|
||||||
! Fonts
|
! 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
|
! Behavior
|
||||||
urxvt*scrollBar: false
|
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]
|
[font]
|
||||||
size = 10
|
size = 12
|
||||||
|
|
||||||
[font.bold]
|
[font.bold]
|
||||||
style = "Bold"
|
style = "Bold"
|
||||||
|
@ -11,7 +11,7 @@ style = "Bold Italic"
|
||||||
style = "Italic"
|
style = "Italic"
|
||||||
|
|
||||||
[font.normal]
|
[font.normal]
|
||||||
family = "DejaVu Sans Mono for Powerline"
|
family = "DejaVuSansM Nerd Font Mono"
|
||||||
style = "Regular"
|
style = "Regular"
|
||||||
|
|
||||||
[window]
|
[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
|
# Configure
|
||||||
# border style <normal|1pixel|pixel xx|none|pixel>
|
# border style <normal|1pixel|pixel xx|none|pixel>
|
||||||
new_window pixel 2
|
|
||||||
new_float normal
|
|
||||||
hide_edge_borders none
|
hide_edge_borders none
|
||||||
|
default_border none
|
||||||
|
|
||||||
################################################################################################
|
################################################################################################
|
||||||
###################################### Workspace Settings ######################################
|
###################################### 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
|
bindsym $mod+Shift+0 move container to workspace $ws0; workspace $ws0
|
||||||
|
|
||||||
# Open specific applications in floating mode
|
# Open specific applications in floating mode
|
||||||
|
<<<<<<< HEAD
|
||||||
for_window [class="^Thunderbird$" title="^.*Event:"] floating enable
|
for_window [class="^Thunderbird$" title="^.*Event:"] floating enable
|
||||||
|
|
||||||
# https://github.com/z3ntu/dotfiles/blob/master/i3/.config/i3/config
|
# 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="^Screenshot Uploader$"] floating enable
|
||||||
for_window [class="^Steam$" title="^Steam Guard - Computer Authorization Required$"] floating enable
|
for_window [class="^Steam$" title="^Steam Guard - Computer Authorization Required$"] floating enable
|
||||||
for_window [title="^Steam Keyboard$"] 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 #############################
|
############################ 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 picom
|
||||||
exec --no-startup-id udiskie
|
exec --no-startup-id udiskie
|
||||||
exec --no-startup-id conky -c ~/.conky/syclo-crimson-bottomleft.conkyrc
|
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 synergyc -f --no-tray --debug INFO --name genesis --enable-crypto 192.168.178.38:24800
|
||||||
exec --no-startup-id dunst
|
exec --no-startup-id dunst
|
||||||
exec --no-startup-id ~/.scripts/startup.sh
|
exec --no-startup-id ~/.scripts/startup.sh
|
||||||
|
<<<<<<< HEAD
|
||||||
exec --no-startup-id ~/.scripts/battery_stats.sh
|
exec --no-startup-id ~/.scripts/battery_stats.sh
|
||||||
exec --no-startup-id llk
|
exec --no-startup-id llk
|
||||||
|
||||||| e9d53f0
|
||||||
|
exec --no-startup-id llk
|
||||||
|
exec --no-startup-id emacs --daemon
|
||||||
|
=======
|
||||||
|
>>>>>>> clean_emacs
|
||||||
exec --no-startup-id syncthing
|
exec --no-startup-id syncthing
|
||||||
|
<<<<<<< HEAD
|
||||||
exec --no-startup-id xrandr --output eDP1 --auto --left-of HDMI1 --output HDMI1 --off --output DP1 --off
|
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/*
|
exec --no-startup-id feh --randomize --bg-fill $HOME/Pictures/Wallpaper/*
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@ -122,13 +153,13 @@ bindsym $mod+Shift+s exec poweroff
|
||||||
|
|
||||||
# start a terminal
|
# start a terminal
|
||||||
bindsym $mod+space exec alacritty
|
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
|
# kill focused window
|
||||||
bindsym $mod+Shift+q kill
|
bindsym $mod+Shift+q kill
|
||||||
|
|
||||||
# start program launcher
|
# 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
|
# Screen brightness controls
|
||||||
bindsym XF86MonBrightnessUp exec --no-startup-id ~/.scripts/screen.sh up
|
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 XF86AudioLowerVolume exec --no-startup-id ~/.scripts/sound.sh down
|
||||||
bindsym XF86AudioRaiseVolume exec --no-startup-id ~/.scripts/sound.sh up
|
bindsym XF86AudioRaiseVolume exec --no-startup-id ~/.scripts/sound.sh up
|
||||||
bindsym XF86AudioMute exec --no-startup-id ~/.scripts/sound.sh toggle
|
bindsym XF86AudioMute exec --no-startup-id ~/.scripts/sound.sh toggle
|
||||||
bindsym XF86AudioPlay exec "playerctl play-pause; cmus-remote -u"
|
bindsym XF86AudioPlay exec "playerctl play-pause"
|
||||||
bindsym XF86AudioStop exec "playerctl stop; cmus-remote -s"
|
bindsym XF86AudioStop exec "playerctl stop"
|
||||||
bindsym XF86AudioNext exec "playerctl next; cmus-remote -n"
|
bindsym XF86AudioNext exec "playerctl next"
|
||||||
bindsym XF86AudioPrevious exec "playerctl previous; cmus-remote -r"
|
bindsym XF86AudioPrevious exec "playerctl previous"
|
||||||
|
|
||||||
# Application Shortcuts
|
# Application Shortcuts
|
||||||
bindsym $mod+b exec firefox
|
bindsym $mod+b exec firefox
|
||||||
|
<<<<<<< HEAD
|
||||||
bindsym $mod+p exec firefox --private-window https://mos4.de
|
bindsym $mod+p exec firefox --private-window https://mos4.de
|
||||||
bindsym $mod+e exec emacs
|
bindsym $mod+e exec emacs
|
||||||
bindsym $mod+m exec thunderbird
|
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
|
# Whole Screen
|
||||||
bindsym Control+Print exec --no-startup-id ~/.scripts/screenshot.sh screen
|
bindsym Control+Print exec --no-startup-id ~/.scripts/screenshot.sh screen
|
||||||
|
|
||||||
# Window
|
# Window
|
||||||
|
|
||||||
bindsym Mod1+Sys_Req --release exec --no-startup-id ~/.scripts/screenshot.sh window
|
bindsym Mod1+Sys_Req --release exec --no-startup-id ~/.scripts/screenshot.sh window
|
||||||
|
|
||||||
# Area
|
# Area
|
||||||
|
@ -191,7 +231,7 @@ bindsym $mod+f fullscreen toggle
|
||||||
bindsym $mod+Mod1+space floating toggle
|
bindsym $mod+Mod1+space floating toggle
|
||||||
|
|
||||||
# change focus between tiling / floating windows
|
# change focus between tiling / floating windows
|
||||||
# bindsym $mod+space focus mode_toggle
|
bindsym $mod+Shift+f focus mode_toggle
|
||||||
|
|
||||||
# focus the parent container
|
# focus the parent container
|
||||||
bindsym $mod+a focus parent
|
bindsym $mod+a focus parent
|
||||||
|
@ -313,3 +353,4 @@ bindsym $mod+g mode "default"
|
||||||
bindsym Return mode "default"
|
bindsym Return mode "default"
|
||||||
bindsym Escape 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
|
|
||||||
|
|
||||||
|
|
|
@ -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
|
# Services
|
||||||
Host github.com
|
Host github.com gitlab.com git.uni-due.de
|
||||||
Hostname github.com
|
|
||||||
Port 22
|
Port 22
|
||||||
User git
|
User git
|
||||||
IdentityFile /mnt/veracrypt1/git
|
IdentityFile /mnt/veracrypt1/git
|
||||||
|
|
||||||
|
Host github.com
|
||||||
|
Hostname github.com
|
||||||
|
|
||||||
Host gitlab.com
|
Host gitlab.com
|
||||||
Hostname 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
|
Host git.uni-due.de
|
||||||
HostName git.uni-due.de
|
HostName git.uni-due.de
|
||||||
Port 22
|
|
||||||
|
Host git.tudattr.dev
|
||||||
|
Hostname 192.168.20.12
|
||||||
|
Port 2222
|
||||||
User git
|
User git
|
||||||
IdentityFile /mnt/veracrypt1/git
|
IdentityFile /mnt/veracrypt1/git
|
||||||
|
|
||||||
|
@ -42,12 +38,34 @@ Host madrigal
|
||||||
User tudattr
|
User tudattr
|
||||||
IdentityFile /mnt/veracrypt1/mikrotik_rsa
|
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
|
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
|
Port 22
|
||||||
User tudattr
|
User tudattr
|
||||||
IdentityFile /mnt/veracrypt1/genesis
|
IdentityFile /mnt/veracrypt1/genesis
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
Host inko
|
Host inko
|
||||||
HostName 192.168.20.14
|
HostName 192.168.20.14
|
||||||
Port 22
|
Port 22
|
||||||
|
@ -57,15 +75,26 @@ Host inko
|
||||||
Host naruto
|
Host naruto
|
||||||
HostName 192.168.20.13
|
HostName 192.168.20.13
|
||||||
Port 22
|
Port 22
|
||||||
User tudattr
|
||||||| e9d53f0
|
||||||
IdentityFile /mnt/veracrypt1/genesis
|
Host git.aya01
|
||||||
|
HostName 192.168.20.12
|
||||||
Host pi
|
Port 23231
|
||||||
HostName 192.168.20.11
|
=======
|
||||||
|
# Work
|
||||||
|
Host mini
|
||||||
|
HostName 100.76.45.158
|
||||||
Port 22
|
Port 22
|
||||||
|
>>>>>>> clean_emacs
|
||||||
User tudattr
|
User tudattr
|
||||||
IdentityFile /mnt/veracrypt1/genesis
|
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
|
Host mii-root
|
||||||
HostName 202.61.207.139
|
HostName 202.61.207.139
|
||||||
Port 22
|
Port 22
|
||||||
|
@ -106,13 +135,22 @@ Host ncs-tailscale
|
||||||
User tuant
|
User tuant
|
||||||
IdentityFile /mnt/veracrypt1/genesis
|
IdentityFile /mnt/veracrypt1/genesis
|
||||||
|
|
||||||
|
||||||| e9d53f0
|
||||||
|
# Work
|
||||||
|
=======
|
||||||
|
>>>>>>> clean_emacs
|
||||||
Host ncs-head
|
Host ncs-head
|
||||||
HostName 132.252.68.50
|
HostName 132.252.68.50
|
||||||
Port 2122
|
Port 2122
|
||||||
User tuan-dat.tran
|
User tuan-dat.tran
|
||||||
IdentityFile /mnt/veracrypt1/genesis
|
IdentityFile /mnt/veracrypt1/genesis
|
||||||
ForwardX11 yes
|
ForwardX11 yes
|
||||||
|
<<<<<<< HEAD
|
||||||
ProxyJump ncs-tailscale
|
ProxyJump ncs-tailscale
|
||||||
|
||||||| e9d53f0
|
||||||
|
=======
|
||||||
|
ProxyJump tail-pi
|
||||||
|
>>>>>>> clean_emacs
|
||||||
|
|
||||||
Host ncs-head-user
|
Host ncs-head-user
|
||||||
HostName 132.252.68.50
|
HostName 132.252.68.50
|
||||||
|
@ -123,62 +161,44 @@ Host ncs-head-user
|
||||||
|
|
||||||
Host ncs2
|
Host ncs2
|
||||||
HostName 192.168.1.13
|
HostName 192.168.1.13
|
||||||
Port 22
|
|
||||||
User tuan-dat.tran
|
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
|
IdentityFile /mnt/veracrypt1/genesis
|
||||||
ProxyJump ncs-head
|
ProxyJump ncs-head
|
||||||
|
|
||||||
Host ncs2-user
|
Host ncs2-user
|
||||||
HostName 192.168.1.13
|
HostName 192.168.1.13
|
||||||
Port 22
|
|
||||||
User user # tuan-dat.tran
|
User user # tuan-dat.tran
|
||||||
IdentityFile /mnt/veracrypt1/genesis
|
|
||||||
ProxyJump ncs-head
|
|
||||||
|
|
||||||
Host ncs-node1
|
Host ncs-node1
|
||||||
HostName 192.168.1.11
|
HostName 192.168.1.11
|
||||||
Port 22
|
|
||||||
User user
|
User user
|
||||||
IdentityFile /mnt/veracrypt1/tudattr
|
|
||||||
ProxyJump ncs-head
|
|
||||||
|
|
||||||
Host ncs-node2
|
Host ncs-node2
|
||||||
HostName 192.168.1.7
|
HostName 192.168.1.7
|
||||||
Port 22
|
|
||||||
User tuan-dat.tran
|
User tuan-dat.tran
|
||||||
IdentityFile /mnt/veracrypt1/genesis
|
|
||||||
ProxyJump ncs-head
|
|
||||||
ForwardX11 yes
|
ForwardX11 yes
|
||||||
|
|
||||||
Host ncs-node2-user
|
Host ncs-node2-user
|
||||||
HostName 192.168.1.7
|
HostName 192.168.1.7
|
||||||
Port 22
|
|
||||||
User user
|
User user
|
||||||
IdentityFile /mnt/veracrypt1/tudattr
|
|
||||||
ProxyJump ncs-head
|
|
||||||
|
|
||||||
Host ncs-node3
|
Host ncs-node3
|
||||||
Hostname 192.168.1.19
|
Hostname 192.168.1.19
|
||||||
Port 22
|
|
||||||
User tuan-dat.tran
|
User tuan-dat.tran
|
||||||
IdentityFile /mnt/veracrypt1/genesis
|
|
||||||
ForwardX11 yes
|
ForwardX11 yes
|
||||||
ProxyJump ncs-head
|
|
||||||
|
|
||||||
Host ncs-node3-user
|
Host ncs-node3-user
|
||||||
Hostname 192.168.1.19
|
Hostname 192.168.1.19
|
||||||
Port 22
|
|
||||||
User user
|
User user
|
||||||
IdentityFile /mnt/veracrypt1/tudattr
|
IdentityFile /mnt/veracrypt1/tudattr
|
||||||
ForwardX11 yes
|
ForwardX11 yes
|
||||||
ProxyJump ncs-head
|
|
||||||
|
|
||||||
Host ncs-node4
|
Host ncs-node4
|
||||||
HostName 192.168.1.9
|
HostName 192.168.1.9
|
||||||
Port 22
|
|
||||||
User tuan-dat.tran
|
User tuan-dat.tran
|
||||||
IdentityFile /mnt/veracrypt1/genesis
|
|
||||||
ProxyJump ncs-head
|
|
||||||
|
|
||||||
Host ncs-node4-user
|
Host ncs-node4-user
|
||||||
HostName 192.168.1.9
|
HostName 192.168.1.9
|
||||||
|
@ -189,18 +209,11 @@ Host ncs-node4-user
|
||||||
|
|
||||||
Host ncs-node5
|
Host ncs-node5
|
||||||
HostName 192.168.1.15
|
HostName 192.168.1.15
|
||||||
Port 22
|
|
||||||
User tuan-dat.tran
|
User tuan-dat.tran
|
||||||
IdentityFile /mnt/veracrypt1/genesis
|
|
||||||
ProxyJump ncs-head
|
|
||||||
|
|
||||||
Host ncs-node6
|
Host ncs-node6
|
||||||
Hostname 192.168.1.17
|
Hostname 192.168.1.17
|
||||||
Port 22
|
|
||||||
User tuan-dat.tran
|
User tuan-dat.tran
|
||||||
IdentityFile /mnt/veracrypt1/genesis
|
|
||||||
# ForwardX11 yes
|
|
||||||
ProxyJump ncs-head
|
|
||||||
|
|
||||||
Host ncs-node6-user
|
Host ncs-node6-user
|
||||||
Hostname 192.168.1.17
|
Hostname 192.168.1.17
|
||||||
|
@ -212,20 +225,53 @@ Host ncs-node6-user
|
||||||
|
|
||||||
Host ncs-node7
|
Host ncs-node7
|
||||||
Hostname 192.168.1.18
|
Hostname 192.168.1.18
|
||||||
Port 22
|
|
||||||
User tuan-dat.tran
|
User tuan-dat.tran
|
||||||
IdentityFile /mnt/veracrypt1/genesis
|
|
||||||
ForwardX11 yes
|
ForwardX11 yes
|
||||||
ProxyJump ncs-head
|
|
||||||
|
|
||||||
Host ncs-wedge
|
Host ncs-wedge
|
||||||
Hostname 192.168.1.5
|
Hostname 192.168.1.5
|
||||||
Port 22
|
|
||||||
User user
|
User user
|
||||||
|
<<<<<<< HEAD
|
||||||
IdentityFile /mnt/veracrypt1/genesis
|
IdentityFile /mnt/veracrypt1/genesis
|
||||||
# ForwardX11 yes
|
# ForwardX11 yes
|
||||||
ProxyJump ncs-head
|
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
|
Host ncs-gpu
|
||||||
Hostname 192.168.1.21
|
Hostname 192.168.1.21
|
||||||
Port 22
|
Port 22
|
||||||
|
@ -234,18 +280,29 @@ Host ncs-gpu
|
||||||
ForwardX11 yes
|
ForwardX11 yes
|
||||||
ProxyJump ncs-head
|
ProxyJump ncs-head
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
Host ncs-aws-iperf3
|
Host ncs-aws-iperf3
|
||||||
Hostname 18.185.5.191
|
Hostname 18.185.5.191
|
||||||
Port 22
|
Port 22
|
||||||
User ec2-user
|
User ec2-user
|
||||||
IdentityFile /mnt/veracrypt1/work/aws_ncs.pem
|
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
|
Host ami
|
||||||
Hostname 3.72.156.214
|
Hostname 3.72.156.214
|
||||||
Port 22
|
Port 22
|
||||||
User ubuntu
|
User ubuntu
|
||||||
IdentityFile /mnt/veracrypt1/work/aws-rizk.pem
|
IdentityFile /mnt/veracrypt1/work/aws-rizk.pem
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
Host 5g-mec
|
Host 5g-mec
|
||||||
Hostname 192.168.100.1
|
Hostname 192.168.100.1
|
||||||
Port 22
|
Port 22
|
||||||
|
@ -264,3 +321,25 @@ Host minis
|
||||||
User tudattr
|
User tudattr
|
||||||
IdentityFile /mnt/veracrypt1/genesis
|
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 CTF=$HOME/Documents/CTF/
|
||||||
export WORKSPACE=$HOME/workspace_l
|
export WORKSPACE=$HOME/workspace_l
|
||||||
export ZSHRC="$HOME/.zshrc"
|
export ZSHRC="$HOME/.zshrc"
|
||||||
|
<<<<<<< HEAD
|
||||||
|
||||||| e9d53f0
|
||||||
|
export VISUAL="emacsclient -t"
|
||||||
|
export EDITOR="emacsclient -t"
|
||||||
|
=======
|
||||||
|
export VISUAL="nvim"
|
||||||
|
export EDITOR="nvim"
|
||||||
|
>>>>>>> clean_emacs
|
||||||
|
|
||||||
|
|
||||||
# History
|
# History
|
||||||
|
@ -44,6 +52,8 @@ setopt SHARE_HISTORY
|
||||||
# Alias
|
# Alias
|
||||||
alias q="exit"
|
alias q="exit"
|
||||||
alias b="byobu"
|
alias b="byobu"
|
||||||
|
alias vim="nvim"
|
||||||
|
alias cat="bat --pager=never"
|
||||||
alias ranger='ranger --choosedir=$HOME/.rangerdir; LASTDIR=`cat $HOME/.rangerdir`; cd "$LASTDIR"'
|
alias ranger='ranger --choosedir=$HOME/.rangerdir; LASTDIR=`cat $HOME/.rangerdir`; cd "$LASTDIR"'
|
||||||
alias xsel='xsel -ib'
|
alias xsel='xsel -ib'
|
||||||
alias msfconsole="msfconsole -x \"db_connect metasploit@msf\""
|
alias msfconsole="msfconsole -x \"db_connect metasploit@msf\""
|
||||||
|
@ -62,6 +72,7 @@ alias notify="dunstify \"ping~\""
|
||||||
alias ekill="pkill emacs; pkill emacsclient; ed"
|
alias ekill="pkill emacs; pkill emacsclient; ed"
|
||||||
alias latexmk="latexmk -f -pdf -interaction=nonstopmode"
|
alias latexmk="latexmk -f -pdf -interaction=nonstopmode"
|
||||||
alias picotik="picocom --b 115200 /dev/ttyUSB0"
|
alias picotik="picocom --b 115200 /dev/ttyUSB0"
|
||||||
|
alias ls="eza"
|
||||||
## git
|
## git
|
||||||
alias gps="git push soft --all"
|
alias gps="git push soft --all"
|
||||||
alias gras="add_soft_git"
|
alias gras="add_soft_git"
|
||||||
|
|
Loading…
Reference in New Issue