This commit is contained in:
Diogo Peralta Cordeiro 2022-08-21 23:35:43 +01:00
parent cabfc7c1cb
commit 05b3973175
81 changed files with 3400 additions and 1688 deletions

View File

@ -174,8 +174,9 @@ Proper network manager with VPN support
* fonts-font-awesome
* fonts-open-sans
* fonts-paratype
* fonts-noto
`sudo aptitude install ttf-mscorefonts-installer ttf-dejavu fonts-hack-ttf fonts-font-awesome fonts-open-sans fonts-paratype`
`sudo aptitude install ttf-mscorefonts-installer ttf-dejavu fonts-hack-ttf fonts-font-awesome fonts-open-sans fonts-paratype fonts-noto`
#### Install Microsoft Tahoma, Segoe UI, and other fonts

View File

@ -1,10 +0,0 @@
[Desktop Entry]
Name=Nextcloud
GenericName=File Synchronizer
Exec=/usr/bin/nextcloud
Terminal=false
Icon=nextcloud
Categories=Network
Type=Application
StartupNotify=false
X-GNOME-Autostart-enabled=true

View File

@ -1,13 +0,0 @@
[Desktop Entry]
Name=blueberry
Comment=Blueberry tray icon
Exec=blueberry-tray
AutostartCondition=GSettings org.blueberry tray-enabled
X-GNOME-Autostart-Delay=5
Terminal=false
Type=Application
Categories=GTK;GNOME;Settings;X-GNOME-NetworkSettings;
StartupNotify=false
NoDisplay=true
NotShowIn=GNOME;KDE;Unity;

View File

@ -0,0 +1,205 @@
[Desktop Entry]
Categories=Utility;X-SuSE-SyncUtility;
Type=Application
Exec=nextcloud
Name=Nextcloud Desktop
Comment=Nextcloud desktop synchronization client
GenericName=Folder Sync
Icon=Nextcloud
Keywords=Nextcloud;syncing;file;sharing;
X-GNOME-Autostart-Delay=3
MimeType=application/vnd.nextcloud;
Actions=Quit;
# Translations
Comment[oc]=Nextcloud sincronizacion del client
GenericName[oc]=Dorsièr de Sincronizacion
Name[oc]=Nextcloud sincronizacion del client
Icon[oc]=Nextcloud
Comment[ar]=Nextcloud زبون مزامنة مكتبي
GenericName[ar]=مزامنة المجلد
Name[ar]=Nextcloud زبون مزامنة مكتبي
Icon[ar]=Nextcloud
Comment[bg_BG]=Nextcloud клиент за десктоп синхронизация
GenericName[bg_BG]=Синхронизиране на папката
Name[bg_BG]=Nextcloud клиент десктоп синхронизация
Icon[bg_BG]=Nextcloud
Comment[ca]=Client de sincronització d'escriptori Nextcloud
GenericName[ca]=Sincronització de carpetes
Name[ca]=Client de sincronització d'escriptori Nextcloud
Icon[ca]=Nextcloud
Comment[da]=Nextcloud skrivebordsklient til synkronisering
GenericName[da]=Mappesynkronisering
Name[da]=Nextcloud skrivebordsklient til synk
Icon[da]=Nextcloud
Comment[de]=Nextcloud Desktop-Synchronisationsclient
GenericName[de]=Ordner-Synchronisation
Name[de]=Nextcloud Desktop-Synchronisationsclient
Icon[de]=Nextcloud
Comment[ja_JP]=Nextcloud
GenericName[ja_JP]=
Name[ja_JP]=Nextcloud
Icon[ja_JP]=Nextcloud
Comment[el]=@ΟΝΟΜΑ_ΕΦΑΡΜΟΓΗΣ@ συγχρονισμός επιφάνειας εργασίας πελάτη
GenericName[el]=Συγχρονισμός φακέλου
Name[el]=@ΟΝΟΜΑ_ΕΦΑΡΜΟΓΗΣ@ συγχρονισμός επιφάνειας εργασίας πελάτη
Icon[el]=Nextcloud
Comment[en_GB]=Nextcloud desktop synchronisation client
GenericName[en_GB]=Folder Sync
Name[en_GB]=Nextcloud desktop sync client
Icon[en_GB]=Nextcloud
Comment[es]=Nextcloud cliente de sincronización de escritorio
GenericName[es]=Sincronización de carpeta
Name[es]=Nextcloud cliente de sincronización de escritorio
Icon[es]=Nextcloud
Comment[de_DE]=Nextcloud Desktop-Synchronisationsclient
GenericName[de_DE]=Ordner-Synchronisation
Name[de_DE]=Nextcloud Desktop-Synchronisationsclient
Icon[de_DE]=Nextcloud
Comment[eu]=Nextcloud mahaigaineko sinkronizazio bezeroa
GenericName[eu]=Karpetaren sinkronizazioa
Name[eu]=Nextcloud mahaigaineko sinkronizazio bezeroa
Icon[eu]=Nextcloud
GenericName[fa]=همسان سازی پوشهها
Name[fa]=nextcloud نسخهی همسان سازی مشتری
Icon[fa]=Nextcloud
Comment[fr]=Synchronisez vos dossiers avec un serveur Nextcloud
GenericName[fr]=Synchronisation de dossier
Name[fr]=Client de synchronisation Nextcloud
Icon[fr]=Nextcloud
Comment[gl]=Nextcloud cliente de sincronización para escritorio
GenericName[gl]=Sincronizar Cartafol
Name[gl]=Nextcloud cliente de sincronización para escritorio
Icon[gl]=Nextcloud
Comment[he]=Nextcloud לקוח סנכון שולחן עבודה
GenericName[he]=סנכון תיקייה
Name[he]=Nextcloud לקוח סנכרון שולחן עבודה
Icon[he]=Nextcloud
Comment[ia]=Nextcloud cliente de synchronisation pro scriptorio
GenericName[ia]=Synchronisar Dossier
Name[ia]=Nextcloud cliente de synchronisation pro scriptorio
Icon[ia]=Nextcloud
Comment[id]=Klien sinkronisasi desktop Nextcloud
GenericName[id]=Folder Sync
Name[id]=Klien sync desktop Nextcloud
Icon[id]=Nextcloud
Comment[is]=Nextcloud skjáborðsforrit samstillingar
GenericName[is]=Samstilling möppu
Name[is]=Nextcloud skjáborðsforrit samstillingar
Icon[is]=Nextcloud
Comment[it]=Client di sincronizzazione del desktop di Nextcloud
GenericName[it]=Sincronizzazione cartella
Name[it]=Client di sincronizzazione del desktop di Nextcloud
Icon[it]=Nextcloud
Comment[ko]=Nextcloud
GenericName[ko]=
Name[ko]=Nextcloud
Icon[ko]=Nextcloud
Comment[hu_HU]=Nextcloud asztali szinkronizációs kliens
GenericName[hu_HU]=Könyvtár szinkronizálás
Name[hu_HU]=Nextcloud asztali szinkr. kliens
Icon[hu_HU]=Nextcloud
Comment[af_ZA]=Nextcloud werkskermsinchroniseerkliënt
GenericName[af_ZA]=Vouersinchronisering
Name[af_ZA]=Nextcloud werkskermsinchroniseerkliënt
Icon[af_ZA]=Nextcloud
Comment[nl]=Nextcloud desktop synchronisatie client
GenericName[nl]=Mappen sync
Name[nl]=Nextcloud desktop sync client
Icon[nl]=Nextcloud
Comment[et_EE]=Nextcloud sünkroonimise klient töölauale
GenericName[et_EE]=Kaustade sünkroonimine
Name[et_EE]=Nextcloud sünkroonimise klient töölauale
Icon[et_EE]=Nextcloud
Comment[pl]=Nextcloud klient synchronizacji dla komputerów stacjonarnych
GenericName[pl]=Folder Synchronizacji
Name[pl]=Nextcloud klient synchronizacji dla komputerów stacjonarnych
Icon[pl]=Nextcloud
Comment[pt_BR]=Nextcloud cliente de sincronização do computador
GenericName[pt_BR]=Sincronização de Pasta
Name[pt_BR]=Nextcloud cliente de sincronização de desktop
Icon[pt_BR]=Nextcloud
Comment[cs_CZ]=Nextcloud počítačový synchronizační klient
GenericName[cs_CZ]=Synchronizace adresáře
Name[cs_CZ]=Nextcloud počítačový synchronizační klient
Icon[cs_CZ]=Nextcloud
Comment[ru]=Настольный клиент синхронизации Nextcloud
GenericName[ru]=Синхронизация каталогов
Name[ru]=Настольный клиент синхронизации Nextcloud
Icon[ru]=Nextcloud
Comment[sl]=Nextcloud Program za usklajevanje datotek z namizjem
GenericName[sl]=Usklajevanje map
Name[sl]=Nextcloud Program za usklajevanje datotek z namizjem
Icon[sl]=Nextcloud
Comment[sq]=Klient njëkohësimesh Nextcloud për desktop
GenericName[sq]=Njëkohësim Dosjesh
Name[sq]=Klient njëkohësimesh Nextcloud për desktop
Icon[sq]=Nextcloud
Comment[fi_FI]=Nextcloud työpöytäsynkronointisovellus
GenericName[fi_FI]=Kansion synkronointi
Name[fi_FI]=Nextcloud työpöytäsynkronointisovellus
Icon[fi_FI]=Nextcloud
Comment[sv]=Nextcloud desktop synkroniseringsklient
GenericName[sv]=Mappsynk
Name[sv]=Nextcloud desktop synk-klient
Icon[sv]=Nextcloud
Comment[tr]=Nextcloud masaüstü eşitleme istemcisi
GenericName[tr]=Dosya Eşitleme
Name[tr]=Nextcloud masaüstü eşitleme istemcisi
Icon[tr]=Nextcloud
Comment[uk]=Настільний клієнт синхронізації Nextcloud
GenericName[uk]=Синхронізація теки
Name[uk]=Настільний клієнт синхронізації Nextcloud
Icon[uk]=Nextcloud
Comment[ro]=Nextcloud client de sincronizare pe desktop
GenericName[ro]=Sincronizare director
Name[ro]=Nextcloud client de sincronizare pe desktop
Icon[ro]=Nextcloud
Comment[zh_CN]=Nextcloud
GenericName[zh_CN]=
Name[zh_CN]=Nextcloud
Icon[zh_CN]=Nextcloud
Comment[zh_HK]=
Comment[zh_TW]=Nextcloud
GenericName[zh_TW]=
Name[zh_TW]=Nextcloud
Icon[zh_TW]=Nextcloud
Comment[es_AR]=Cliente de sincronización para escritorio Nextcloud
GenericName[es_AR]=Sincronización de directorio
Name[es_AR]=Cliente de sincronización para escritorio Nextcloud
Icon[es_AR]=Nextcloud
Comment[lt_LT]=Nextcloud darbalaukio sinchronizavimo programa
GenericName[lt_LT]=Katalogo sinchnorizacija
Name[lt_LT]=Nextcloud darbalaukio programa
Icon[lt_LT]=Nextcloud
Comment[th_TH]=Nextcloud
GenericName[th_TH]=
Name[th_TH]= Nextcloud
Icon[th_TH]=Nextcloud
Comment[es_MX]=Cliente de escritorio para sincronziación de Nextcloud
GenericName[es_MX]=Sincronización de Carpetas
Name[es_MX]=Cliente de escritorio para sincronziación de Nextcloud
Icon[es_MX]=Nextcloud
Comment[nb_NO]=Nextcloud skrivebordssynkroniseringsklient
GenericName[nb_NO]=Mappesynkronisering
Name[nb_NO]=Nextcloud skrivebordssynkroniseringsklient
Icon[nb_NO]=Nextcloud
Comment[nn_NO]=Nextcloud klient for å synkronisera frå skrivebord
GenericName[nn_NO]=Mappe synkronisering
Name[nn_NO]=Nextcloud klient for å synkronisera frå skrivebord
Icon[nn_NO]=Nextcloud
Comment[pt_PT]=Nextcloud - Cliente de Sincronização para PC
GenericName[pt_PT]=Sincronizar Pasta
Name[pt_PT]=Nextcloud - Cliente de Sincronização para PC
Icon[pt_PT]=Nextcloud
Icon[km]=Nextcloud
Comment[lb]=Nextcloud Desktop Synchronisatioun Client
GenericName[lb]=Dossier Dync
Name[lb]=Nextcloud Desktop Sync Client
Icon[lb]=Nextcloud
[Desktop Action Quit]
Exec=nextcloud --quit
Name=Quit Nextcloud
Icon=nextcloud

View File

@ -1,16 +0,0 @@
[Desktop Entry]
_Name=IBus
_GenericName=IBus Daemon
_Comment=Start IBus daemon
Exec=ibus-autostart
Icon=ibus-setup
Terminal=false
Type=Application
Categories=System;Utility;
StartupNotify=false
NoDisplay=true
X-GNOME-Autostart-Phase=Applications
X-GNOME-AutoRestart=false
X-GNOME-Autostart-Notify=false
X-KDE-autostart-after=panel
X-KDE-StartupNotify=false

View File

@ -0,0 +1,37 @@
[Desktop Entry]
Name[ca]=Fcitx 5
Name[da]=Fcitx 5
Name[de]=Fcitx 5
Name[ja]=Fcitx 5
Name[ko]=Fcitx 5
Name[zh_CN]=Fcitx 5
Name[zh_TW]=Fcitx 5
Name=Fcitx 5
GenericName[ca]=Mètode d'entrada
GenericName[da]=Inputmetode
GenericName[de]=Eingabemethode
GenericName[ja]=
GenericName[ko]=
GenericName[ru]=Метод ввода
GenericName[zh_CN]=
GenericName[zh_TW]=
GenericName=Input Method
Comment[ca]=Mètode d'entrada estàndard
Comment[da]=Start inputmetode
Comment[de]=Eingabemethode starten
Comment[ja]=
Comment[ko]=
Comment[zh_CN]=
Comment[zh_TW]=
Comment=Start Input Method
Exec=/usr/bin/fcitx5
Icon=fcitx
Terminal=false
Type=Application
Categories=System;Utility;
StartupNotify=false
X-GNOME-AutoRestart=false
X-GNOME-Autostart-Notify=false
X-KDE-autostart-after=panel
X-KDE-StartupNotify=false
X-KDE-Wayland-VirtualKeyboard=true

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -2,9 +2,12 @@
"minimum-stability": "dev",
"prefer-stable": true,
"require": {
"friendsofphp/php-cs-fixer": "^3.0",
"phpmd/phpmd": "^2.7",
"phpstan/phpstan": "^0.12.94",
"squizlabs/php_codesniffer": "^3.4"
"friendsofphp/php-cs-fixer": "*",
"squizlabs/php_codesniffer": "*",
"phpmd/phpmd": "*",
"kubawerlos/composer-json-fixer": "*",
"phpstan/phpstan": "*",
"vimeo/psalm": "*",
"psy/psysh": "@stable"
}
}

View File

@ -0,0 +1,14 @@
-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnBDHjZS6e0ZMoK3xTD7f
FNCzlXjX/Aie2dit8QXA03pSrOTbaMnxON3hUL47Lz3g1SC6YJEMVHr0zYq4elWi
i3ecFEgzLcj+pZM5X6qWu2Ozz4vWx3JYo1/a/HYdOuW9e3lwS8VtS0AVJA+U8X0A
hZnBmGpltHhO8hPKHgkJtkTUxCheTcbqn4wGHl8Z2SediDcPTLwqezWKUfrYzu1f
o/j3WFwFs6GtK4wdYtiXr+yspBZHO3y1udf8eFFGcb2V3EaLOrtfur6XQVizjOuk
8lw5zzse1Qp/klHqbDRsjSzJ6iL6F4aynBc6Euqt/8ccNAIz0rLjLhOraeyj4eNn
8iokwMKiXpcrQLTKH+RH1JCuOVxQ436bJwbSsp1VwiqftPQieN+tzqy+EiHJJmGf
TBAbWcncicCk9q2md+AmhNbvHO4PWbbz9TzC7HJb460jyWeuMEvw3gNIpEo2jYa9
pMV6cVqnSa+wOc0D7pC9a6bne0bvLcm3S+w6I5iDB3lZsb3A9UtRiSP7aGSo7D72
8tC8+cIgZcI7k9vjvOqH+d7sdOU2yPCnRY6wFh62/g8bDnUpr56nZN1G89GwM4d4
r/TU7BQQIzsZgAiqOGXvVklIgAMiV0iucgf3rNBLjjeNEwNSTTG9F0CtQ+7JLwaE
wSEuAuRm+pRqi8BRnQ/GKUcCAwEAAQ==
-----END PUBLIC KEY-----

View File

@ -0,0 +1,14 @@
-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0Vi/2K6apCVj76nCnCl2
MQUPdK+A9eqkYBacXo2wQBYmyVlXm2/n/ZsX6pCLYPQTHyr5jXbkQzBw8SKqPdlh
vA7NpbMeNCz7wP/AobvUXM8xQuXKbMDTY2uZ4O7sM+PfGbptKPBGLe8Z8d2sUnTO
bXtX6Lrj13wkRto7st/w/Yp33RHe9SlqkiiS4MsH1jBkcIkEHsRaveZzedUaxY0M
mba0uPhGUInpPzEHwrYqBBEtWvP97t2vtfx8I5qv28kh0Y6t+jnjL1Urid2iuQZf
noCMFIOu4vksK5HxJxxrN0GOmGmwVQjOOtxkwikNiotZGPR4KsVj8NnBrLX7oGuM
nQvGciiu+KoC2r3HDBrpDeBVdOWxDzT5R4iI0KoLzFh2pKqwbY+obNPS2bj+2dgJ
rV3V5Jjry42QOCBN3c88wU1PKftOLj2ECpewY6vnE478IipiEu7EAdK8Zwj2LmTr
RKQUSa9k7ggBkYZWAeO/2Ag0ey3g2bg7eqk+sHEq5ynIXd5lhv6tC5PBdHlWipDK
tl2IxiEnejnOmAzGVivE1YGduYBjN+mjxDVy8KGBrjnz1JPgAvgdwJ2dYw4Rsc/e
TzCFWGk/HM6a4f0IzBWbJ5ot0PIi4amk07IotBXDWwqDiQTwyuGCym5EqWQ2BD95
RGv89BPD+2DLnJysngsvVaUCAwEAAQ==
-----END PUBLIC KEY-----

View File

@ -2,7 +2,7 @@
name = Diogo Peralta Cordeiro
email = mail@diogo.site
[core]
editor = nvim
editor = vim
excludesfile = ~/.gitignore_global
[credential]
helper = cache --timeout=3600
@ -36,9 +36,9 @@
[url "https://aur.archlinux.org/"]
insteadOf = "aur:"
[merge]
tool = nvim
[mergetool "nvim"]
cmd = nvim -f -c \"Gdiff\" \"$MERGED\"
tool = vim
[mergetool "vim"]
cmd = vim -f -c \"Gdiff\" \"$MERGED\"
[rebase]
autosquash = true
instructionFormat = "(%an <%ae>) %s"

View File

@ -2,6 +2,7 @@
########################
.idea/
.php_cs.cache
.vscode
# Compiled source #
###################

View File

@ -322,7 +322,7 @@ bindsym $mod+r mode "resize"
# Pulse Audio controls
bindsym XF86AudioRaiseVolume exec --no-startup-id ~/.config/i3/scripts/volume_level.sh up #increase sound volume
bindsym XF86AudioLowerVolume exec --no-startup-id ~/.config/i3/scripts/volume_level.sh down #decrease sound volume
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound
bindsym XF86AudioMute exec --no-startup-id ~/.config/i3/scripts/volume_level.sh toggle # mute sound
bindsym $mod+o exec pavucontrol
# Sreen brightness controls
@ -342,7 +342,7 @@ bindsym XF86Sleep exec --no-startup-id ~/.config/i3/scripts/touchpad.sh
## Start Applications ##
########################
bindsym $mod+Return exec i3-sensible-terminal
bindsym $mod+Return exec kitty #i3-sensible-terminal
bindsym $mod+F3 exec kitty -e 'ranger'
bindsym Print exec xfce4-screenshooter
bindsym $mod+Ctrl+x --release exec --no-startup-id xkill
@ -363,8 +363,8 @@ bindsym Mod1+F2 exec --no-startup-id dmenu_run
# start j4-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
#bindsym $mod+d exec --no-startup-id j4-dmenu-desktop [--dmenu="dmenu -i"] [--term="i3-sensible-terminal"]
#bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
bindsym $mod+d exec --no-startup-id j4-dmenu-desktop [--dmenu="dmenu -i"] [--term="i3-sensible-terminal"]
# launch categorized menu
bindsym $mod+z exec --no-startup-id ~/.config/i3/scripts/morc_menu.sh
@ -408,8 +408,9 @@ bindsym mod3+Escape exec --no-startup-id ~/.config/i3/scripts/exit_menu.sh power
############################
#-> System related
exec --no-startup-id /usr/bin/fcitx5 &
exec --no-startup-id nm-applet &
#exec --no-startup-id /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 &
exec --no-startup-id /usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 &
exec --no-startup-id package-update-indicator &
exec --no-startup-id xfsettingsd --sm-client-disable &
exec --no-startup-id xfce4-power-manager &
@ -423,12 +424,18 @@ exec --no-startup-id parcellite &
#exec --no-startup-id blueman-applet &
#exec --no-startup-id redshift-gtk &
#exec --no-startup-id indicator-kdeconnect &
#exec --no-startup-id /usr/bin/nextcloud &
exec --no-startup-id nextcloud &
#exec --no-startup-id gajim &
#exec --no-startup-id hexchat --minimize=2 &
#exec --no-startup-id /opt/Telegram/Telegram -startintray &
exec --no-startup-id Telegram -startintray &
#exec --no-startup-id /opt/spotlight.sh &
# DPI because XFCE hardcoded it
## workstation
# exec --no-startup-id "sleep 5; xrand --dpi 109 &"
## laptop
exec --no-startup-id "sleep 5; xrandr --dpi 158 &"
# Display Mode
bindsym $mod+p mode "$mode_display"
set $mode_display Ext Screen: (z) VGA, (x) HDMI, (c) External OFF

View File

@ -126,7 +126,7 @@ interval=30
#
[time]
#color=#FFCCCC
label=
label=
command=date '+%Y-%m-%d %H:%M:%S'
#command=date '+%H:%M '
interval=1

View File

@ -2,5 +2,3 @@
grep -rh Exec ~/.config/autostart | while read -r line ; do
${line:5} &
done
# Fix snap
xhost +si:localuser:$USER

View File

@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/dash
case "$1" in
lock)

View File

@ -1,17 +1,23 @@
#!/bin/dash
#!/bin/zsh
# Pulse Audio controls
#sink=$(pacmd list-sinks | grep index | awk '{ print substr( $0, length($0), length($0) ) }')
sink=$(pactl list short sinks | grep -F RUNNING | cut -d$'\t' -f1)
# Unmute if updating volume and currently mute
if [ "$( pacmd dump | awk '$1 == "set-sink-mute" {m[$2] = $3} $1 == "set-default-sink" {s = $2} END {print m[s]}')" = 'yes' ]
then
pactl set-sink-mute 0 toggle
pactl set-sink-mute "$sink" toggle
fi
case "$1" in
up)
pactl set-sink-volume 0 +5% #increase sound volume
pactl set-sink-volume "$sink" +5% #increase sound volume
;;
down)
pactl set-sink-volume 0 -5% #decrease sound volume
pactl set-sink-volume "$sink" -5% #decrease sound volume
;;
toggle)
pactl set-sink-mute "$sink" toggle # mute sound volume
;;
esac

View File

@ -1,822 +0,0 @@
" As recommended by `:help provider`, define a venv just for neovim that has
" the neovim module and some Python linters
let g:python3_host_prog = expand('~/.config/nvim/env/bin/python')
" Enable nocompatible
if has('vim_starting')
" set default encoding to utf-8
" Let Vim use utf-8 internally, because many scripts require this
exe 'set encoding=utf-8'
scriptencoding utf-8
if &compatible
set nocompatible
endif
" python host
if !empty($PYTHON_HOST_PROG)
let g:python_host_prog = $PYTHON_HOST_PROG
endif
if !empty($PYTHON3_HOST_PROG)
let g:python3_host_prog = $PYTHON3_HOST_PROG
endif
endif
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Sections:
" -> Settings (01-settings)
" -> Theme (02-theme)
" -> Keymap (10-keymap-general, 11-keymap-rtl)
" -> File type specific (31-file-type.vim)
"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" ==================================================
" Basic Settings
" ==================================================
let mapleader="\<Space>" " Change the leader to be a space
set cmdheight=2 " Make command line two lines high
set scrolloff=7 " Set 7 lines to the cursor - when moving vertically using j/k
set sidescrolloff=5 " Have some context around the current line always on screen
set cursorline " Have a line indicate the cursor location (slow)
set autoindent " Always set autoindenting on
set smartindent " Set smart indent
set showcmd " Display incomplete commands
set ruler " Show the cursor position all the time
set rulerformat=%30(%=\:b%n%y%m%r%w\ %l,%c%V\ %P%)
set number norelativenumber " Show line numbers
set ttyfast " Smoother changes
set modeline " Last lines in document sets vim mode
set shortmess=atIc " Abbreviate messages
set nostartofline " Don't jump to first character when paging
set backspace=indent,eol,start
set matchpairs+=<:> " Show matching <> (html mainly) as well
set showmatch " Show matching brackets when text indicator is over them
set matchtime=3 " How many tenths of a second to blink when matching brackets
set showmatch " Show matching braces, somewhat annoying...
set history=1000 " Sets how many lines of history VIM has to remember
set showmode " Show the default mode text (e.g. -- INSERT -- below the statusline)
set timeout ttimeoutlen=50
set updatetime=300 " Smaller updatetime for CursorHold & CursorHoldI
set signcolumn=yes
set whichwrap+=<,>,h,l,[,]
set fileformats=unix,dos,mac
set encoding=utf-8
set completeopt=longest,menuone " Preview mode causes flickering
set clipboard+=unnamedplus " Share the system clipboard
set splitright " Splits to the right
autocmd VimResized * wincmd = " Automatically equalize splits when Vim is resized
set wildmenu " show list instead of just completing
set wildmode=list:longest,full " command <Tab> completion, list matches, then longest common part, then all.
set completeopt=menu " Just show the menu upon completion (faster)
syntax on
set synmaxcol=200 " Syntax highlight only the first 200 chars"
filetype plugin on
filetype indent plugin on
set colorcolumn=80
"set colorcolumn=125 " Comfortable _and_ Github's line length
if has('linebreak') " Break indent wrapped lines
set breakindent
let &showbreak = '↳ '
set cpo+=n
end
" Linebreak on 500 characters
set lbr
set tw=80
" ==================================================
" Turn persistent undo on means that you can undo
" even when you close a buffer/VIM
" ==================================================
set directory=~/.nvim_runtime/temp_dirs/swap/
set backupdir=~/.nvim_runtime/temp_dirs/backup/
try
set undodir=~/.nvim_runtime/temp_dirs/undodir
set undofile
catch
endtry
" ==================================================
" Status line
" ==================================================
" Always show the status line
set laststatus=2
" Format the status line
set statusline=\ %{HasPaste()}%F%m%r%h\ %w\ \ CWD:\ %r%{getcwd()}%h\ \ \ Line:\ %l\ \ Column:\ %c
" Returns true if paste mode is enabled
function! HasPaste()
if &paste
return 'PASTE MODE '
endif
return ''
endfunction
" ==================================================
" Use terminal title as an output
" ==================================================
set title
set titleold="Terminal"
set titlestring=%F
" ==================================================
" No annoying sound on errors
" ==================================================
set noerrorbells
set novisualbell
set t_vb=
set tm=500
" Properly disable sound on errors on MacVim
if has("gui_macvim")
autocmd GUIEnter * set vb t_vb=
endif
" ==================================================
" Tab expanded to 8 spaces
" ==================================================
set tabstop=8 " numbers of spaces of tab character
set shiftwidth=8 " numbers of spaces to (auto)indent
set expandtab " Tab to spaces by default
set softtabstop=8
set smarttab " Be smart when using tabs ;)
" ==================================================
" Search settings
" ==================================================
set hlsearch " highlight searches
set incsearch " do incremental searching
set ignorecase " ignore case when searching
set infercase " smarter completions that will be case aware when ignorecase is on
set smartcase " if searching and search contains upper case, make case sensitive search
set list listchars=trail,tab-
set fillchars+=vert:\
" ==================================================
" No modelines for security
" ==================================================
set modelines=0
set nomodeline
" ==================================================
" Trailing whitespace handling
" ==================================================
" Highlight end of line whitespace.
highlight WhitespaceEOL ctermbg=red guibg=red
match WhitespaceEOL /\s\+$/
" ==================================================
" Further settings
" ==================================================
" Try to display very long lines, rather than showing @
set display+=lastline
" show trailing whitespace as -, tabs as >-
set listchars=tab:>-,trail:-
set list
" Live substitution
set inccommand=split
if has("nvim")
set laststatus=1
endif
" Ignore compiled files
set wildignore=*.o,*~,*.pyc
if has("win16") || has("win32")
set wildignore+=.git\*,.hg\*,.svn\*
else
set wildignore+=*/.git/*,*/.hg/*,*/.svn/*,*/.DS_Store
endif
" Don't redraw while executing macros (good performance config)
set lazyredraw
" For regular expressions turn magic on
set magic
" when at 3 spaces, and I hit > ... go to 4, not 7
set shiftround
" number of undo saved in memory
set undolevels=10000 " How many undos
set undoreload=10000 " number of lines to save for undo
" set list
set list listchars=tab:\┆\ ,trail,nbsp
" doesn't prompt a warning when opening a file and the current file was written but not saved
set hidden
" no swap file! This is just annoying
set noswapfile
" Fold related
set foldlevelstart=0 " Start with all folds closed
" Set foldtext
set foldtext=general#FoldText()
" Show the substitution LIVE
set inccommand=nosplit
" for vertical pane in git diff tool
set diffopt+=vertical
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
" Set to auto read when a file is changed from the outside
set autoread
" indentLine
let g:indentLine_char = '▏'
let g:indentLine_color_gui = '#363949'
" vim:set et sw=2:
" ==================================================
" Color scheme and fonts
" ==================================================
let g:rainbow_active = 1 "set to 0 if you want to enable it later via :RainbowToggle
let g:material_theme_style = 'palenight'
" disable the mouse - who needs a mouse??
set mouse-=a
set guicursor=
" Set font according to system
if has("mac") || has("macunix")
set gfn=IBM\ Plex\ Mono:h14,Hack:h14,Source\ Code\ Pro:h15,Menlo:h15
elseif has("win16") || has("win32")
set gfn=IBM\ Plex\ Mono:h14,Source\ Code\ Pro:h12,Bitstream\ Vera\ Sans\ Mono:h11
elseif has("gui_gtk2")
set gfn=IBM\ Plex\ Mono:h14,:Hack\ 14,Source\ Code\ Pro\ 12,Bitstream\ Vera\ Sans\ Mono\ 11
elseif has("linux")
set gfn=IBM\ Plex\ Mono:h14,:Hack\ 14,Source\ Code\ Pro\ 12,Bitstream\ Vera\ Sans\ Mono\ 11
elseif has("unix")
set gfn=Monospace\ 11
endif
" Disable scrollbars (real hackers don't use scrollbars for navigation!)
set guioptions-=r
set guioptions-=R
set guioptions-=l
set guioptions-=L
if (has("nvim"))
"For Neovim 0.1.3 and 0.1.4 < https://github.com/neovim/neovim/pull/2198 >
let $NVIM_TUI_ENABLE_TRUE_COLOR=1
endif
" Enable 256 colors palette in Gnome Terminal
if $COLORTERM == 'gnome-terminal'
set t_Co=256
endif
set background=dark
"colorscheme material
set t_Co=256
colorscheme desert
hi Conceal guifg=#81A1C1 guibg=NONE ctermbg=NONE
let g:palenight_terminal_italics=1
let g:material_terminal_italics = 1
"For Neovim > 0.1.5 and Vim > patch 7.4.1799 < https://github.com/vim/vim/commit/61be73bb0f965a895bfb064ea3e55476ac175162 >
"Based on Vim patch 7.4.1770 (`guicolors` option) < https://github.com/vim/vim/commit/8a633e3427b47286869aa4b96f2bfc1fe65b25cd >
" < https://github.com/neovim/neovim/wiki/Following-HEAD#20160511 >
if (has("termguicolors"))
" Opaque Background (Comment out to use terminal's profile)
set termguicolors
endif
" Set extra options when running in GUI mode
if has("gui_running")
set guioptions-=T
set guioptions-=e
set t_Co=256
set guitablabel=%M\ %t
endif
highlight Pmenu guibg=white guifg=black gui=bold
highlight Comment gui=bold
highlight Normal gui=none
highlight NonText guibg=none
" Transparent Background (For i3 and compton)
highlight Normal guibg=NONE ctermbg=NONE
highlight LineNr guibg=NONE ctermbg=NONE
"" This will repair colors in Tmux.
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
"" Tmuxline
let g:tmuxline_theme = 'vim_statusline_3'
let g:tmuxline_preset = 'tmux'
"" Bufferline
let g:bufferline_echo = 0 " This will keep your messages from getting quickly hidden.
" vim:set et sw=2:
" ==================================================
" Basic Mappings
" ==================================================
" Maps for jj to act as Esc in insert and command modes
ino jj <esc>
cno jj <c-c>
" One can map ctrl-c to something else if needed
map <c-c> <Nop>
imap <c-c> <Nop>
" Smarter j/k navigation
" Convert the j and k movement commands from strict linewise movements to
" onscreen display line movements via the gj and gk commands. When
" preceded with a count we want to go back to strict linewise movements.
" will automatically save movements larger than 5 lines to the jumplist.
nnoremap <expr> j v:count ? (v:count > 5 ? "m'" . v:count : '') . 'j' : 'gj'
nnoremap <expr> k v:count ? (v:count > 5 ? "m'" . v:count : '') . 'k' : 'gk'
" Center next/previous matched string
nnoremap n nzz
nnoremap N Nzz
" Save session
exec 'nnoremap <Leader>ss :mksession! ~/.nvim_runtime/sessions/*.vim<C-D><BS><BS><BS><BS><BS>'
" Reload session
exec 'nnoremap <Leader>sl :so ~/.nvim_runtime/sessions/*.vim<C-D><BS><BS><BS><BS><BS>'
" quick make
map <F6> :make<CR>
" simple pasting from the system clipboard
" http://tilvim.com/2014/03/18/a-better-paste.html
map <Leader>p :set paste<CR>o<esc>"+]p:set nopaste<cr>
" Quickly save, quit, or save-and-quit
map <leader>w :w<CR>
map <leader>x :x<CR>
map <leader>q :q<CR>
" un-highlight when esc is pressed
map <silent><esc> :noh<cr>
" Quickly toggle relative line numbers
function ToggleRelativeLineNumbers()
set invnumber
set invrelativenumber
endfunction
nnoremap <leader>l :call ToggleRelativeLineNumbers()<cr>
" Toggle between absolute -> relative line number
"nnoremap <C-n> :let [&nu, &rnu] = [&nu, &nu+&rnu==1]<CR>
" Save files as root
cnoremap w!! execute ':w suda://%'
" ==================================================
" vimrc handling
" ==================================================
" ,v loads .vimrc
" ,V reloads .vimrc -- activating changes (needs save)
map <leader>v :sp ~/.config/nvim/init.vim<CR><C-W>_
map <silent> <leader>V :source ~/.config/nvim/init.vim<CR>:filetype detect<CR>:exe ":echo 'vimrc reloaded'"<CR>
" ==================================================
" Window navigation
" ==================================================
" control + vim direction key to navigate windows
noremap <C-J> <C-W>j
noremap <C-K> <C-W>k
noremap <C-H> <C-W>h
noremap <C-L> <C-W>l
" control + arrow key to navigate windows
noremap <C-Down> <C-W>j
noremap <C-Up> <C-W>k
noremap <C-Left> <C-W>h
noremap <C-Right> <C-W>l
" close all windows except the current one
nnoremap <leader>wco :only<cr>
nnoremap <leader>wcc :cclose<cr>
" windows creation
" create window on the bottom
nnoremap <leader>wb <c-w>s
" create vertival window
nnoremap <leader>wv <c-w>v
" " arrow keys resize windows
" nnoremap <Left> :vertical resize -10<CR>
" nnoremap <Right> :vertical resize +10<CR>
" nnoremap <Up> :resize -10<CR>
" nnoremap <Down> :resize +10<CR>
" imap <up> <nop>
" imap <down> <nop>
" imap <left> <nop>
" imap <right> <nop>
" ==================================================
" Splits handling
" ==================================================
" Make these all work in insert mode
imap <C-W> <C-O><C-W>
" - and + to resize horizontal splits
map - <C-W>-
map + <C-W>+
" alt-< or alt-> for vertical splits
map <m-,> <C-W>>
map <m-.> <C-W><
" F2 close current split (window)
noremap <F2> <Esc>:close<CR><Esc>
" Deleter buffer, keep the split (switch to prev buf, delete now prev buf)
nmap <leader>d :b#<bar>bd#<CR>
" ==================================================
" Tab navigation
" ==================================================
map <leader>to :tabonly<cr>
map <leader>tc :tabclose<cr>
map <leader>tm :tabmove<CR>
nnoremap tn :tabnew<cr>
nnoremap th :tabfirst<CR>
nnoremap tk :tabnext<CR>
nnoremap tj :tabprev<CR>
nnoremap tl :tablast<CR>
" move tab to first position
nnoremap tF :tabm 0<CR>
nnoremap tL :tabm<CR>
" Navigate tabs with shift-{h,l}
noremap <S-l> gt
noremap <S-h> gT
" Let 'tl' toggle between this and the last accessed tab
let g:lasttab = 1
nmap <Leader>tl :exe "tabn ".g:lasttab<CR>
au TabLeave * let g:lasttab = tabpagenr()
" Opens a new tab with the current buffer's path
" Super useful when editing files in the same directory
map <leader>te :tabedit <c-r>=expand("%:p:h")<cr>/
" Switch CWD to the directory of the open buffer
map <leader>cd :cd %:p:h<cr>:pwd<cr>
" Specify the behavior when switching between buffers
try
set switchbuf=useopen,usetab,newtab
set stal=2
catch
endtry
" ==================================================
" Buffer navigation
" ==================================================
nmap <A-Tab> :bnext<CR>
nmap <S-Tab> :bprevious<CR>
" ==================================================
" Clean all end of line whitespace with <Leader>S
" ==================================================
":nnoremap <silent><leader>S :let _s=@/<Bar>:%s/\s\+$//e<Bar>:let @/=_s<Bar>:nohl<CR>
fun! TrimWhitespace()
let l:save = winsaveview()
keeppatterns %s/\s\+$//e
call winrestview(l:save)
endfun
:nnoremap <silent><leader>S :call TrimWhitespace()<CR>
" ==================================================
" Visual mode related
" ==================================================
" Visual mode pressing * or # searches for the current selection
" Super useful! From an idea by Michael Naumann
vnoremap <silent> * :<C-u>call VisualSelection('', '')<CR>/<C-R>=@/<CR><CR>
vnoremap <silent> # :<C-u>call VisualSelection('', '')<CR>?<C-R>=@/<CR><CR>
function! VisualSelection(direction, extra_filter) range
let l:saved_reg = @"
execute "normal! vgvy"
let l:pattern = escape(@", "\\/.*'$^~[]")
let l:pattern = substitute(l:pattern, "\n$", "", "")
if a:direction == 'gv'
call CmdLine("Ack '" . l:pattern . "' " )
elseif a:direction == 'replace'
call CmdLine("%s" . '/'. l:pattern . '/')
endif
let @/ = l:pattern
let @" = l:saved_reg
endfunction
" ==================================================
" Editing mappings
" ==================================================
" Remap VIM 0 to first non-blank character
map 0 ^
" Move a line of text using ALT+[jk] or Command+[jk] on mac
nmap <M-j> mz:m+<cr>`z
nmap <M-k> mz:m-2<cr>`z
vmap <M-j> :m'>+<cr>`<my`>mzgv`yo`z
vmap <M-k> :m'<-2<cr>`>my`<mzgv`yo`z
if has("mac") || has("macunix")
nmap <D-j> <M-j>
nmap <D-k> <M-k>
vmap <D-j> <M-j>
vmap <D-k> <M-k>
endif
" ==================================================
" Spell checking
" ==================================================
" Pressing ,ss will toggle and untoggle spell checking
map <leader>ss :setlocal spell!<cr>
" Shortcuts using <leader>
map <leader>sn ]s
map <leader>sp [s
map <leader>sa zg
map <leader>s? z=
" ==================================================
" Other Configurations
" ==================================================
" Remove the Windows ^M - when the encodings gets messed up
noremap <Leader>m mmHmt:%s/<C-V><cr>//ge<cr>'tzt'm
" Quickly open a buffer for scribble
map <leader>q :e ~/buffer<cr>
" Quickly open a markdown buffer for scribble
map <leader>x :e ~/buffer.md<cr>
" Toggle paste mode on and off
map <leader>pp :setlocal paste!<cr>
noremap <C-p> :Denite buffer file_rec tag<CR>
xmap <leader>a gaip*
nmap <leader>t <C-w>s<C-w>j:terminal<CR>
nmap <leader>vt <C-w>v<C-w>l:terminal<CR>
nmap <leader>g :Goyo<CR>
nmap <leader>j :set filetype=journal<CR>
nmap <leader>l :Limelight!!<CR>
autocmd FileType python nmap <leader>x :0,$!~/.config/nvim/env/bin/python -m yapf<CR>
vmap <F2> !boxes -d stone
" surround by quotes - frequently use cases of vim-surround
map <leader>" ysiw"<cr>
map <leader>' ysiw'<cr>
" Act like D and C
nnoremap Y y$
" indent without kill the selection in vmode
vmap < <gv
vmap > >gv
" remap the annoying u in visual mode
vmap u y
" shortcut to substitute current word under cursor
nnoremap <leader>[ :%s/<c-r><c-w>//g<left><left>
" Change in next bracket
nmap cinb cib
" Visual mode pressing * or # searches for the current selection
" Super useful! From an idea by Michael Naumann
vnoremap <silent> * :<C-u>call general#VisualSelection('', '')<CR>/<C-R>=@/<CR><CR>
vnoremap <silent> # :<C-u>call general#VisualSelection('', '')<CR>?<C-R>=@/<CR><CR>
" delete character after cursor in insert mode
inoremap <C-d> <Del>
" highlight the line which is longer than the defined margin (120 character)
highlight MaxLineChar ctermbg=red
autocmd FileType php,js,vue,go call matchadd('MaxLineChar', '\%120v', 100)
" open devdocs.io with waterfox and search the word under the cursor
command! -nargs=? DevDocs :call system('type -p open >/dev/null 2>&1 && open https://devdocs.io/#q=<args> || waterfox -url https://devdocs.io/#q=<args>')
autocmd FileType python,ruby,rspec,javascript,go,html,php,eruby,coffee,haml nmap <buffer> <leader>D :exec "DevDocs " . fnameescape(expand('<cword>'))<CR>
" Markdown
autocmd BufNewFile,BufFilePre,BufRead *.md set filetype=markdown
" Keep the cursor in place while joining lines
nnoremap J mzJ`z
" Quit neovim terminal
tnoremap <C-\> <C-\><C-n>
" Open images with feh
autocmd BufEnter *.png,*.jpg,*gif silent! exec "! feh ".expand("%") | :bw
" A |Dict| specifies the matcher for filtering and sorting the completion candidates.
let g:cm_matcher={'module': 'cm_matchers.abbrev_matcher', 'case': 'smartcase'}
" Disable anoying ex mode
nnoremap Q <Nop>
" Neovim :Terminal
tmap <Esc> <C-\><C-n>
tmap <C-w> <Esc><C-w>
autocmd BufWinEnter,WinEnter term://* startinsert
autocmd BufLeave term://* stopinsert
" vim:set et sw=2:
" ==================================================
" Right-to-Left (Hebrew etc) shortcuts
" ==================================================
" toggle direction mapping
" this is useful for logical-order editing
map <F9> :set invrl<CR>
" do it when in insert mode as well (and return to insert mode)
imap <F9> <Esc>:set invrl<CR>a
" toggle reverse insertion
" this is useful for visual-order editing
map <F8> :set invrevins<CR>
" do it when in insert mode as well (and return to insert mode)
imap <F8> <Esc>:set invrevins<CR>a
" vim:set et sw=2:
" ===================================================================
" FileType and Indentation settings
"
" Recommended: Don't rely on this, use editorconfig " in your project
" ===================================================================
" define less filetype
au BufNewFile,BufRead *.less set filetype=less
" make the smarty .tpl files html files for our purposes
au BufNewFile,BufRead *.tpl set filetype=html
" json
au! BufRead,BufNewFile *.json set filetype=json
" jquery
au BufRead,BufNewFile jquery.*.js set ft=javascript syntax=jquery
autocmd Filetype html setlocal ts=2 sw=2 expandtab
autocmd Filetype xhtml setlocal ts=2 sw=2 expandtab
autocmd Filetype xml setlocal ts=2 sw=2 expandtab
autocmd Filetype css setlocal ts=2 sw=2 expandtab
autocmd Filetype less setlocal ts=2 sw=2 expandtab
autocmd Filetype ruby setlocal ts=2 sw=2 expandtab
autocmd Filetype javascript setlocal ts=4 sw=4 sts=0 noexpandtab
autocmd Filetype python setlocal omnifunc=jedi#completions tw=79
\ completeopt-=preview
\ formatoptions+=c
" HTML, XML, Jinja
autocmd FileType html setlocal shiftwidth=2 tabstop=2 softtabstop=2
autocmd FileType css setlocal shiftwidth=2 tabstop=2 softtabstop=2
autocmd FileType xml setlocal shiftwidth=2 tabstop=2 softtabstop=2
autocmd FileType htmldjango setlocal shiftwidth=2 tabstop=2 softtabstop=2
autocmd FileType htmldjango inoremap {{ {{ }}<left><left><left>
autocmd FileType htmldjango inoremap {% {% %}<left><left><left>
autocmd FileType htmldjango inoremap {# {# #}<left><left><left>
" LaTeX
let g:tex_flavor='latex'
let g:vimtex_view_method='zathura'
let g:vimtex_quickfix_mode=0
set conceallevel=1
let g:tex_conceal='abdmg'
" Markdown and Journal
autocmd FileType markdown setlocal shiftwidth=2 tabstop=2 softtabstop=2
autocmd FileType journal setlocal shiftwidth=2 tabstop=2 softtabstop=2
" Always assume .tex files are LaTeX
let g:tex_flavor = "latex"
" Don't autocomplete filenames that match these patterns
" Version control
set wildignore=.svn,.git
" Compiled formats
set wildignore+=*.o,*.pyc
" Images
set wildignore+=*.jpg,*.png,*.pdf
" Auxilary LaTeX files
set wildignore+=*.aux,*.bbl,*.blg,*.out,*.toc
" Web development
set wildignore+=vendor,_site,tmp,node_modules,bower_components
" Script outputs
set wildignore+=output
au BufNewFile,BufRead ~/.mutt/tmp/neomutt-* setlocal filetype=mail
" Makefiles require actual tabs
au FileType make setlocal noexpandtab
" Don't create backup files when editing crontabs
au filetype crontab setlocal nobackup nowritebackup
" Python style uses 4 spaces as tabs
au FileType python setlocal tabstop=4 shiftwidth=4
au BufNewFile,BufRead *.md setlocal filetype=markdown syntax=markdown
au BufNewFile,BufRead *.markdown setlocal syntax=markdown
" Spellchecking in LaTeX, Markdown
au FileType tex,plaintex,markdown setlocal spelllang=en_gb spell formatoptions=tcroqlj
" Wrap Python automatically at 80 characters
au FileType python setlocal textwidth=79 formatoptions=tcroqlj
" relativenumber can be very slow when combined with a language whose syntax
" highlighting regexs are complex
" https://github.com/neovim/neovim/issues/2401
" https://groups.google.com/forum/#!topic/vim_use/ebRiypE2Xuw
au FileType tex set norelativenumber
" Enable marker folder for Beancount files
au FileType beancount set foldmethod=marker foldlevel=0 foldlevelstart=0
" I often type `#` to start a comment, as alt-3, then hit space
" alt-space is a UTF non-breaking space character, which can give encoding errors
highlight UTFSpaceComment ctermfg=White ctermbg=1
au BufNewFile,BufRead * :syn match UTFSpaceComment '.\%uA0'
augroup mail
au!
au FileType mail setlocal spell spelllang=en_gb
" Common standard used in plaintext emails
au FileType mail setlocal textwidth=72
" w: Lines ending with spaces continue on the next line, used in combination
" with Mutt's text_flowed option
" a: Format automatically
" t: Wrap using textwidth
" c: Wrap comments using textwidth
" q: Format with gq macro
au FileType mail setlocal formatoptions=watcq
" Define comment leaders as in a Markdown document, that is:
" * Treat *, -, +, and > as comment leaders
" * Characters *, -, + begin comments when followed by a space, and wrapped
" lines immediately after these should be indented
" * Comments starting with > can be nested
au FileType mail setlocal comments=fb:*,fb:-,fb:+,n:>
" Install an autogroup that triggers when inside a `mail.*` syntax group
au FileType mail call OnSyntaxChange#Install('NoWrapElements', '^mail', 1, 'a')
" Use the trigger to disable/enable text wrapping when leaving/enter the
" mail body (i.e. we only want wrapping in the mail body).
au FileType mail autocmd User SyntaxNoWrapElementsEnterA setlocal formatoptions-=watc
au FileType mail autocmd User SyntaxNoWrapElementsLeaveA setlocal formatoptions+=watc
augroup end
" Twig
autocmd BufNewFile,BufRead *.twig set filetype=html.twig
" PHP
command! -nargs=1 Silent execute ':silent !'.<q-args> | execute ':redraw!'
map <c-s> <esc>:w<cr>:Silent php-cs-fixer fix %:p --level=symfony<cr>
" vim:set et sw=2:

View File

@ -1,31 +0,0 @@
" As recommended by `:help provider`, define a venv just for neovim that has
" the neovim module and some Python linters
let g:python3_host_prog = expand('~/.config/nvim/env/bin/python')
" Enable nocompatible
if has('vim_starting')
" set default encoding to utf-8
" Let Vim use utf-8 internally, because many scripts require this
exe 'set encoding=utf-8'
scriptencoding utf-8
if &compatible
set nocompatible
endif
" python host
if !empty($PYTHON_HOST_PROG)
let g:python_host_prog = $PYTHON_HOST_PROG
endif
if !empty($PYTHON3_HOST_PROG)
let g:python3_host_prog = $PYTHON3_HOST_PROG
endif
endif
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Sections:
" -> Settings (01-settings)
" -> Theme (02-theme)
" -> Keymap (10-keymap-general, 11-keymap-rtl)
" -> File type specific (31-file-type.vim)
"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

View File

@ -1,58 +0,0 @@
" ==================================================
" COC configuration and mapping
" ==================================================
" Use `lp` and `ln` for navigate diagnostics
nmap <silent> <leader>lp <Plug>(coc-diagnostic-prev)
nmap <silent> <leader>ln <Plug>(coc-diagnostic-next)
" Remap keys for gotos
nmap <silent> <leader>ld <Plug>(coc-definition)
nmap <silent> <leader>lt <Plug>(coc-type-definition)
nmap <silent> <leader>li <Plug>(coc-implementation)
nmap <silent> <leader>lf <Plug>(coc-references)
" Remap for rename current word
nmap <leader>lr <Plug>(coc-rename)
" Use K for show documentation in preview window
nnoremap <silent> K :call <SID>show_documentation()<CR>
function! s:show_documentation()
if &filetype == 'vim'
execute 'h '.expand('<cword>')
else
call CocAction('doHover')
endif
endfunction
" Coc extensions
let g:coc_global_extensions = [
\ 'coc-emoji',
\ 'coc-diagnostic',
\ 'coc-pairs',
\ 'coc-ultisnips',
\ 'coc-css',
\ 'coc-html',
\ 'coc-java',
\ 'coc-tsserver',
\ 'coc-vimtex',
\ 'coc-yaml',
\ 'coc-json',
\]
" \ 'coc-highlight',
" \ 'coc-dictionary',
" \ 'coc-syntax',
" outliner
let g:vista_default_executive = 'coc'
let g:vista#renderer#enable_icon = 0
" nnoremap <leader>o :Vista!!<CR>
" Coc Pairs
inoremap <silent><expr> <cr> pumvisible() ? coc#_select_confirm() : "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>"
autocmd FileType tex let b:coc_pairs = [["$", "$"]]
autocmd FileType markdown let b:coc_pairs_disabled = ['`']
" vim:set et sw=2:

View File

@ -1,22 +0,0 @@
{
"diagnostic-languageserver.filetypes": {
// lint `sh` (includes `bash`) files
"sh": "shellcheck"
},
"diagnostic-languageserver.formatFiletypes": {
// format `sh` (includes `bash`) files using formatter defined below
"sh": "shfmt"
},
"diagnostic-languageserver.formatters": {
// define our formatter so that we can reference it from
// `diagnostic-languageserver.formatFiletypes`
"shfmt": {
"command": "shfmt",
// all the below args are entirely optional
// primarily listed here to call out that flags which take an
// argument (such as `-i <num-spaces>` for specifying indentation)
// should be split into two strings, the flag and then the value
"args": ["-i", "2", "-bn", "-ci", "-sr"]
}
},
}

View File

@ -1,257 +0,0 @@
diff --git a/neovim/.config/nvim/rc.d/00-plugins.vim b/neovim/.config/nvim/rc.d/00-plugins.vim
index a66b51d..ba57bc6 100644
--- a/neovim/.config/nvim/rc.d/00-plugins.vim
+++ b/neovim/.config/nvim/rc.d/00-plugins.vim
@@ -87,7 +87,6 @@ Plug 'majutsushi/tagbar'
Plug 'liuchengxu/vista.vim'
Plug 'editorconfig/editorconfig-vim'
Plug 'vim-scripts/Shebang'
-Plug 'w0rp/ale'
Plug 'sirver/ultisnips'
Plug 'honza/vim-snippets'
Plug 'Valloric/MatchTagAlways'
@@ -152,7 +151,6 @@ Plug 'vim-scripts/po.vim--Jelenak'
" PHP Support
Plug 'phpactor/phpactor' , {'do': 'composer install', 'for': 'php'}
-Plug 'kristijanhusak/deoplete-phpactor'
Plug 'vim-php/tagbar-phpctags.vim'
Plug 'tobyS/pdv'
Plug 'StanAngeloff/php.vim'
@@ -191,6 +189,8 @@ Plug 'lumiliet/vim-twig', {'for': 'twig'}
" javascript plugins
Plug 'pangloss/vim-javascript'
+Plug 'ternjs/tern_for_vim', { 'for': ['javascript', 'javascript.jsx', 'vue'], 'do': 'npm install'}
+
Plug 'leafgarland/typescript-vim'
" For react
@@ -200,19 +200,12 @@ Plug 'mxw/vim-jsx'
Plug 'posva/vim-vue'
" Autocomplete
-Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
-Plug 'zchee/deoplete-clang'
-Plug 'carlitux/deoplete-ternjs', { 'do': 'npm install -g tern' }
-Plug 'wokalski/autocomplete-flow'
-Plug 'sebastianmarkow/deoplete-rust'
-Plug 'shougo/neoinclude.vim'
-Plug 'zchee/deoplete-jedi'
-Plug 'shougo/neco-vim'
+Plug 'neoclide/coc.nvim', {'branch': 'release', 'do': { -> coc#util#install()}}
+Plug 'neoclide/coc-neco'
Plug 'othree/csscomplete.vim'
Plug 'othree/html5.vim'
Plug 'othree/xml.vim'
Plug 'c9s/perlomni.vim'
-Plug 'artur-shaik/vim-javacomplete2'
" CSV plugin
diff --git a/neovim/.config/nvim/rc.d/20-ale.vim b/neovim/.config/nvim/rc.d/20-ale.vim
deleted file mode 100644
index d513954..0000000
--- a/neovim/.config/nvim/rc.d/20-ale.vim
+++ /dev/null
@@ -1,68 +0,0 @@
-" ===================================================================
-" ale (Asynchronous Lint Engine) settings
-" ===================================================================
-
-" Syntax / File Support
-"" Enable JSDoc syntax highlighting
-let g:javascript_plugin_jsdoc = 1
-
-"" Add an error indicator to Ale
-let g:ale_sign_column_always = 1
-
-function! LinterStatus() abort
- let l:counts = ale#statusline#Count(bufnr(''))
-
- let l:all_errors = l:counts.error + l:counts.style_error
- let l:all_non_errors = l:counts.total - l:all_errors
-
- return l:counts.total == 0 ? 'OK' : printf(
- \ '%dW %dE',
- \ all_non_errors,
- \ all_errors
- \)
-endfunction
-
-set statusline=%{LinterStatus()}
-
-nmap <silent> <leader>e <Plug>(ale_next_wrap)
-nmap <silent> <leader>q <Plug>(ale_previous_wrap)
-
-" Ale
-let g:ale_lint_on_enter = 0
-let g:ale_lint_on_text_changed = 'never'
-let g:ale_echo_msg_error_str = 'E'
-let g:ale_echo_msg_warning_str = 'W'
-let g:ale_echo_msg_format = '[%linter%] %s [%severity%]'
-let g:ale_open_list = 1
-let g:ale_keep_list_window_open=0
-let g:ale_set_quickfix=0
-let g:ale_list_window_size = 5
-let g:ale_linters = {'python': ['flake8']}
-let g:ale_sign_error = '✖'
-let g:ale_sign_warning = '⚠'
-let g:ale_fixers = {
- \ '*': ['remove_trailing_lines', 'trim_whitespace'],
- \}
-" \ 'php': ['phpcbf', 'php_cs_fixer', 'remove_trailing_lines', 'trim_whitespace'],
-let g:ale_fix_on_save = 1
-
-" Use system flake8
-let g:ale_python_flake8_executable = '/usr/bin/flake8'
-
-" Append our Neovim virtualenv to the list of venvs ale searches for
-" The search is performed from the buffer directory up, until a name match is
-" found; our Neovim venv lives in ~/.nvim-venv
-let g:ale_virtualenv_dir_names = ['.env', '.venv', 'env', 'virtualenv', 'venv', '.nvim-venv']
-" Explicitly list linters we care about
-let g:ale_linters = {'python': ['flake8', 'pylint']}
-" Only show warnings and errors from pylint
-let g:ale_python_pylint_options = '--disable C,R'
-let g:ale_sign_warning = '→'
-let g:ale_sign_error = '→'
-
-" PHP Support
-let g:ale_php_phpcbf_standard='PSR2'
-let g:ale_php_phpcs_standard='phpcs.xml.dist'
-let g:ale_php_phpmd_ruleset='phpmd.xml'
-
-" vim:set et sw=2:
diff --git a/neovim/.config/nvim/rc.d/20-coc.vim b/neovim/.config/nvim/rc.d/20-coc.vim
new file mode 100644
index 0000000..dfad4a0
--- /dev/null
+++ b/neovim/.config/nvim/rc.d/20-coc.vim
@@ -0,0 +1,57 @@
+" ==================================================
+" COC configuration and mapping
+" ==================================================
+
+" Use `lp` and `ln` for navigate diagnostics
+nmap <silent> <leader>lp <Plug>(coc-diagnostic-prev)
+nmap <silent> <leader>ln <Plug>(coc-diagnostic-next)
+
+" Remap keys for gotos
+nmap <silent> <leader>ld <Plug>(coc-definition)
+nmap <silent> <leader>lt <Plug>(coc-type-definition)
+nmap <silent> <leader>li <Plug>(coc-implementation)
+nmap <silent> <leader>lf <Plug>(coc-references)
+
+" Remap for rename current word
+nmap <leader>lr <Plug>(coc-rename)
+
+" Use K for show documentation in preview window
+nnoremap <silent> K :call <SID>show_documentation()<CR>
+
+function! s:show_documentation()
+ if &filetype == 'vim'
+ execute 'h '.expand('<cword>')
+ else
+ call CocAction('doHover')
+ endif
+endfunction
+
+" Coc extensions
+let g:coc_global_extensions = [
+ \ 'coc-json',
+ \ 'coc-css',
+ \ 'coc-tsserver',
+ \ 'coc-emoji',
+ \ 'coc-html',
+ \ 'coc-ultisnips',
+ \ 'coc-yaml',
+ \ 'coc-pairs',
+ \ 'coc-java',
+ \ 'coc-vimtex'
+ \]
+
+" \ 'coc-highlight',
+" \ 'coc-dictionary',
+" \ 'coc-syntax',
+
+" outliner
+let g:vista_default_executive = 'coc'
+let g:vista#renderer#enable_icon = 0
+" nnoremap <leader>o :Vista!!<CR>
+
+" Coc Pairs
+inoremap <silent><expr> <cr> pumvisible() ? coc#_select_confirm() : "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>"
+autocmd FileType tex let b:coc_pairs = [["$", "$"]]
+autocmd FileType markdown let b:coc_pairs_disabled = ['`']
+
+" vim:set et sw=2:
diff --git a/neovim/.config/nvim/rc.d/20-deoplete.vim b/neovim/.config/nvim/rc.d/20-deoplete.vim
deleted file mode 100644
index 7138bab..0000000
--- a/neovim/.config/nvim/rc.d/20-deoplete.vim
+++ /dev/null
@@ -1,63 +0,0 @@
-" ===================================================================
-" Deoplete
-" ===================================================================
-
-" Autocomplete
-let g:deoplete#sources = {}
-let g:deoplete#sources.php = ['omni', 'phpactor', 'ultisnips', 'buffer']
-let g:deoplete#enable_at_startup = 1
-let g:deoplete#sources#jedi#statement_length = 50
-let g:deoplete#sources#jedi#enable_cache = 1
-let g:deoplete#sources#jedi#show_docstring = 0
-
-" disable autocomplete
-let g:deoplete#disable_auto_complete = 1
-if has("gui_running")
- inoremap <silent><expr><C-Space> deoplete#mappings#manual_complete()
-else
- inoremap <silent><expr><C-@> deoplete#mappings#manual_complete()
-endif
-
-" deoplete + neosnippet + autopairs changes
-let g:AutoPairsMapCR=0
-let g:deoplete#auto_complete_start_length = 1
-let g:deoplete#enable_at_startup = 1
-let g:deoplete#enable_smart_case = 1
-
-"" Deoplete per-autocompleter settings
-""" Clang
-let g:deoplete#sources#clang#libclang_path = '/lib/libclang.so' " '/usr/lib/i386-linux-gnu/libclang-4.0.so.1'
-let g:deoplete#sources#clang#clang_header = '/lib/clang/4.0.0/include' " '/usr/lib/llvm-4.0/lib/clang/4.0.0/include'
-
-""" TernJS
-let g:tern_request_timeout = 1
-" let g:tern_show_signature_in_pum = '0'
-let g:deoplete#sources#ternjs#depths = 1
-let g:deoplete#sources#ternjs#types = 1
-let g:deoplete#sources#ternjs#docs = 1
-let g:tern#command = ["tern"]
-let g:tern#arguments = ["--persistent"]
-
-""" Java
-autocmd FileType java setlocal omnifunc=javacomplete#Complete
-
-""" Omnifunctions
-let g:deoplete#omni#functions = {}
-
-let g:EclimCompletionMethod = 'omnifunc'
-let g:deoplete#omni#functions.java = 'eclim#java#complete#CodeComplete'
-
-let g:deoplete#omni#functions.javascript = [
- \ 'tern#Complete',
- \ 'autocomplete_flow#Complete',
- \ 'javascriptcomplete#CompleteJS'
- \]
-let g:deoplete#omni#functions.css = 'csscomplete#CompleteCSS'
-let g:deoplete#omni#functions.html = [
- \ 'htmlcomplete#CompleteTags',
- \ 'xmlcomplete#CompleteTags'
- \]
-let g:deoplete#omni#functions.xml = 'xmlcomplete#CompleteTags'
-let g:deoplete#omni#functions.perl = 'perlomni#PerlComplete'
-
-" vim:set et sw=2:

View File

@ -1,25 +0,0 @@
se vi+=n~/.cache/vim/viminfo
sy on
se sw=4 ts=8 sts=-1 et nu sc hls title bg=dark swb=useopen
filet plugin indent on
comp gcc
au FileType make setl noet sw=8 sts=0
au FileType yaml setl indk=
packadd! matchit
au Filetype c nn <buffer> <F9> :!gcc "%" -o "%<" -std=c11 -O2 -g
\ -fsanitize=undefined -Wall -Wextra -Wshadow
\ -DJOHNCHEN902=1 <CR>
au Filetype cpp nn <buffer> <F9> :!g++ "%" -o "%<" -std=c++17 -O2 -g
\ -fsanitize=undefined -Wall -Wextra -Wshadow
\ -DJOHNCHEN902=1 <CR>
au Filetype haskell nn <buffer> <F9> :!ghc "%" -o "%<" -O -g
\ -dynamic -no-keep-hi-files -no-keep-o-files
\ -Wall <CR>
au Filetype rust nn <buffer> <F9> :!rustc "%" -o "%<" -O -g
\ -C prefer-dynamic <CR>
au Filetype c,cpp,haskell,rust nn <F5> :!"%:p:r" <CR>
au Filetype c,cpp,haskell,rust nn <F6> :!"%:p:r" < input.txt<CR>

View File

@ -1,44 +0,0 @@
" As recommended by `:help provider`, define a venv just for neovim that has
" the neovim module and some Python linters
let g:python3_host_prog = expand('~/.config/nvim/env/bin/python')
" Enable nocompatible
if has('vim_starting')
" set default encoding to utf-8
" Let Vim use utf-8 internally, because many scripts require this
exe 'set encoding=utf-8'
scriptencoding utf-8
if &compatible
set nocompatible
endif
" python host
if !empty($PYTHON_HOST_PROG)
let g:python_host_prog = $PYTHON_HOST_PROG
endif
if !empty($PYTHON3_HOST_PROG)
let g:python3_host_prog = $PYTHON3_HOST_PROG
endif
endif
" ==================================================
" Allow pre-definitions via ~/.config/nvim/before.vim
" ==================================================
if filereadable(expand("~/.config/nvim/before.vim"))
source ~/.config/nvim/before.vim
endif
" ==================================================
" Source the files ~/.config/nvim/rc.d/
" ==================================================
for f in split(glob('~/.config/nvim/rc.d/*.vim'), '\n')
exe 'source' f
endfor
" ==================================================
" Allow overrides via ~/.config/nvim/after.vim
" ==================================================
if filereadable(expand("~/.config/nvim/after.vim"))
source ~/.config/nvim/after.vim
endif
" vim:set et sw=2:

View File

@ -1,50 +0,0 @@
#!/bin/sh
set -e
# Install nvim
sudo apt remove vim-tiny vim
sudo apt install neovim fzf silversearcher-ag tmux zathura latexmk
# Make config directory for Neovim's init.vim
echo '[*] Preparing Neovim config directory ...'
mkdir -p ~/.config/nvim
# Make nvim_runtime directory
mkdir -p ~/.nvim_runtime
mkdir -p ~/.nvim_runtime/temp_dirs
mkdir -p ~/.nvim_runtime/temp_dirs/swap
mkdir -p ~/.nvim_runtime/temp_dirs/backup
mkdir -p ~/.nvim_runtime/temp_dirs/undodir
mkdir -p ~/.nvim_runtime/temp_dirs/tags
mkdir -p ~/.nvim_runtime/sessions
# Install nvim (and its dependencies: pip3, git), Python 3 and ctags (for tagbar)
echo '[*] App installing Neovim and its dependencies (Python 3 and git), and dependencies for tagbar (exuberant-ctags) ...'
sudo apt update
sudo apt install -y curl neovim python3 python3-pip git exuberant-ctags global #npm
# Install virtualenv to containerize dependencies
echo '[*] Pip installing virtualenv to containerize Neovim dependencies (instead of installing them onto your system) ...'
python3 -m pip install virtualenv
python3 -m virtualenv -p python3 ~/.config/nvim/env
# Install pip modules for Neovim within the virtual environment created
echo '[*] Activating virtualenv and pip installing Neovim (for Python plugin support), libraries for async autocompletion support (jedi, psutil, setproctitle), and library for pep8-style formatting (yapf) ...'
. "${HOME}/.config/nvim/env/bin/activate"
pip3 install neovim pynvim jedi psutil setproctitle yapf
deactivate
# Install vim-plug plugin manager
echo '[*] Downloading vim-plug, the best minimalistic vim plugin manager ...'
curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
# (Optional but recommended) Install a nerd font for icons and a beautiful lightline bar (https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts)
echo "[*] Downloading patch font into ~/.local/share/fonts ..."
curl -fLo ~/.local/share/fonts/Iosevka\ Term\ Nerd\ Font\ Complete.ttf --create-dirs https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Iosevka/Regular/complete/Iosevka%20Term%20Nerd%20Font%20Complete.ttf
# Enter Neovim and install plugins using a temporary init.vim, which avoids warnings about missing colorschemes, functions, etc
echo '[*] Running :PlugInstall within nvim ...'
nvim +PlugInstall +qa
echo "[+] Done, welcome to \\033[1m\\033[92mNeoVim\\033[0m! Try it by running: nvim."

View File

@ -1,24 +0,0 @@
# Setup by linking .vimrc and initializing submodules
./install.sh
./patch_fonts.sh # To be performed once only
# Installing a plugin as a submodule
git submodule add http://github.com/[user]/[plugin] bundle/[plugin-name]
git add .
git commit -m "Installed [plugin] bundle as a submodule."
# Updating bundled submodule plugins
git submodule foreach git pull origin master
# or update each plugin manually
cd bundles/[plugin]
git pull
# Removing a plugin
git submodule deinit -f bundle/[plugin-name]
git rm -rf bundle/[plugin-name]
git add .
git commit -m "Removed [plugin] bundle"
# Pathogen with Submodules Guides
https://gist.github.com/romainl/9970697
http://vimcasts.org/episodes/synchronizing-plugins-with-git-submodules-and-pathogen/

View File

@ -1,42 +0,0 @@
i - Insert Mode
Shift + a - Insert Mode - Append
o - Insert Mode - New Line After
Shift + Up/Down - Scrolling
:wq - Write and Quit
:e [file] - Edit Another File
gg - Goto First Line
G - Goto Last Line
u - Undo
Ctrl + r - Redo
. - Repeat Previous Command
/[word] - Search
n - Search - Next
Shift + n - Search - Previous
/[word], [edit], n, . - Search, modify, next search, repeat for next
:%s/old/new/g - Replace All
:[startline],[endline]s/old/new/g - Replace Between Lines
:%s/^/[word]/g - Append Word to Start of Every Line
:%s/$/[word]/g - Append Word to End of Every Line
Ctrl + w and v - Splitting Window Vertically
Ctrl + w and Shift + s - Splitting Window Horizontally
v - Visual Select
Shift + v - Visual Select - Line
Ctrl + v - Visual Select - Block
Shift + v and [number]> - Tab a Line Multiple Times
d - Delete/Cut
dd - Delete Current Line
d[number]d - Delete Multiple Lines
y - Yank/Copy
p - Paste
gg=G - Fix All Indentations
vi" - Select everything within double quotes
va" - Select everything within and including double quotes
vi"d - Delete everything within double quotes
vi"s - Delete everything within double quotes then go into insert mode

View File

@ -1,37 +0,0 @@
codebase
MySQL
mycli
config
Github
AUR
yay
Ubuntu
Debian
macOS
DSN
Youtube
Golang
RedBull
QBasic
backend
frontend
DevDash
cyclomatic
OOP
YAGNI
API
APIs
SRP
CQRS
JSON
gamification
refactor
YAML
CSS
DevOps
ripgrep
prefrontal
PHP
SEO
blog
screenshot

View File

@ -22,78 +22,44 @@ backend = "glx";
#
#################################
# Avoid using stencil buffer, useful if you dont have a stencil buffer. Might cause incorrect opacity when rendering transparent content
glx-no-stencil = true;
# GLX backend: Copy unmodified regions from front buffer instead of redrawing
# them all. My tests with nvidia-drivers show a 10% decrease in performance
# when the whole screen is modified, but a 20% increase when only 1/4 is. My
# tests on nouveau show terrible slowdown.
# glx-copy-from-front = false;
glx-copy-from-front = false;
# GLX backend: Use MESA_copy_sub_buffer to do partial screen update. My tests
# on nouveau shows a 200% performance boost when only 1/4 of the screen is
# updated. May break VSync and is not available on some drivers. Overrides
# --glx-copy-from-front.
glx-use-copysubbuffermesa = true;
# glx-use-copysubbuffermesa = true;
# GLX backend: Avoid rebinding pixmap on window damage. Probably could improve
# performance on rapid window content changes, but is known to break things on
# some drivers (LLVMpipe). Recommended if it works.
glx-no-rebind-pixmap = true;
# glx-no-rebind-pixmap = true;
# GLX backend: GLX buffer swap method we assume.
use-damage = true
glx-no-stencil = true;
#################################
#
# Other
#
#################################
# Specify refresh rate of the screen.
# If not specified or 0, compton will try detecting this with X RandR extension.
refresh-rate = 120;
# Set VSync method.
vsync = true;
# Enable DBE painting mode, intended to use with VSync to (hopefully) eliminate
# tearing. Reported to have no effect, though.
dbe = true;
# Limit compton to repaint at most once every 1 / refresh_rate second to boost
# performance. This should not be used with --vsync drm/opengl/opengl-oml as
# they essentially does --sw-opti's job already, unless you wish to specify a
# lower refresh rate than the actual value.
sw-opti = false;
# Unredirect all windows if a full-screen opaque window is detected, to maximize
# performance for full-screen windows, like games. Known to cause flickering
# when redirecting/unredirecting windows. paint-on-overlay may make the
# flickering less obvious.
unredir-if-possible = true;
# unredir-if-possible-delay = 0;
# Use WM_TRANSIENT_FOR to group windows, and consider windows in the same group
# focused at the same time.
detect-transient = true;
# Use WM_CLIENT_LEADER to group windows, and consider windows in the same group
# focused at the same time. WM_TRANSIENT_FOR has higher priority if
# --detect-transient is enabled, too.
detect-client-leader = true;
# Try to detect WM windows and mark them as active.
mark-wmwin-focused = true;
# Mark all non-WM but override-redirect windows active (e.g. menus).
mark-ovredir-focused = true;
# Use EWMH _NET_WM_ACTIVE_WINDOW to determine which window is focused instead of
# using FocusIn/Out events. Usually more reliable but depends on a
# EWMH-compliant WM.
use-ewmh-active-win = true;
# Detect rounded corners and treat them as rectangular when
# --shadow-ignore-shaped is on.
detect-rounded-corners = true;
@ -104,11 +70,19 @@ detect-rounded-corners = true;
# xfce4-notifyd is 100% opacity no matter what.
detect-client-opacity = true;
invert-color-include = [ ];
focus-exclude = [
"_NET_WM_NAME@:s = 'rofi'",
"_NET_WM_NAME@:s = 'dmenu'"
];
# Set VSync method.
vsync = true;
# Enable DBE painting mode, intended to use with VSync to (hopefully) eliminate
# tearing. Reported to have no effect, though.
dbe = false;
# Unredirect all windows if a full-screen opaque window is detected, to maximize
# performance for full-screen windows, like games. Known to cause flickering
# when redirecting/unredirecting windows. paint-on-overlay may make the
# flickering less obvious.
unredir-if-possible = true;
unredir-if-possible-delay = 0;
#################################
#
@ -133,25 +107,25 @@ shadow = false;
#shadow-blue = 0.13;
# The shadow exclude options are helpful if you have shadows enabled. Due to the
# way compton draws its shadows, certain applications will have visual glitches
# way picom draws its shadows, certain applications will have visual glitches
# (most applications are fine, only apps that do weird things with xshapes or
# argb are affected). This list includes all the affected apps I found in my
# testing. The "! name~=''" part excludes shadows on any "Unknown" windows, this
# prevents a visual glitch with the XFWM alt tab switcher.
#shadow-exclude = [
# "name = 'Notification'",
shadow-exclude = [
"name = 'Notification'",
# disable shadows for hidden windows:
# "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",
# "_GTK_FRAME_EXTENTS@:c",
"_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",
"_GTK_FRAME_EXTENTS@:c",
# disables shadows on sticky windows:
# "_NET_WM_STATE@:32a *= '_NET_WM_STATE_STICKY'",
"_NET_WM_STATE@:32a *= '_NET_WM_STATE_STICKY'",
# disables shadows on frames:
# "class_g ?= 'i3-frame'",
"class_g ?= 'i3-frame'",
# disable shadows on floating windows:
# "!I3_FLOATING_WINDOW@:c"
#];
"!I3_FLOATING_WINDOW@:c"
];
# Avoid drawing shadow on all shaped windows (see also: --detect-rounded-corners)
#shadow-ignore-shaped = false;
shadow-ignore-shaped = false;
#################################
#
@ -160,38 +134,34 @@ shadow = false;
#################################
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
inactive-opacity = 1;
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
active-opacity = 1;
inactive-opacity = 1.0;
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
frame-opacity = 1;
# frame-opacity = 1;
# Let inactive opacity set by -i override the _NET_WM_OPACITY values of windows.
inactive-opacity-override = false;
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
active-opacity = 1.0;
# Dim inactive windows. (0.0 - 1.0)
inactive-dim = 0.06;
inactive-dim = 0.05;
# Use fixed inactive dim value, instead of adjusting according to window opacity.
inactive-dim-fixed = true;
opacity-rule = [
# "99:class_g = '*'",
# make all hidden windows completely transparent
"0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
];
inactive-dim-fixed = false;
# Blur background of transparent windows. Bad performance with X Render backend.
# GLX backend is preferred.
# blur-background = false;
blur-background = false;
# Blur background of opaque windows with transparent frames as well.
# blur-background-frame = true;
# blur-kern = "7x7box";
blur-kern = "7x7box";
# Do not let blur radius adjust based on window opacity.
# blur-background-fixed = false;
# blur-background-frame = false;
# blur-background-exclude = [
# "class_g = 'i3-frame'",
# "window_type = 'dock'",
# "window_type = 'desktop'",
# "_GTK_FRAME_EXTENTS@:c"
# ];
blur-background-fixed = false;
blur-background-frame = false;
blur-background-exclude = [
"class_g = 'i3-frame'",
"window_type = 'dock'",
"window_type = 'desktop'",
"_GTK_FRAME_EXTENTS@:c"
];
#################################
#
@ -201,18 +171,37 @@ opacity-rule = [
# Fade windows during opacity changes.
fading = false;
# The time between steps in a fade in milliseconds. (default 10).
# fade-delta = 7;
fade-delta = 7;
# Opacity change between steps while fading in. (default 0.028).
# fade-in-step = 0.05;
fade-in-step = 0.05;
# Opacity change between steps while fading out. (default 0.03).
# fade-out-step = 0.05;
fade-out-step = 0.05;
# Prevent fading of windows in/out when opening/closing
# no-fading-openclose = true;
no-fading-openclose = true;
# Specify a list of conditions of windows that should not be faded.
# fade-exclude = [ ];
fade-exclude = [ ];
#################################
#
# Other
#
#################################
# Specify a list of conditions of windows that should always be considered
# focused.
focus-exclude = [ ];
# Use WM_TRANSIENT_FOR to group windows, and consider windows in the same group
# focused at the same time.
detect-transient = true;
# Use WM_CLIENT_LEADER to group windows, and consider windows in the same group
# focused at the same time. WM_TRANSIENT_FOR has higher priority if
# --detect-transient is enabled, too.
detect-client-leader = true;
invert-color-include = [];
#################################
#
@ -220,13 +209,19 @@ fading = false;
#
#################################
# Window type settings
wintypes:
{
tooltip = { fade = true; shadow = false; opacity = 1.0; focus = true; full-shadow = false; };
dock = { shadow = false; };
dnd = { shadow = false; };
utility = { shadow = false; };
dropdown_menu = { shadow = false; };
popup_menu = { shadow = false; };
tooltip =
{
# fade: Fade the particular type of windows.# fade: Fade the particular type of windows.
fade = true;
# shadow: Give those windows shadow
shadow = false;
# opacity: Default opacity for the type of windows.
opacity = 1.0;
# focus: Whether to always consider windows of this type focused.
focus = true;
};
dock = { shadow = false };
dnd = { shadow = false };
};

View File

@ -1,33 +1,3 @@
# There are 3 different types of shells in bash: the login shell, normal shell
# and interactive shell. Login shells read ~/.profile and interactive shells
# read ~/.bashrc; in our setup, /etc/profile sources ~/.bashrc - thus all
# settings made here will also take effect in a login shell.
#
# NOTE: It is recommended to make language settings in ~/.profile rather than
# here, since multilingual X sessions would not work properly if LANG is over-
# ridden in every subshell.
# Some applications read the EDITOR variable to determine your favourite text
# editor.
export EDITOR=$(which nvim)
# set PATH so it includes user's private bin if it exists (as in GUI this will
# not be an interactive login shell)
if [ -d "$HOME/.local/bin" ]
then
PATH="$HOME/.local/bin:$PATH"
fi
# For some news readers it makes sense to specify the NEWSSERVER variable here
#export NEWSSERVER=your.news.server
# If you want to use a Palm device with Linux, uncomment the two lines below.
# For some (older) Palm Pilots, you might need to set a lower baud rate
# e.g. 57600 or 38400; lowest is 9600 (very slow!)
#
#export PILOTPORT=/dev/pilot
#export PILOTRATE=115200
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
@ -38,8 +8,6 @@ case $- in
*) return;;
esac
#[ -z "$PS1" ] && return
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
@ -88,29 +56,8 @@ if [ -n "$force_color_prompt" ]; then
fi
fi
# Make CTRL+S work
stty -ixon
# Workspace is the most frequent directory where I wanna be
alias cd="HOME=~/workspace cd"
cwdSlashAtEnd () {
TITLE="$(dirs +0)"
if [ -z "$1" ] ; then
# no argument, full cwd
TITLE="${TITLE%/}"
else
# one arg, basename only
TITLE="${TITLE##*/}"
fi
echo -n "${TITLE}/"
}
if [ "$color_prompt" = yes ]; then
#PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[$(printf "\x0f")\033[01;34m\]$(cwdSlashAtEnd)\[\033[00m\]$(__git_ps1 " (%s)")$ '
PS1='\[$(printf "\x0f")\033[01;34m\]$(cwdSlashAtEnd)\[\033[00m\]$(__git_ps1 " (%s)")$ '
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
@ -118,13 +65,37 @@ unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm-*|rxvt*|screen*)
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
# Add an "alert" alias for long running commands. Use like so:
# sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
@ -144,14 +115,19 @@ if ! shopt -oq posix; then
. /etc/bash_completion
fi
fi
export PATH=$HOME/.cabal/bin:$PATH
# VIM is my default text editor
export EDITOR=$(which nvim)
# {{START_NEOVIM_STUDIO_TOKEN}}
if [ -z "${NEOVIM_STUDIO_PROFILE_SOURCED}" ] && [ -e "/home/xellos/.neovim-studio/neovim_studio_profile" ]; then
source "/home/xellos/.neovim-studio/neovim_studio_profile"
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/xellos/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/xellos/anaconda3/etc/profile.d/conda.sh" ]; then
. "/home/xellos/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/home/xellos/anaconda3/bin:$PATH"
fi
fi
# {{END_NEOVIM_STUDIO_TOKEN}}
unset __conda_setup
# <<< conda initialize <<<

View File

@ -26,7 +26,7 @@ setopt PROMPT_SUBST # expand prompt sequences
#
WORDCHARS="${WORDCHARS:s#/#}"
WORDCHARS="${WORDCHARS:s#.#}"
export EDITOR=$(which nvim)
export EDITOR=$(which vim)
##############################################################
#key binding stuff to get the right keys to work
# key bindings

View File

@ -8,14 +8,6 @@
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running zsh
if [ -n "$ZSH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.zshrc" ]; then
. "$HOME/.zshrc"
fi
fi
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
@ -24,30 +16,12 @@ if [ -n "$BASH_VERSION" ]; then
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi
export PATH="$HOME/.cargo/bin:$PATH"
# Most applications support several languages for their output.
# To make use of this feature, simply uncomment one of the lines below or
# add your own one (see /usr/share/locale/locale.alias for more codes)
# This overwrites the system default set in /etc/sysconfig/language
# in the variable RC_LANG.
#
#export LANG=de_DE.UTF-8 # uncomment this line for German output
#export LANG=fr_FR.UTF-8 # uncomment this line for French output
#export LANG=es_ES.UTF-8 # uncomment this line for Spanish output
# Some people don't like fortune. If you uncomment the following lines,
# you will have a fortune each time you log in ;-)
#if [ -x /usr/bin/fortune ] ; then
# echo
# /usr/bin/fortune
# echo
#fi

View File

@ -1,3 +1,4 @@
alias nvim='vim'
# Pretty csv viewer
function pretty_csv {
column -t -s, -n "$@" | less -F -S -X -K

View File

@ -78,3 +78,19 @@ ZSH_THEME_GIT_PROMPT_CLEAN=""
PROMPT='%{%f%k%b%}
%{%B%F{green}%}%n%{%B%F{blue}%}@%{%B%F{cyan}%}%m%{%B%F{green}%} %{%b%F{yellow}%}%~%{%B%F{green}%}$(git_prompt_info)%E %{%}%{$fg_bold[red]%}%(?..%?)%{%f%b%}%{%f%k%b%}
$(_prompt_char)%{%} %#%{%f%k%b%} '
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/xellos/anaconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/xellos/anaconda3/etc/profile.d/conda.sh" ]; then
. "/home/xellos/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/home/xellos/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<

View File

@ -1,7 +1,7 @@
[Settings]
gtk-application-prefer-dark-theme=true
gtk-button-images=1
gtk-cursor-theme-name=Adwaita
gtk-cursor-theme-name=Hackneyed
gtk-cursor-theme-size=0
gtk-enable-event-sounds=0
gtk-enable-input-feedback-sounds=0
@ -11,7 +11,3 @@ gtk-menu-images=1
gtk-theme-name=Numix Darker
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-toolbar-style=GTK_TOOLBAR_ICONS
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintfull
gtk-xft-rgba=none

View File

@ -0,0 +1 @@
/home/xellos/.config/xfce4/desktop/icons.screen0-1904x1037.rc

View File

@ -0,0 +1,2 @@
auto-online=false

View File

@ -0,0 +1,15 @@
[Desktop Entry]
Version=1.0
Type=Application
Exec=exo-open --launch TerminalEmulator
Icon=org.xfce.terminalemulator
StartupNotify=true
Terminal=false
Categories=Utility;X-XFCE;X-Xfce-Toplevel;
OnlyShowIn=XFCE;
X-AppStream-Ignore=True
Name=Terminal Emulator
Name[en_GB]=Terminal Emulator
Comment=Use the command line
Comment[en_GB]=Use the command line
X-XFCE-Source=file:///usr/share/applications/xfce4-terminal-emulator.desktop

View File

@ -0,0 +1,16 @@
[Desktop Entry]
Version=1.0
Type=Application
Exec=exo-open --launch FileManager %u
Icon=org.xfce.filemanager
StartupNotify=true
Terminal=false
Categories=Utility;X-XFCE;X-Xfce-Toplevel;
OnlyShowIn=XFCE;
X-XFCE-MimeType=inode/directory;x-scheme-handler/trash;
X-AppStream-Ignore=True
Name=File Manager
Name[en_GB]=File Manager
Comment=Browse the file system
Comment[en_GB]=Browse the file system
X-XFCE-Source=file:///usr/share/applications/xfce4-file-manager.desktop

View File

@ -0,0 +1,16 @@
[Desktop Entry]
Version=1.0
Type=Application
Exec=exo-open --launch WebBrowser %u
Icon=org.xfce.webbrowser
StartupNotify=true
Terminal=false
Categories=Network;X-XFCE;X-Xfce-Toplevel;
OnlyShowIn=XFCE;
X-XFCE-MimeType=x-scheme-handler/http;x-scheme-handler/https;
X-AppStream-Ignore=True
Name=Web Browser
Name[en_GB]=Web Browser
Comment=Browse the web
Comment[en_GB]=Browse the web
X-XFCE-Source=file:///usr/share/applications/xfce4-web-browser.desktop

View File

@ -0,0 +1,14 @@
[Desktop Entry]
Version=1.0
Exec=xfce4-appfinder
Icon=org.xfce.appfinder
StartupNotify=true
Terminal=false
Type=Application
Categories=Utility;X-XFCE;
Name=Application Finder
Name[en_GB]=Application Finder
Comment=Find and launch applications installed on your system
Comment[en_GB]=Find and launch applications installed on your system
Keywords=program;applications;bookmarks;
X-XFCE-Source=file:///usr/share/applications/xfce4-appfinder.desktop

View File

@ -1,7 +1,7 @@
gtk-theme-name="Numix Darker"
gtk-icon-theme-name="Numix"
gtk-font-name="Hack 10"
gtk-cursor-theme-name="Adwaita"
gtk-cursor-theme-name="Hackneyed"
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_ICONS
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
@ -9,7 +9,3 @@ gtk-button-images=1
gtk-menu-images=1
gtk-enable-event-sounds=0
gtk-enable-input-feedback-sounds=0
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle="hintfull"
gtk-xft-rgba="none"

2812
vim/.vim/autoload/plug.vim Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,9 @@
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Sections:
" -> Settings (01-settings)
" -> Theme (02-theme)
" -> Keymap (10-keymap-general, 11-keymap-rtl)
" -> File type specific (31-file-type.vim)
"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

27
vim/.vim/install.sh Executable file
View File

@ -0,0 +1,27 @@
#!/bin/sh
set -e
# Install nvim
sudo apt remove vim-tiny
sudo apt install -y vim fzf silversearcher-ag tmux zathura latexmk git curl
# Install ctags (for tagbar)
echo '[*] App installing dependencies for tagbar (exuberant-ctags) ...'
sudo apt update
sudo apt install -y exuberant-ctags global
# Install vim-plug plugin manager
echo '[*] Downloading vim-plug, the best minimalistic vim plugin manager ...'
curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
# (Optional but recommended) Install a nerd font for icons and a beautiful lightline bar (https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts)
echo "[*] Downloading patch font into ~/.local/share/fonts ..."
curl -fLo ~/.local/share/fonts/Iosevka\ Term\ Nerd\ Font\ Complete.ttf --create-dirs https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Iosevka/Regular/complete/Iosevka%20Term%20Nerd%20Font%20Complete.ttf
# Enter vim and install plugins using a temporary init.vim, which avoids warnings about missing colorschemes, functions, etc
echo '[*] Running :PlugInstall within nvim ...'
vim +PlugInstall +qa
echo "[+] Done, welcome to \\033[1m\\033[92mVim\\033[0m! Try it by running: vim."

View File

@ -64,8 +64,6 @@ Plug 'yangmillstheory/vim-snipe' " replace f F t T to target easily the motion
" undo tree
Plug 'simnalamburt/vim-mundo'
" registers
Plug 'bfredl/nvim-miniyank'
" close the current buffer
Plug 'moll/vim-bbye'

View File

@ -161,9 +161,6 @@ set display+=lastline
set listchars=tab:>-,trail:-
set list
" Live substitution
set inccommand=split
if has("nvim")
set laststatus=1
endif
@ -204,9 +201,6 @@ set foldlevelstart=0 " Start with all folds closed
" Set foldtext
set foldtext=general#FoldText()
" Show the substitution LIVE
set inccommand=nosplit
" for vertical pane in git diff tool
set diffopt+=vertical

View File

@ -63,8 +63,8 @@ endif
highlight Pmenu guibg=white guifg=black gui=bold
highlight Comment gui=bold
highlight Normal gui=none
highlight NonText guibg=none
highlight Normal gui=NONE
highlight NonText guibg=NONE
" Transparent Background (For i3 and compton)
highlight Normal guibg=NONE ctermbg=NONE

8
vim/.vimrc Normal file
View File

@ -0,0 +1,8 @@
" ==================================================
" Source the files ~/.vim/rc.d/
" ==================================================
for f in split(glob('~/.vim/rc.d/*.vim'), '\n')
exe 'source' f
endfor
" vim:set et sw=2:

View File

@ -17,9 +17,11 @@
*background: #191c26
*foreground: #d0cec3
*cursorColor: #fdc253
Xft.autohint: 0
Xft.antialias: 1
Xft.hinting: 1
Xft.hintstyle: hintfull
Xft.hinting: true
Xft.hintstyle: hintslight
Xft.rgba: rgb
Xcursor.theme: LHackneyed
Xcursor.size: 32
Xft.lcdfilter: lcddefault
Xcursor.theme: Hackneyed (left-handed, scalable)
Xft.dpi: 158

1
xorg-server/.xinitrc Executable file → Normal file
View File

@ -1,3 +1,4 @@
xrdb -merge $HOME/.Xresources
if [ -s ~/.Xmodmap ]
then
xmodmap ~/.Xmodmap

View File

@ -1,3 +1,3 @@
# im-config(8) generated on Sat, 29 Jul 2017 12:06:06 +0100
run_im xim
# im-config signature: 9ab127ccc1eb0fd965ef1f92c4a49771 -
# im-config(8) generated on Mon, 12 Apr 2021 20:59:34 +0100
run_im default
# im-config signature: 9ebf1a71cb6534df6a6f3c2ac7228ea2 -