Add neovim config; Remove things
This commit is contained in:
163
bin/o
163
bin/o
@ -1,163 +0,0 @@
|
|||||||
#!/usr/bin/bash
|
|
||||||
# set -o nounset
|
|
||||||
# set -e
|
|
||||||
|
|
||||||
declare -A sessions=(
|
|
||||||
["misc"]="~/"
|
|
||||||
["cloud"]="~/projects/"
|
|
||||||
["edge"]="~/projects/fabmetrics"
|
|
||||||
# ["qiv"]="~/dev/projects/qiv/code/java/server"
|
|
||||||
# ["buchi"]="~/dev/projects/P17.02/Code/"
|
|
||||||
# ["bosch"]="~/dev/projects/bosch/Code/port/fredwick/source"
|
|
||||||
)
|
|
||||||
|
|
||||||
vimSessionsDir="~/.config/nvim/obsessions"
|
|
||||||
|
|
||||||
function setup() {
|
|
||||||
local session attach
|
|
||||||
session=$1
|
|
||||||
attach=$2
|
|
||||||
|
|
||||||
if tmux has-session -t $1>/dev/null 2>/dev/null; then
|
|
||||||
if [[ $attach == true ]]; then
|
|
||||||
attachSession $session
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
makeSession $session
|
|
||||||
if [[ $attach == true ]]; then
|
|
||||||
attachSession $session
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function makeSession() {
|
|
||||||
local session dir oldTMUX
|
|
||||||
session=$1
|
|
||||||
dir="${sessions[$session]}"
|
|
||||||
|
|
||||||
if [[ $insideSession == true ]]; then
|
|
||||||
oldTMUX="$TMUX"
|
|
||||||
TMUX=""
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "$session" in
|
|
||||||
misc)
|
|
||||||
tmux new-session -s $session -n bash -d >/dev/null 2>/dev/null
|
|
||||||
tmux send-keys -t $session:0 "cd $dir" C-m
|
|
||||||
tmux send-keys -t $session:0 'clear' C-m
|
|
||||||
tmux selectp -t $session:0
|
|
||||||
tmux splitw -h -p 50
|
|
||||||
tmux selectp -l
|
|
||||||
|
|
||||||
tmux new-window -t $session:1 -n bash
|
|
||||||
tmux send-keys -t $session:1 "cd $dir" C-m
|
|
||||||
tmux send-keys -t $session:1 'clear' C-m
|
|
||||||
;;
|
|
||||||
|
|
||||||
edge)
|
|
||||||
tmux new-session -s $session -n proc -d >/dev/null 2>/dev/null
|
|
||||||
tmux send-keys -t $session:0 "cd $dir/code/processor" C-m
|
|
||||||
tmux send-keys -t $session:0 'clear' C-m
|
|
||||||
tmux send-keys -t $session:0 'git st' C-m
|
|
||||||
|
|
||||||
tmux new-window -t $session:1 -n ansible
|
|
||||||
tmux send-keys -t $session:1 "cd $dir/code/edge-device-setup/ansible" C-m
|
|
||||||
tmux send-keys -t $session:1 'clear' C-m
|
|
||||||
|
|
||||||
tmux new-window -t $session:2 -n edge
|
|
||||||
tmux send-keys -t $session:2 "cd $dir" C-m
|
|
||||||
tmux send-keys -t $session:2 'clear' C-m
|
|
||||||
|
|
||||||
tmux new-window -t $session:3 -n deploy
|
|
||||||
tmux send-keys -t $session:3 "cd $dir/files/deployment" C-m
|
|
||||||
tmux send-keys -t $session:3 'clear' C-m
|
|
||||||
|
|
||||||
tmux new-window -t $session:4 -n shell
|
|
||||||
tmux send-keys -t $session:4 "cd $dir" C-m
|
|
||||||
tmux send-keys -t $session:4 'clear' C-m
|
|
||||||
;;
|
|
||||||
|
|
||||||
cloud)
|
|
||||||
tmux new-session -s $session -n infra -d >/dev/null 2>/dev/null
|
|
||||||
tmux send-keys -t $session:0 "cd $dir/cloudExo/repos/infrastructure" C-m
|
|
||||||
tmux send-keys -t $session:0 'clear' C-m
|
|
||||||
|
|
||||||
tmux new-window -t $session:1 -n plat
|
|
||||||
tmux send-keys -t $session:1 "cd $dir/cloudExo/repos/platform" C-m
|
|
||||||
tmux send-keys -t $session:1 'clear' C-m
|
|
||||||
|
|
||||||
tmux new-window -t $session:2 -n helm
|
|
||||||
tmux send-keys -t $session:2 "cd $dir/cloudExo/repos/infrastructure/charts" C-m
|
|
||||||
tmux send-keys -t $session:2 'clear' C-m
|
|
||||||
|
|
||||||
tmux new-window -t $session:3 -n files
|
|
||||||
tmux send-keys -t $session:3 "cd $dir/cloudExo/files/" C-m
|
|
||||||
tmux send-keys -t $session:3 'clear' C-m
|
|
||||||
|
|
||||||
tmux new-window -t $session:4 -n shell
|
|
||||||
tmux send-keys -t $session:4 "cd $dir/cloudExo" C-m
|
|
||||||
tmux send-keys -t $session:4 'clear' C-m
|
|
||||||
|
|
||||||
tmux new-window -t $session:5 -n azCode
|
|
||||||
tmux send-keys -t $session:5 "cd $dir/cloudAz/code/" C-m
|
|
||||||
tmux send-keys -t $session:5 'clear' C-m
|
|
||||||
;;
|
|
||||||
|
|
||||||
esac
|
|
||||||
tmux select-window -t $session:0
|
|
||||||
|
|
||||||
if [[ $insideSession == true ]]; then
|
|
||||||
TMUX="$oldTMUX"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function attachSession() {
|
|
||||||
if [[ $insideSession == true ]]; then
|
|
||||||
tmux switch-client -t $1
|
|
||||||
else
|
|
||||||
tmux attach -t $1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if [ $# -gt 0 ]; then
|
|
||||||
arg=$1
|
|
||||||
|
|
||||||
if [[ ! -z ${TMUX:-} ]]; then
|
|
||||||
insideSession=true
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "$arg" in
|
|
||||||
all)
|
|
||||||
for session in "${!sessions[@]}"; do
|
|
||||||
setup $session false
|
|
||||||
done
|
|
||||||
attachSession misc
|
|
||||||
;;
|
|
||||||
|
|
||||||
kill)
|
|
||||||
if [ $# -eq 2 ]; then
|
|
||||||
tmux kill-session -t $2
|
|
||||||
else
|
|
||||||
tmux kill-server && echo "killed all sessions"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
params)
|
|
||||||
parameters="${!sessions[@]} all kill"
|
|
||||||
echo "$parameters"
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
if [ ! -z "${sessions[$arg]:-}" ]; then
|
|
||||||
setup $arg true
|
|
||||||
else
|
|
||||||
echo "no such session"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
else
|
|
||||||
setup misc true
|
|
||||||
fi
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
source ~/.bashrc
|
|
||||||
. "$HOME/.cargo/env"
|
|
||||||
192
config/bashrc
192
config/bashrc
@ -1,192 +0,0 @@
|
|||||||
# If not running interactively, don't do anything
|
|
||||||
[ -z "$PS1" ] && return
|
|
||||||
|
|
||||||
# check the window size after each command and, if necessary,
|
|
||||||
# update the values of LINES and COLUMNS.
|
|
||||||
shopt -s checkwinsize
|
|
||||||
|
|
||||||
export PATH="$HOME/bin:/usr/local/bin:$PATH"
|
|
||||||
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
|
|
||||||
|
|
||||||
export EDITOR=nvim
|
|
||||||
|
|
||||||
# Prevent file overwrite on stdout redirection
|
|
||||||
# Use `>|` to force redirection to an existing file
|
|
||||||
set -o noclobber
|
|
||||||
|
|
||||||
# Automatically trim long paths in the prompt (requires Bash 4.x)
|
|
||||||
PROMPT_DIRTRIM=2
|
|
||||||
|
|
||||||
# Enable history expansion with space
|
|
||||||
# E.g. typing !!<space> will replace the !! with your last command
|
|
||||||
bind Space:magic-space
|
|
||||||
|
|
||||||
# Turn on recursive globbing (enables ** to recurse all directories)
|
|
||||||
shopt -s globstar 2> /dev/null
|
|
||||||
|
|
||||||
## SMARTER TAB-COMPLETION (Readline bindings) ##
|
|
||||||
|
|
||||||
# Perform file completion in a case insensitive fashion
|
|
||||||
bind "set completion-ignore-case on"
|
|
||||||
|
|
||||||
# Treat hyphens and underscores as equivalent
|
|
||||||
bind "set completion-map-case on"
|
|
||||||
|
|
||||||
# Display matches for ambiguous patterns at first tab press
|
|
||||||
bind "set show-all-if-ambiguous on"
|
|
||||||
|
|
||||||
## SANE HISTORY DEFAULTS ##
|
|
||||||
|
|
||||||
# Append to the history file, don't overwrite it
|
|
||||||
shopt -s histappend
|
|
||||||
|
|
||||||
# Save multi-line commands as one command
|
|
||||||
shopt -s cmdhist
|
|
||||||
|
|
||||||
# Record each line as it gets issued
|
|
||||||
# PROMPT_COMMAND='history -a'
|
|
||||||
PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND$'\n'}history -a; history -c; history -r"
|
|
||||||
|
|
||||||
# Huge history. Doesn't appear to slow things down, so why not?
|
|
||||||
HISTSIZE=500000
|
|
||||||
HISTFILESIZE=100000
|
|
||||||
|
|
||||||
# Avoid duplicate entries
|
|
||||||
HISTCONTROL="erasedups:ignoreboth"
|
|
||||||
|
|
||||||
# Don't record some commands
|
|
||||||
export HISTIGNORE="&:[ ]*:exit:ls:bg:fg:history:clear"
|
|
||||||
|
|
||||||
# Useful timestamp format
|
|
||||||
HISTTIMEFORMAT='%F %T '
|
|
||||||
|
|
||||||
# Enable incremental history search with up/down arrows (also Readline goodness)
|
|
||||||
# Learn more about this here: http://codeinthehole.com/writing/the-most-important-command-line-tip-incremental-history-searching-with-inputrc/
|
|
||||||
bind '"\e[A": history-search-backward'
|
|
||||||
bind '"\e[B": history-search-forward'
|
|
||||||
bind '"\e[C": forward-char'
|
|
||||||
bind '"\e[D": backward-char'
|
|
||||||
|
|
||||||
## BETTER DIRECTORY NAVIGATION ##
|
|
||||||
|
|
||||||
# Prepend cd to directory names automatically
|
|
||||||
shopt -s autocd 2> /dev/null
|
|
||||||
# Correct spelling errors during tab-completion
|
|
||||||
shopt -s dirspell 2> /dev/null
|
|
||||||
# Correct spelling errors in arguments supplied to cd
|
|
||||||
shopt -s cdspell 2> /dev/null
|
|
||||||
|
|
||||||
# This defines where cd looks for targets
|
|
||||||
# Add the directories you want to have fast access to, separated by colon
|
|
||||||
# Ex: CDPATH=".:~:~/projects" will look for targets in the current working directory, in home and in the ~/projects folder
|
|
||||||
CDPATH="."
|
|
||||||
|
|
||||||
# This allows you to bookmark your favorite places across the file system
|
|
||||||
# Define a variable containing a path and you will be able to cd into it regardless of the directory you're in
|
|
||||||
shopt -s cdable_vars
|
|
||||||
|
|
||||||
|
|
||||||
platform=$(uname)
|
|
||||||
if [[ $platform == "Linux" ]]; then
|
|
||||||
|
|
||||||
TERM=xterm-256color
|
|
||||||
# make less more friendly for non-text input files, see lesspipe(1)
|
|
||||||
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
|
|
||||||
|
|
||||||
# set variable identifying the chroot you work in (used in the prompt below)
|
|
||||||
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
|
|
||||||
debian_chroot=$(cat /etc/debian_chroot)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# set a fancy prompt (non-color, unless we know we "want" color)
|
|
||||||
case "$TERM" in
|
|
||||||
xterm-color) color_prompt=yes;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# uncomment for a colored prompt, if the terminal has the capability; turned
|
|
||||||
# off by default to not distract the user: the focus in a terminal window
|
|
||||||
# should be on the output of commands, not on the prompt
|
|
||||||
#force_color_prompt=yes
|
|
||||||
|
|
||||||
if [ -n "$force_color_prompt" ]; then
|
|
||||||
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
|
|
||||||
# We have color support; assume it's compliant with Ecma-48
|
|
||||||
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
|
|
||||||
# a case would tend to support setf rather than setaf.)
|
|
||||||
color_prompt=yes
|
|
||||||
else
|
|
||||||
color_prompt=
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$color_prompt" == yes ]]; then
|
|
||||||
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
|
|
||||||
unset color_prompt force_color_prompt
|
|
||||||
|
|
||||||
# If this is an xterm set the title to user@host:dir
|
|
||||||
case "$TERM" in
|
|
||||||
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 -GFh'
|
|
||||||
#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
|
|
||||||
|
|
||||||
# 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$//'\'')"'
|
|
||||||
|
|
||||||
# enable programmable completion features (you don't need to enable
|
|
||||||
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
|
|
||||||
# sources /etc/bash.bashrc).
|
|
||||||
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
|
|
||||||
. /etc/bash_completion
|
|
||||||
fi
|
|
||||||
|
|
||||||
# xcape
|
|
||||||
|
|
||||||
#~/git/xcape/xcape -e 'Control_L=Escape'
|
|
||||||
|
|
||||||
# add Matlab path
|
|
||||||
# export PATH=$PATH:/usr/local/MATLAB/R2015b/bin
|
|
||||||
export PATH=/usr/local/MATLAB/R2015b/bin:/usr/local/MATLAB/R2015b/toolbox/local:$PATH
|
|
||||||
|
|
||||||
elif [[ $platform == "Darwin" ]]; then
|
|
||||||
PS1="\u@\h:\[\033[0;34m\]\w\[\033[0m\]$ "
|
|
||||||
|
|
||||||
if [ -f $(brew --prefix)/etc/bash_completion ]; then
|
|
||||||
. $(brew --prefix)/etc/bash_completion
|
|
||||||
fi
|
|
||||||
|
|
||||||
alias ls="ls -CGFh"
|
|
||||||
fi
|
|
||||||
|
|
||||||
LESS="-im"
|
|
||||||
export LESS
|
|
||||||
|
|
||||||
alias la="ls -A"
|
|
||||||
alias ll="ls -lha"
|
|
||||||
alias vim="nvim"
|
|
||||||
|
|
||||||
source ~/bin/autocomplete.sh
|
|
||||||
# alias vims="vim -c \"call feedkeys(':source ~/.vim/obsessions/')\""
|
|
||||||
|
|
||||||
[ -f ~/.fzf.bash ] && source ~/.fzf.bash
|
|
||||||
. "$HOME/.cargo/env"
|
|
||||||
|
|
||||||
export OPENAI_API_KEY=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
|
|
||||||
106
config/emacs
106
config/emacs
@ -1,106 +0,0 @@
|
|||||||
(require 'package)
|
|
||||||
|
|
||||||
(add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/"))
|
|
||||||
(add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/"))
|
|
||||||
(add-to-list 'package-archives '("melpa-stable" . "http://stable.melpa.org/packages/"))
|
|
||||||
|
|
||||||
(setq package-enable-at-startup nil)
|
|
||||||
(package-initialize)
|
|
||||||
|
|
||||||
(setq make-backup-files nil)
|
|
||||||
|
|
||||||
; ORG MODE
|
|
||||||
(global-set-key "\C-cl" 'org-store-link)
|
|
||||||
(global-set-key "\C-ca" 'org-agenda)
|
|
||||||
(global-set-key "\C-cc" 'org-capture)
|
|
||||||
(global-set-key "\C-cb" 'org-iswitchb)
|
|
||||||
|
|
||||||
(setq org-hide-leading-stars t)
|
|
||||||
(setq org-log-done 'time)
|
|
||||||
(setq org-todo-keyword-faces
|
|
||||||
'(("WORKING" . "orange")))
|
|
||||||
(setq org-todo-keywords
|
|
||||||
'((sequence "TODO" "WORKING" "|" "DONE")))
|
|
||||||
(setq org-tag-alist '(("research" . ?r)
|
|
||||||
("code" . ?c)
|
|
||||||
("write" . ?w)
|
|
||||||
("kom" . ?k)
|
|
||||||
("mail" . ?m)
|
|
||||||
("call" . ?t)))
|
|
||||||
|
|
||||||
; (setq org-tag-alist '((:startgrouptag)
|
|
||||||
; ("activity")
|
|
||||||
; (:grouptags)
|
|
||||||
; ("research" . ?r)
|
|
||||||
; ("code" . ?c)
|
|
||||||
; ("write" . ?w)
|
|
||||||
; (:endgrouptag)
|
|
||||||
; (:startgrouptag)
|
|
||||||
; ("kom" ?k)
|
|
||||||
; (:grouptags)
|
|
||||||
; ("mail" . ?m)
|
|
||||||
; ("call" . ?t)
|
|
||||||
; (:endgrouptag)))
|
|
||||||
|
|
||||||
(require 'evil)
|
|
||||||
(evil-mode t)
|
|
||||||
|
|
||||||
;; esc quits
|
|
||||||
(defun minibuffer-keyboard-quit ()
|
|
||||||
"Abort recursive edit.
|
|
||||||
In Delete Selection mode, if the mark is active, just deactivate it;
|
|
||||||
then it takes a second \\[keyboard-quit] to abort the minibuffer."
|
|
||||||
(interactive)
|
|
||||||
(if (and delete-selection-mode transient-mark-mode mark-active)
|
|
||||||
(setq deactivate-mark t)
|
|
||||||
(when (get-buffer "*Completions*") (delete-windows-on "*Completions*"))
|
|
||||||
(abort-recursive-edit)))
|
|
||||||
(define-key evil-normal-state-map [escape] 'keyboard-quit)
|
|
||||||
(define-key evil-visual-state-map [escape] 'keyboard-quit)
|
|
||||||
(define-key minibuffer-local-map [escape] 'minibuffer-keyboard-quit)
|
|
||||||
(define-key minibuffer-local-ns-map [escape] 'minibuffer-keyboard-quit)
|
|
||||||
(define-key minibuffer-local-completion-map [escape] 'minibuffer-keyboard-quit)
|
|
||||||
(define-key minibuffer-local-must-match-map [escape] 'minibuffer-keyboard-quit)
|
|
||||||
(define-key minibuffer-local-isearch-map [escape] 'minibuffer-keyboard-quit)
|
|
||||||
(global-set-key [escape] 'evil-exit-emacs-state)
|
|
||||||
|
|
||||||
(define-key evil-normal-state-map (kbd "<return>") 'org-open-at-point)
|
|
||||||
;; helm settings (TAB in helm window for actions over selected items,
|
|
||||||
;; C-SPC to select items)
|
|
||||||
; (require 'helm-config)
|
|
||||||
; (require 'helm-misc)
|
|
||||||
; (require 'helm-projectile)
|
|
||||||
; (require 'helm-locate)
|
|
||||||
; (setq helm-quick-update t)
|
|
||||||
; (setq helm-bookmark-show-location t)
|
|
||||||
; (setq helm-buffers-fuzzy-matching t)
|
|
||||||
|
|
||||||
; (after 'projectile
|
|
||||||
; (package 'helm-projectile))
|
|
||||||
; (global-set-key (kbd "M-x") 'helm-M-x)
|
|
||||||
|
|
||||||
; (defun helm-my-buffers ()
|
|
||||||
; (interactive)
|
|
||||||
; (let ((helm-ff-transformer-show-only-basename nil))
|
|
||||||
; (helm-other-buffer '(helm-c-source-buffers-list
|
|
||||||
; helm-c-source-elscreen
|
|
||||||
; helm-c-source-projectile-files-list
|
|
||||||
; helm-c-source-ctags
|
|
||||||
; helm-c-source-recentf
|
|
||||||
; helm-c-source-locate)
|
|
||||||
; "*helm-my-buffers*")))
|
|
||||||
(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.
|
|
||||||
'(inhibit-startup-screen t)
|
|
||||||
'(org-agenda-files
|
|
||||||
(quote
|
|
||||||
("~/arbeit/org/entropie.org" "~/arbeit/org/particleFlow.org" "~/arbeit/org/seminar.org" "~/arbeit/org/ideen.org"))))
|
|
||||||
(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 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
@ -1 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
@ -1 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
case "$1" in
|
|
||||||
rebase) exec .git/hooks/post-merge ;;
|
|
||||||
esac
|
|
||||||
@ -1,22 +0,0 @@
|
|||||||
# mac
|
|
||||||
.DS_Store
|
|
||||||
|
|
||||||
# c++
|
|
||||||
*.o
|
|
||||||
*.d
|
|
||||||
*.pyc
|
|
||||||
|
|
||||||
# tex
|
|
||||||
*.pdf
|
|
||||||
*.log
|
|
||||||
*.aux
|
|
||||||
*.fls
|
|
||||||
*.fdb_latexmk
|
|
||||||
*.toc
|
|
||||||
*.loa
|
|
||||||
*.bbl
|
|
||||||
*.blg
|
|
||||||
*.rev
|
|
||||||
*.tdo
|
|
||||||
*.xmp
|
|
||||||
*.out
|
|
||||||
@ -1,34 +0,0 @@
|
|||||||
[color]
|
|
||||||
ui = auto
|
|
||||||
status = auto
|
|
||||||
branch = auto
|
|
||||||
[core]
|
|
||||||
editor = nvim
|
|
||||||
[merge]
|
|
||||||
tool = nvimdiff
|
|
||||||
[mergetool "nvimdiff"]
|
|
||||||
cmd = nvim -d $LOCAL $MERGED $BASE $REMOTE -c 'wincmd w' -c 'wincmd J'
|
|
||||||
[diff]
|
|
||||||
tool = nvimdiff
|
|
||||||
[difftool]
|
|
||||||
prompt = false
|
|
||||||
[difftool "nvimdiff"]
|
|
||||||
cmd = "nvim -d -u ~/.config/nvim/init.vim \"$LOCAL\" \"$REMOTE\""
|
|
||||||
[user]
|
|
||||||
name = Martin Pander
|
|
||||||
email = m@p.de
|
|
||||||
[alias]
|
|
||||||
st = status
|
|
||||||
ci = commit
|
|
||||||
co = checkout
|
|
||||||
br = branch
|
|
||||||
pl = pull
|
|
||||||
ps = push
|
|
||||||
mno = merge --no-ff
|
|
||||||
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%C(bold blue)<%an>%Creset' --abbrev-commit
|
|
||||||
[push]
|
|
||||||
default = matching
|
|
||||||
[init]
|
|
||||||
templatedir = ~/.git_template
|
|
||||||
[credential]
|
|
||||||
helper = store
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
set editing-mode vi
|
|
||||||
set keymap vi-command
|
|
||||||
|
|
||||||
"\e[A": history-search-backward
|
|
||||||
"\e[B": history-search-forward
|
|
||||||
"\e[C": forward-char
|
|
||||||
"\e[D": backward-char
|
|
||||||
15
config/setup
15
config/setup
@ -1,15 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
||||||
|
|
||||||
for dotfiles in $SCRIPTDIR/*; do
|
|
||||||
dotfile=${dotfiles##*/}
|
|
||||||
if [[ $dotfile != "setup" ]]; then
|
|
||||||
if [[ ! -a $HOME/.$dotfile ]]; then
|
|
||||||
ln -s $SCRIPTDIR/$dotfile $HOME/.$dotfile
|
|
||||||
echo $dotfile "symlinked to" $HOME/.$dotfile
|
|
||||||
else
|
|
||||||
echo "already exists:" $HOME/.$dotfile
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
@ -1,73 +0,0 @@
|
|||||||
set -g default-terminal "screen-256color"
|
|
||||||
|
|
||||||
# set -g utf8
|
|
||||||
# setw -g utf8 on
|
|
||||||
# set -g status-utf8 on
|
|
||||||
|
|
||||||
set -g mouse on
|
|
||||||
# set -g mode-mouse on
|
|
||||||
#setw -g mouse-select-window on
|
|
||||||
#setw -g mouse-select-pane on
|
|
||||||
|
|
||||||
set -s escape-time 0
|
|
||||||
set -g display-time 1500
|
|
||||||
|
|
||||||
#set-option -g default-shell /bin/zsh
|
|
||||||
|
|
||||||
set -g allow-rename off
|
|
||||||
|
|
||||||
#######################################
|
|
||||||
# key bindings
|
|
||||||
#######################################
|
|
||||||
set -g prefix C-a
|
|
||||||
bind C-a send-prefix
|
|
||||||
unbind C-b
|
|
||||||
|
|
||||||
setw -g mode-keys vi
|
|
||||||
|
|
||||||
unbind S
|
|
||||||
bind S command-prompt "switch -t %1"
|
|
||||||
|
|
||||||
bind C-r source-file ~/.tmux.conf
|
|
||||||
|
|
||||||
bind-key -n M-K switch-client -p
|
|
||||||
bind-key -n M-J switch-client -n
|
|
||||||
|
|
||||||
bind-key -n M-L next-window
|
|
||||||
bind-key -n M-H previous-window
|
|
||||||
|
|
||||||
bind '"' split-window -c "#{pane_current_path}"
|
|
||||||
bind % split-window -h -c "#{pane_current_path}"
|
|
||||||
bind c new-window -a -c "#{pane_current_path}"
|
|
||||||
|
|
||||||
#######################################
|
|
||||||
# status line
|
|
||||||
#######################################
|
|
||||||
# /* source "/usr/lib/python3.5/site-packages/powerline/bindings/tmux/powerline.conf" */
|
|
||||||
set -g status-justify centre
|
|
||||||
|
|
||||||
set -g status-left "#[bg=#808080,fg=#ffffff,bold] #S #[default]#[bg=#BCBCBC] #{-30:pane_title} "
|
|
||||||
set -g status-left-length 40
|
|
||||||
|
|
||||||
set -g status-right "#[bg=#BCBCBC] %H:%M #[bg=#808080,fg=#ffffff] %d.%m.%y "
|
|
||||||
|
|
||||||
# setw -g window-status-format " #W#F "
|
|
||||||
# setw -g window-status-current-format " #W#F "
|
|
||||||
setw -g window-status-format " #W "
|
|
||||||
setw -g window-status-current-format " #W "
|
|
||||||
setw -g window-status-separator ""
|
|
||||||
|
|
||||||
#######################################
|
|
||||||
# colors, taken from vim-lucius
|
|
||||||
#######################################
|
|
||||||
set -g status-style "bg=#DADADA,fg=#000000"
|
|
||||||
|
|
||||||
setw -g window-status-style "bg=#BCBCBC,fg=#000000"
|
|
||||||
setw -g window-status-current-style "bg=#808080,fg=#ffffff"
|
|
||||||
|
|
||||||
setw -g window-status-activity-style "bg=#AFD7AF,fg=#000000"
|
|
||||||
setw -g window-status-bell-style "bg=#AFD7AF,fg=#000000"
|
|
||||||
#setw -g window-status-content-style "bg=#AFD7AF,fg=#000000"
|
|
||||||
|
|
||||||
set -g pane-active-border-style "bg=#eeeeee,fg=#006699"
|
|
||||||
set -g pane-border-style "bg=#eeeeee,fg=#999999"
|
|
||||||
168
config/zpreztorc
168
config/zpreztorc
@ -1,168 +0,0 @@
|
|||||||
#
|
|
||||||
# Sets Prezto options.
|
|
||||||
#
|
|
||||||
# Authors:
|
|
||||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# General
|
|
||||||
#
|
|
||||||
|
|
||||||
# Set case-sensitivity for completion, history lookup, etc.
|
|
||||||
# zstyle ':prezto:*:*' case-sensitive 'yes'
|
|
||||||
|
|
||||||
# Color output (auto set to 'no' on dumb terminals).
|
|
||||||
zstyle ':prezto:*:*' color 'yes'
|
|
||||||
|
|
||||||
# Set the Zsh modules to load (man zshmodules).
|
|
||||||
# zstyle ':prezto:load' zmodule 'attr' 'stat'
|
|
||||||
|
|
||||||
# Set the Zsh functions to load (man zshcontrib).
|
|
||||||
# zstyle ':prezto:load' zfunction 'zargs' 'zmv'
|
|
||||||
|
|
||||||
# Set the Prezto modules to load (browse modules).
|
|
||||||
# The order matters.
|
|
||||||
zstyle ':prezto:load' pmodule \
|
|
||||||
'environment' \
|
|
||||||
'terminal' \
|
|
||||||
'editor' \
|
|
||||||
'history' \
|
|
||||||
'directory' \
|
|
||||||
'spectrum' \
|
|
||||||
'utility' \
|
|
||||||
'completion' \
|
|
||||||
'syntax-highlighting' \
|
|
||||||
'history-substring-search' \
|
|
||||||
'prompt' \
|
|
||||||
'git'
|
|
||||||
|
|
||||||
#
|
|
||||||
# Editor
|
|
||||||
#
|
|
||||||
|
|
||||||
# Set the key mapping style to 'emacs' or 'vi'.
|
|
||||||
zstyle ':prezto:module:editor' key-bindings 'vi'
|
|
||||||
|
|
||||||
# Auto convert .... to ../..
|
|
||||||
# zstyle ':prezto:module:editor' dot-expansion 'yes'
|
|
||||||
|
|
||||||
#
|
|
||||||
# Git
|
|
||||||
#
|
|
||||||
|
|
||||||
# Ignore submodules when they are 'dirty', 'untracked', 'all', or 'none'.
|
|
||||||
# zstyle ':prezto:module:git:status:ignore' submodules 'all'
|
|
||||||
|
|
||||||
#
|
|
||||||
# GNU Utility
|
|
||||||
#
|
|
||||||
|
|
||||||
# Set the command prefix on non-GNU systems.
|
|
||||||
# zstyle ':prezto:module:gnu-utility' prefix 'g'
|
|
||||||
|
|
||||||
#
|
|
||||||
# History Substring Search
|
|
||||||
#
|
|
||||||
|
|
||||||
# Set the query found color.
|
|
||||||
# zstyle ':prezto:module:history-substring-search:color' found ''
|
|
||||||
|
|
||||||
# Set the query not found color.
|
|
||||||
# zstyle ':prezto:module:history-substring-search:color' not-found ''
|
|
||||||
|
|
||||||
# Set the search globbing flags.
|
|
||||||
# zstyle ':prezto:module:history-substring-search' globbing-flags ''
|
|
||||||
|
|
||||||
#
|
|
||||||
# Pacman
|
|
||||||
#
|
|
||||||
|
|
||||||
# Set the Pacman frontend.
|
|
||||||
# zstyle ':prezto:module:pacman' frontend 'yaourt'
|
|
||||||
|
|
||||||
#
|
|
||||||
# Prompt
|
|
||||||
#
|
|
||||||
|
|
||||||
# Set the prompt theme to load.
|
|
||||||
# Setting it to 'random' loads a random theme.
|
|
||||||
# Auto set to 'off' on dumb terminals.
|
|
||||||
# zstyle ':prezto:module:prompt' theme 'damoekri'
|
|
||||||
# zstyle ':prezto:module:prompt' theme 'walters'
|
|
||||||
zstyle ':prezto:module:prompt' theme 'minimal'
|
|
||||||
|
|
||||||
#
|
|
||||||
# Ruby
|
|
||||||
#
|
|
||||||
|
|
||||||
# Auto switch the Ruby version on directory change.
|
|
||||||
# zstyle ':prezto:module:ruby:chruby' auto-switch 'yes'
|
|
||||||
|
|
||||||
#
|
|
||||||
# Screen
|
|
||||||
#
|
|
||||||
|
|
||||||
# Auto start a session when Zsh is launched in a local terminal.
|
|
||||||
# zstyle ':prezto:module:screen:auto-start' local 'yes'
|
|
||||||
|
|
||||||
# Auto start a session when Zsh is launched in a SSH connection.
|
|
||||||
# zstyle ':prezto:module:screen:auto-start' remote 'yes'
|
|
||||||
|
|
||||||
#
|
|
||||||
# SSH
|
|
||||||
#
|
|
||||||
|
|
||||||
# Set the SSH identities to load into the agent.
|
|
||||||
# zstyle ':prezto:module:ssh:load' identities 'id_rsa' 'id_rsa2' 'id_github'
|
|
||||||
|
|
||||||
#
|
|
||||||
# Syntax Highlighting
|
|
||||||
#
|
|
||||||
|
|
||||||
# Set syntax highlighters.
|
|
||||||
zstyle ':prezto:module:syntax-highlighting' highlighters \
|
|
||||||
'main' \
|
|
||||||
'brackets' \
|
|
||||||
'pattern' \
|
|
||||||
'cursor' \
|
|
||||||
'root'
|
|
||||||
#
|
|
||||||
# Set syntax highlighting styles.
|
|
||||||
# zstyle ':prezto:module:syntax-highlighting' styles \
|
|
||||||
# 'builtin' 'bg=blue' \
|
|
||||||
# 'command' 'bg=blue' \
|
|
||||||
# 'function' 'bg=blue'
|
|
||||||
|
|
||||||
#
|
|
||||||
# Terminal
|
|
||||||
#
|
|
||||||
|
|
||||||
# Auto set the tab and window titles.
|
|
||||||
# zstyle ':prezto:module:terminal' auto-title 'yes'
|
|
||||||
|
|
||||||
# Set the window title format.
|
|
||||||
# zstyle ':prezto:module:terminal:window-title' format '%n@%m: %s'
|
|
||||||
|
|
||||||
# Set the tab title format.
|
|
||||||
# zstyle ':prezto:module:terminal:tab-title' format '%m: %s'
|
|
||||||
|
|
||||||
#
|
|
||||||
# Tmux
|
|
||||||
#
|
|
||||||
|
|
||||||
# Auto start a session when Zsh is launched in a local terminal.
|
|
||||||
zstyle ':prezto:module:tmux:auto-start' local 'yes'
|
|
||||||
|
|
||||||
# Auto start a session when Zsh is launched in a SSH connection.
|
|
||||||
zstyle ':prezto:module:tmux:auto-start' remote 'yes'
|
|
||||||
|
|
||||||
# Integrate with iTerm2.
|
|
||||||
zstyle ':prezto:module:tmux:iterm' integrate 'yes'
|
|
||||||
|
|
||||||
#
|
|
||||||
# Completion
|
|
||||||
#
|
|
||||||
|
|
||||||
# Have editor tab completion ignore binary/media files.
|
|
||||||
zstyle ':prezto:module:completion' editor-ignores 'yes'
|
|
||||||
46
config/zshrc
46
config/zshrc
@ -1,46 +0,0 @@
|
|||||||
# Record each line as it gets issued
|
|
||||||
# PROMPT_COMMAND='history -a'
|
|
||||||
PROMPT_COMMAND="${PROMPT_COMMAND:+$PROMPT_COMMAND$'\n'}history -a; history -c; history -r"
|
|
||||||
|
|
||||||
# Huge history. Doesn't appear to slow things down, so why not?
|
|
||||||
HISTSIZE=500000
|
|
||||||
SAVEHIST=500000
|
|
||||||
HISTFILESIZE=100000
|
|
||||||
|
|
||||||
# Avoid duplicate entries
|
|
||||||
HISTCONTROL="erasedups:ignoreboth"
|
|
||||||
|
|
||||||
# Don't record some commands
|
|
||||||
export HISTIGNORE="&:[ ]*:exit:ls:bg:fg:history:clear"
|
|
||||||
|
|
||||||
# Useful timestamp format
|
|
||||||
HISTTIMEFORMAT='%F %T '
|
|
||||||
HISTFILE=~/.histfile
|
|
||||||
|
|
||||||
setopt autocd extendedglob
|
|
||||||
unsetopt beep
|
|
||||||
bindkey -v
|
|
||||||
# End of lines configured by zsh-newuser-install
|
|
||||||
# The following lines were added by compinstall
|
|
||||||
zstyle :compinstall filename '/home/pander/.zshrc'
|
|
||||||
|
|
||||||
autoload -Uz compinit
|
|
||||||
compinit
|
|
||||||
# End of lines added by compinstall
|
|
||||||
|
|
||||||
if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" ]]; then
|
|
||||||
source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"
|
|
||||||
fi
|
|
||||||
|
|
||||||
typeset -A ZSH_HIGHLIGHT_STYLES
|
|
||||||
ZSH_HIGHLIGHT_STYLES=(cursor bold)
|
|
||||||
|
|
||||||
export EDITOR=nvim
|
|
||||||
export PATH="$HOME/bin:/usr/local/bin:$PATH"
|
|
||||||
|
|
||||||
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
|
|
||||||
|
|
||||||
unalias rm
|
|
||||||
#alias open='nautilus . &'
|
|
||||||
|
|
||||||
export OPENAI_API_KEY=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
|
|
||||||
@ -6,34 +6,22 @@
|
|||||||
./user/tmux.nix
|
./user/tmux.nix
|
||||||
./user/git.nix
|
./user/git.nix
|
||||||
./user/dev.nix
|
./user/dev.nix
|
||||||
|
./user/nvim.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
neovim
|
# neovim
|
||||||
|
|
||||||
# # It is sometimes useful to fine-tune packages, for example, by applying
|
(pkgs.nerdfonts.override { fonts = [ "FiraCodeMono" ]; })
|
||||||
# # overrides. You can do that directly here, just don't forget the
|
|
||||||
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
|
|
||||||
# # fonts?
|
|
||||||
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
|
|
||||||
|
|
||||||
# # You can also create simple shell scripts directly inside your
|
|
||||||
# # configuration. For example, this adds a command 'my-hello' to your
|
|
||||||
# # environment:
|
|
||||||
# (pkgs.writeShellScriptBin "my-hello" ''
|
# (pkgs.writeShellScriptBin "my-hello" ''
|
||||||
# echo "Hello, ${config.home.username}!"
|
# echo "Hello, ${config.home.username}!"
|
||||||
# '')
|
# '')
|
||||||
];
|
];
|
||||||
|
|
||||||
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
|
||||||
# plain files is through 'home.file'.
|
|
||||||
home.file = {
|
home.file = {
|
||||||
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
|
|
||||||
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
|
|
||||||
# # symlink to the Nix store copy.
|
|
||||||
# ".screenrc".source = dotfiles/screenrc;
|
# ".screenrc".source = dotfiles/screenrc;
|
||||||
|
|
||||||
# # You can also set the file content immediately.
|
|
||||||
# ".gradle/gradle.properties".text = ''
|
# ".gradle/gradle.properties".text = ''
|
||||||
# org.gradle.console=verbose
|
# org.gradle.console=verbose
|
||||||
# org.gradle.daemon.idletimeout=3600000
|
# org.gradle.daemon.idletimeout=3600000
|
||||||
@ -55,13 +43,13 @@
|
|||||||
#
|
#
|
||||||
# /etc/profiles/per-user/moustachioed/etc/profile.d/hm-session-vars.sh
|
# /etc/profiles/per-user/moustachioed/etc/profile.d/hm-session-vars.sh
|
||||||
#
|
#
|
||||||
home.sessionVariables = {
|
#home.sessionVariables = {
|
||||||
EDITOR = "nvim";
|
# EDITOR = "nvim";
|
||||||
};
|
#};
|
||||||
|
|
||||||
home.shellAliases = {
|
#home.shellAliases = {
|
||||||
vim = "nvim";
|
# "ll" = "ls -la";
|
||||||
};
|
#};
|
||||||
|
|
||||||
news.display = "silent";
|
news.display = "silent";
|
||||||
|
|
||||||
12
config/nix/flake.lock → nix/flake.lock
generated
12
config/nix/flake.lock → nix/flake.lock
generated
@ -7,11 +7,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1711133180,
|
"lastModified": 1712212014,
|
||||||
"narHash": "sha256-WJOahf+6115+GMl3wUfURu8fszuNeJLv9qAWFQl3Vmo=",
|
"narHash": "sha256-s+lbaf3nLRn1++/X2eXwY9mYCA/m9l8AvyG8beeOaXE=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "1c2c5e4cabba4c43504ef0f8cc3f3dfa284e2dbb",
|
"rev": "7e91f2a0ba4b62b88591279d54f741a13e36245b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -22,11 +22,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1711163522,
|
"lastModified": 1712163089,
|
||||||
"narHash": "sha256-YN/Ciidm+A0fmJPWlHBGvVkcarYWSC+s3NTPk/P+q3c=",
|
"narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "44d0940ea560dee511026a53f0e2e2cde489b4d4",
|
"rev": "fd281bd6b7d3e32ddfa399853946f782553163b5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
50
nix/user/nvim.nix
Normal file
50
nix/user/nvim.nix
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.neovim = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
defaultEditor = true;
|
||||||
|
vimAlias = true;
|
||||||
|
|
||||||
|
plugins = with pkgs.vimPlugins; [
|
||||||
|
vim-commentary
|
||||||
|
vim-repeat
|
||||||
|
vim-surround
|
||||||
|
targets-vim
|
||||||
|
delimitMate
|
||||||
|
vim-startify
|
||||||
|
vim-windowswap
|
||||||
|
vim-nix
|
||||||
|
plenary-nvim
|
||||||
|
telescope-nvim
|
||||||
|
telescope-fzf-native-nvim
|
||||||
|
yanky-nvim
|
||||||
|
lualine-nvim
|
||||||
|
undotree
|
||||||
|
vim-vsnip
|
||||||
|
nvim-cmp
|
||||||
|
cmp-vsnip
|
||||||
|
cmp-buffer
|
||||||
|
cmp-path
|
||||||
|
cmp-cmdline
|
||||||
|
cmp-nvim-lsp
|
||||||
|
cmp_yanky
|
||||||
|
cmp-git
|
||||||
|
nvim-lspconfig
|
||||||
|
lspkind-nvim
|
||||||
|
(nvim-treesitter.withPlugins (p: [ p.awk p.bash p.c p.c_sharp p.cpp p.css p.diff p.dockerfile p.doxygen p.git_config p.gitcommit p.go p.gomod p.gosum p.gotmpl p.helm p.haskell p.html p.http p.java p.javascript p.json p.latex p.lua p.markdown p.markdown_inline p.matlab p.nix p.printf p.python p.regex p.rust p.sql p.strace p.supercollider p.svelte p.swift p.terraform p.tmux p.toml p.typescript p.vim p.xml p.yaml p.zig ]))
|
||||||
|
];
|
||||||
|
|
||||||
|
# extraConfig = ''
|
||||||
|
# set t_vb=
|
||||||
|
# '';
|
||||||
|
|
||||||
|
extraLuaConfig = builtins.concatStringsSep "\n" [
|
||||||
|
(lib.strings.fileContents ../../nvim/base.lua)
|
||||||
|
(lib.strings.fileContents ../../nvim/keymaps.lua)
|
||||||
|
(lib.strings.fileContents ../../nvim/plugins.lua)
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
@ -67,6 +67,7 @@
|
|||||||
programs.ripgrep.enable = true;
|
programs.ripgrep.enable = true;
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
fd
|
||||||
du-dust
|
du-dust
|
||||||
#nerdfonts
|
#nerdfonts
|
||||||
];
|
];
|
||||||
@ -8,6 +8,7 @@
|
|||||||
keyMode = "vi";
|
keyMode = "vi";
|
||||||
escapeTime = 0;
|
escapeTime = 0;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
|
set -g default-terminal "screen-256color"
|
||||||
set -g display-time 1500
|
set -g display-time 1500
|
||||||
|
|
||||||
unbind S
|
unbind S
|
||||||
1
nvim/.gitignore
vendored
1
nvim/.gitignore
vendored
@ -1 +0,0 @@
|
|||||||
.cache/
|
|
||||||
@ -1,123 +0,0 @@
|
|||||||
# This file contains snippets that are always defined. I personally
|
|
||||||
# have snippets for signatures and often needed texts
|
|
||||||
|
|
||||||
# sligthly lower priority than everything else since specialized versions
|
|
||||||
# should overwrite. The user needs to adjust her priority in her snippets to
|
|
||||||
# ~-55 so that other filetypes will still overwrite.
|
|
||||||
priority -60
|
|
||||||
|
|
||||||
##############
|
|
||||||
# NICE BOXES #
|
|
||||||
##############
|
|
||||||
global !p
|
|
||||||
import string, vim
|
|
||||||
|
|
||||||
""" Maps a filetype to comment format used for boxes.
|
|
||||||
Automatically filled during usage"""
|
|
||||||
_commentDict = { }
|
|
||||||
|
|
||||||
def _parse_comments(s):
|
|
||||||
""" Parses vim's comments option to extract comment format """
|
|
||||||
i = iter(s.split(","))
|
|
||||||
|
|
||||||
rv = []
|
|
||||||
try:
|
|
||||||
while True:
|
|
||||||
# get the flags and text of a comment part
|
|
||||||
flags, text = next(i).split(':', 1)
|
|
||||||
|
|
||||||
if len(flags) == 0:
|
|
||||||
rv.append((text, text, text, ""))
|
|
||||||
# parse 3-part comment, but ignore those with O flag
|
|
||||||
elif flags[0] == 's' and 'O' not in flags:
|
|
||||||
ctriple = []
|
|
||||||
indent = ""
|
|
||||||
|
|
||||||
if flags[-1] in string.digits:
|
|
||||||
indent = " " * int(flags[-1])
|
|
||||||
ctriple.append(text)
|
|
||||||
|
|
||||||
flags,text = next(i).split(':', 1)
|
|
||||||
assert(flags[0] == 'm')
|
|
||||||
ctriple.append(text)
|
|
||||||
|
|
||||||
flags,text = next(i).split(':', 1)
|
|
||||||
assert(flags[0] == 'e')
|
|
||||||
ctriple.append(text)
|
|
||||||
ctriple.append(indent)
|
|
||||||
|
|
||||||
rv.append(ctriple)
|
|
||||||
elif flags[0] == 'b':
|
|
||||||
if len(text) == 1:
|
|
||||||
rv.insert(0, (text,text,text, ""))
|
|
||||||
except StopIteration:
|
|
||||||
return rv
|
|
||||||
|
|
||||||
def _get_comment_format():
|
|
||||||
""" Returns a 4-element tuple representing the comment format for
|
|
||||||
the current file. """
|
|
||||||
return _parse_comments(vim.eval("&comments"))[0]
|
|
||||||
|
|
||||||
|
|
||||||
def make_box(twidth, bwidth=None):
|
|
||||||
b, m, e, i = _get_comment_format()
|
|
||||||
bwidth_inner = bwidth - 3 - max(len(b), len(i + e)) if bwidth else twidth + 2
|
|
||||||
sline = b + m + bwidth_inner * m[0] + 2 * m[0]
|
|
||||||
nspaces = (bwidth_inner - twidth) // 2
|
|
||||||
mlines = i + m + " " + " " * nspaces
|
|
||||||
mlinee = " " + " "*(bwidth_inner - twidth - nspaces) + m
|
|
||||||
eline = i + m + bwidth_inner * m[0] + 2 * m[0] + e
|
|
||||||
return sline, mlines, mlinee, eline
|
|
||||||
|
|
||||||
def foldmarker():
|
|
||||||
"Return a tuple of (open fold marker, close fold marker)"
|
|
||||||
return vim.eval("&foldmarker").split(",")
|
|
||||||
|
|
||||||
endglobal
|
|
||||||
|
|
||||||
snippet box "A nice box with the current comment symbol" b
|
|
||||||
`!p
|
|
||||||
box = make_box(len(t[1]))
|
|
||||||
snip.rv = box[0] + '\n' + box[1]
|
|
||||||
`${1:content}`!p
|
|
||||||
box = make_box(len(t[1]))
|
|
||||||
snip.rv = box[2] + '\n' + box[3]`
|
|
||||||
$0
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet bbox "A nice box over the full width" b
|
|
||||||
`!p
|
|
||||||
width = int(vim.eval("&textwidth")) or 71
|
|
||||||
box = make_box(len(t[1]), width)
|
|
||||||
snip.rv = box[0] + '\n' + box[1]
|
|
||||||
`${1:content}`!p
|
|
||||||
box = make_box(len(t[1]), width)
|
|
||||||
snip.rv = box[2] + '\n' + box[3]`
|
|
||||||
$0
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet fold "Insert a vim fold marker" b
|
|
||||||
`!p snip.rv = _get_comment_format()[0]` ${1:Fold description} `!p snip.rv = foldmarker()[0]`${2:1} `!p snip.rv = _get_comment_format()[2]`
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet foldc "Insert a vim fold close marker" b
|
|
||||||
`!p snip.rv = _get_comment_format()[0]` ${2:1}`!p snip.rv = foldmarker()[1]` `!p snip.rv = _get_comment_format()[2]`
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet foldp "Insert a vim fold marker pair" b
|
|
||||||
`!p snip.rv = _get_comment_format()[0]` ${1:Fold description} `!p snip.rv = foldmarker()[0]` `!p snip.rv = _get_comment_format()[2]`
|
|
||||||
${2:${VISUAL:Content}}
|
|
||||||
`!p snip.rv = _get_comment_format()[0]` `!p snip.rv = foldmarker()[1]` $1 `!p snip.rv = _get_comment_format()[2]`
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
##########################
|
|
||||||
# LOREM IPSUM GENERATORS #
|
|
||||||
##########################
|
|
||||||
snippet lorem "Lorem Ipsum - 50 Words" b
|
|
||||||
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
|
|
||||||
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
|
|
||||||
vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren,
|
|
||||||
no sea takimata sanctus est Lorem ipsum dolor sit amet.
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
# vim:ft=snippets:
|
|
||||||
@ -1,154 +0,0 @@
|
|||||||
###########################################################################
|
|
||||||
# TextMate Snippets #
|
|
||||||
###########################################################################
|
|
||||||
|
|
||||||
priority -50
|
|
||||||
|
|
||||||
snippet def "#define ..."
|
|
||||||
#define ${1}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet ifndef "#ifndef ... #define ... #endif"
|
|
||||||
#ifndef ${1/([A-Za-z0-9_]+).*/$1/}
|
|
||||||
#define ${1:SYMBOL} ${2:value}
|
|
||||||
#endif
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet #if "#if #endif" b
|
|
||||||
#if ${1:0}
|
|
||||||
${VISUAL}${0:${VISUAL/(.*)/(?1::code)/}}
|
|
||||||
#endif
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet inc "#include local header (inc)"
|
|
||||||
#include "${1:`!p snip.rv = snip.basename + '.h'`}"
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet Inc "#include <> (Inc)"
|
|
||||||
#include <${1:.h}>
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet mark "#pragma mark (mark)"
|
|
||||||
#if 0
|
|
||||||
${1:#pragma mark -
|
|
||||||
}#pragma mark $2
|
|
||||||
#endif
|
|
||||||
|
|
||||||
$0
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet main "main() (main)"
|
|
||||||
int main(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
${VISUAL}${0:${VISUAL/(.*)/(?1::\/* code *\/)/}}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
# snippet for "for loop (for)"
|
|
||||||
# for (${2:i} = 0; $2 < ${1:count}; ${3:++$2})
|
|
||||||
# {
|
|
||||||
# ${VISUAL}${0:${VISUAL/(.*)/(?1::\/* code *\/)/}}
|
|
||||||
# }
|
|
||||||
# endsnippet
|
|
||||||
|
|
||||||
snippet for "for int loop (for)"
|
|
||||||
for ( ${4:int} ${2:i}=0; $2<${1:count}; ${3:$2++} ) {
|
|
||||||
${VISUAL}${0:${VISUAL/(.*)/(?1::\/* code *\/)/}}
|
|
||||||
}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet enum "Enumeration"
|
|
||||||
enum ${1:name} { $0 };
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet once "Include header once only guard"
|
|
||||||
#ifndef ${1:`!p
|
|
||||||
if not snip.c:
|
|
||||||
import random, string
|
|
||||||
name = re.sub(r'[^A-Za-z0-9]+','_', snip.fn).upper()
|
|
||||||
rand = ''.join(random.sample(string.ascii_letters+string.digits, 8))
|
|
||||||
snip.rv = ('%s_%s' % (name,rand)).upper()
|
|
||||||
else:
|
|
||||||
snip.rv = snip.c`}
|
|
||||||
#define $1
|
|
||||||
|
|
||||||
${0}
|
|
||||||
|
|
||||||
#endif /* end of include guard: $1 */
|
|
||||||
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet td "Typedef"
|
|
||||||
typedef ${1:int} ${2:MyCustomType};
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet wh "while loop"
|
|
||||||
while(${1:/* condition */}) {
|
|
||||||
${VISUAL}${0:${VISUAL/(.*)/(?1::\/* code *\/)/}}
|
|
||||||
}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet do "do...while loop (do)"
|
|
||||||
do {
|
|
||||||
${VISUAL}${0:${VISUAL/(.*)/(?1::\/* code *\/)/}}
|
|
||||||
} while(${1:/* condition */});
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet fprintf "fprintf ..."
|
|
||||||
fprintf(${1:stderr}, "${2:%s}\n"${2/([^%]|%%)*(%.)?.*/(?2:, :\);)/}$3${2/([^%]|%%)*(%.)?.*/(?2:\);)/}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet if "if .. (if)"
|
|
||||||
if (${1:/* condition */})
|
|
||||||
{
|
|
||||||
${VISUAL}${0:${VISUAL/(.*)/(?1::\/* code *\/)/}}
|
|
||||||
}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet el "else .. (else)"
|
|
||||||
else {
|
|
||||||
${VISUAL}${0:${VISUAL/(.*)/(?1::\/* code *\/)/}}
|
|
||||||
}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet eli "else if .. (eli)"
|
|
||||||
else if (${1:/* condition */}) {
|
|
||||||
${VISUAL}${0:${VISUAL/(.*)/(?1::\/* code *\/)/}}
|
|
||||||
}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet ife "if .. else (ife)"
|
|
||||||
if (${1:/* condition */})
|
|
||||||
{
|
|
||||||
${2:/* code */}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
${3:/* else */}
|
|
||||||
}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet printf "printf .. (printf)"
|
|
||||||
printf("${1:%s}\n"${1/([^%]|%%)*(%.)?.*/(?2:, :\);)/}$2${1/([^%]|%%)*(%.)?.*/(?2:\);)/}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet st "struct"
|
|
||||||
struct ${1:`!p snip.rv = (snip.basename or "name") + "_t"`}
|
|
||||||
{
|
|
||||||
${0:/* data */}
|
|
||||||
};
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet fun "function" b
|
|
||||||
${1:void} ${2:function_name}(${3})
|
|
||||||
{
|
|
||||||
${VISUAL}${0:${VISUAL/(.*)/(?1::\/* code *\/)/}}
|
|
||||||
}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet fund "function declaration" b
|
|
||||||
${1:void} ${2:function_name}(${3});
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
# vim:ft=snippets:
|
|
||||||
@ -1,89 +0,0 @@
|
|||||||
priority -50
|
|
||||||
|
|
||||||
extends c
|
|
||||||
|
|
||||||
# We want to overwrite everything in parent ft.
|
|
||||||
priority -49
|
|
||||||
|
|
||||||
###########################################################################
|
|
||||||
# TextMate Snippets #
|
|
||||||
###########################################################################
|
|
||||||
snippet beginend "$1.begin(), $1.end() (beginend)"
|
|
||||||
${1:v}${1/^.*?(-)?(>)?$/(?2::(?1:>:.))/}begin(), $1${1/^.*?(-)?(>)?$/(?2::(?1:>:.))/}end()
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet cl "class .. (class)"
|
|
||||||
class ${1:`!p snip.rv = snip.basename or "name"`}
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
${1/(\w+).*/$1/} (${2:arguments});
|
|
||||||
virtual ~${1/(\w+).*/$1/} ();
|
|
||||||
|
|
||||||
private:
|
|
||||||
${0:/* data */}
|
|
||||||
};
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet ns "namespace .. (namespace)"
|
|
||||||
namespace${1/.+/ /m}${1:`!p snip.rv = snip.basename or "name"`}
|
|
||||||
{
|
|
||||||
${VISUAL}${0:${VISUAL/(.*)/(?1::\/* code *\/)/}}
|
|
||||||
}${1/.+/ \/* /m}$1${1/.+/ *\/ /m}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet readfile "read file (readF)"
|
|
||||||
std::vector<char> v;
|
|
||||||
if (FILE *fp = fopen(${1:"filename"}, "r"))
|
|
||||||
{
|
|
||||||
char buf[1024];
|
|
||||||
while(size_t len = fread(buf, 1, sizeof(buf), fp))
|
|
||||||
v.insert(v.end(), buf, buf + len);
|
|
||||||
fclose(fp);
|
|
||||||
}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet map "std::map (map)"
|
|
||||||
std::map<${1:key}, ${2:value}> map$0;
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet vector "std::vector (v)"
|
|
||||||
std::vector<${1:char}> v$0;
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet tp "template <typename ..> (template)"
|
|
||||||
template <typename ${1:_InputIter}>
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
## my own snippets
|
|
||||||
|
|
||||||
snippet dv "debug with var"
|
|
||||||
std::cout << "$1\n" << ${1:var} << "\n" << std::endl;
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet dvif "debug with var (if)"
|
|
||||||
if ( output_ ) std::cout << "$1\n" << ${1:var} << "\n" << std::endl;
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet pm "debug with message"
|
|
||||||
std::cout << "${1:message}" << std::endl;
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet pmif "debug with message (if)"
|
|
||||||
if ( output_ ) std::cout << "${1:message}" << std::endl;
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet cb "function comment block" s
|
|
||||||
// =============================================================================
|
|
||||||
// ${1:comment}
|
|
||||||
// =============================================================================
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet cf "function comment block" s
|
|
||||||
// == Function =================================================================
|
|
||||||
// Name : ${1:Name}
|
|
||||||
// Description: ${2:Description}
|
|
||||||
// =============================================================================
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
|
|
||||||
# vim:ft=snippets:
|
|
||||||
@ -1,6 +0,0 @@
|
|||||||
priority -50
|
|
||||||
|
|
||||||
snippet disp "Display variable" i
|
|
||||||
disp('${1:${VISUAL:variableName}}')
|
|
||||||
disp(${2:${VISUAL:variable}})
|
|
||||||
endsnippet
|
|
||||||
@ -1,92 +0,0 @@
|
|||||||
priority -50
|
|
||||||
|
|
||||||
global !p
|
|
||||||
import vim
|
|
||||||
|
|
||||||
# Tests for the existence of a variable declared by Vim's filetype detection
|
|
||||||
# suggesting the type of shell script of the current file
|
|
||||||
def testShell(scope, shell):
|
|
||||||
return vim.eval("exists('" + scope + ":is_" + shell + "')")
|
|
||||||
|
|
||||||
# Loops over the possible variables, checking for global variables
|
|
||||||
# first since they indicate an override by the user.
|
|
||||||
def getShell():
|
|
||||||
for scope in ["g", "b"]:
|
|
||||||
for shell in ["bash", "posix", "sh", "kornshell"]:
|
|
||||||
if testShell(scope, shell) == "1":
|
|
||||||
if shell == "kornshell":
|
|
||||||
return "ksh"
|
|
||||||
if shell == "posix":
|
|
||||||
return "sh"
|
|
||||||
return shell
|
|
||||||
return "sh"
|
|
||||||
endglobal
|
|
||||||
|
|
||||||
###########################################################################
|
|
||||||
# TextMate Snippets #
|
|
||||||
###########################################################################
|
|
||||||
snippet #!
|
|
||||||
`!p snip.rv = '#!/bin/' + getShell() + "\n\n" `
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet !env "#!/usr/bin/env (!env)"
|
|
||||||
`!p snip.rv = '#!/usr/bin/env ' + getShell() + "\n\n" `
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet temp "Tempfile"
|
|
||||||
${1:TMPFILE}="$(mktemp -t ${2:`!p
|
|
||||||
snip.rv = re.sub(r'[^a-zA-Z]', '_', snip.fn) or "untitled"
|
|
||||||
`})"
|
|
||||||
${3:${4/(.+)/trap "/}${4:rm -f '$${1/.*\s//}'}${4/(.+)/" 0 # EXIT\n/}${5/(.+)/trap "/}${5:rm -f '$${1/.*\s//}'; exit 1}${5/(.+)/" 2 # INT\n/}${6/(.+)/trap "/}${6:rm -f '$${1/.*\s//}'; exit 1}${6/(.+)/" 1 15 # HUP TERM\n/}}
|
|
||||||
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet case "case .. esac (case)"
|
|
||||||
case ${1:word} in
|
|
||||||
${2:pattern} )
|
|
||||||
$0;;
|
|
||||||
esac
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet elif "elif .. (elif)"
|
|
||||||
elif ${2:[[ ${1:condition} ]]}; then
|
|
||||||
${0:#statements}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet for "for ... done (for)"
|
|
||||||
for (( i = 0; i < ${1:10}; i++ )); do
|
|
||||||
${0:#statements}
|
|
||||||
done
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet forin "for ... in ... done (forin)"
|
|
||||||
for ${1:i}${2/.+/ in /}${2:words}; do
|
|
||||||
${0:#statements}
|
|
||||||
done
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet here "here document (here)"
|
|
||||||
<<-${2:'${1:TOKEN}'}
|
|
||||||
$0
|
|
||||||
${1/['"`](.+)['"`]/$1/}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet if "if ... then (if)"
|
|
||||||
if ${2:[[ ${1:condition} ]]}; then
|
|
||||||
${0:#statements}
|
|
||||||
fi
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet until "until ... (done)"
|
|
||||||
until ${2:[[ ${1:condition} ]]}; do
|
|
||||||
${0:#statements}
|
|
||||||
done
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet while "while ... (done)"
|
|
||||||
while ${2:[[ ${1:condition} ]]}; do
|
|
||||||
${0:#statements}
|
|
||||||
done
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
# vim:ft=snippets:
|
|
||||||
@ -1,158 +0,0 @@
|
|||||||
priority -50
|
|
||||||
|
|
||||||
extends texmath
|
|
||||||
|
|
||||||
snippet document "document setup"
|
|
||||||
\documentclass[a4paper]{article}
|
|
||||||
\usepackage{defaultTex}
|
|
||||||
% \usepackage[style=alphabetic]{biblatex}
|
|
||||||
% \addbibresource{lib.bib}
|
|
||||||
|
|
||||||
\begin{document}
|
|
||||||
${1:text}
|
|
||||||
\end{document}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet "b(egin)?" "begin{} / end{}" br
|
|
||||||
\begin{${1:something}}
|
|
||||||
${0:${VISUAL}}
|
|
||||||
\label{${2}}
|
|
||||||
\end{$1}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet bo "bold"
|
|
||||||
\textbf{${1:${VISUAL}}}$0
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet tab
|
|
||||||
\begin{${1:t}${1/(t)$|(a)$|(.*)/(?1:abular)(?2:rray)/}}{${2:c}}
|
|
||||||
$0${2/((?<=.)c|l|r)|./(?1: & )/g}
|
|
||||||
\end{$1${1/(t)$|(a)$|(.*)/(?1:abular)(?2:rray)/}}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet fig "Figure environment" b
|
|
||||||
\begin{figure}${2:[htpb]}
|
|
||||||
\centering
|
|
||||||
\includegraphics[width=${3:0.8}\linewidth]{${4:name.ext}}
|
|
||||||
\caption{${4/(\w+)\.\w+/\u$1/}$0}
|
|
||||||
\label{fig:${4/(\w+)\.\w+/$1/}}
|
|
||||||
\end{figure}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet enum "Enumerate" b
|
|
||||||
\begin{enumerate}
|
|
||||||
\item $1
|
|
||||||
\end{enumerate}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet item "Itemize" b
|
|
||||||
\begin{itemize}
|
|
||||||
\item $1
|
|
||||||
\end{itemize}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet desc "Description" b
|
|
||||||
\begin{description}
|
|
||||||
\item[$1] $0
|
|
||||||
\end{description}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet eq "equation"
|
|
||||||
\begin{equation}
|
|
||||||
${2:${VISUAL}}
|
|
||||||
\end{equation}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet eql "equation with label"
|
|
||||||
\begin{equation}
|
|
||||||
${2:${VISUAL}}
|
|
||||||
\label{$1}
|
|
||||||
\end{equation}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet eqs "aligned equations"
|
|
||||||
\begin{equation}
|
|
||||||
\begin{aligned}
|
|
||||||
${2:${VISUAL}}
|
|
||||||
\end{aligned}
|
|
||||||
\end{equation}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet eqsl "aligned equations with label"
|
|
||||||
\begin{equation}
|
|
||||||
\begin{aligned}
|
|
||||||
${2:${VISUAL}}
|
|
||||||
\end{aligned}
|
|
||||||
\label{$1}
|
|
||||||
\end{equation}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet align "align"
|
|
||||||
\begin{align}
|
|
||||||
${2:${VISUAL}}
|
|
||||||
\label{$1}
|
|
||||||
\end{align}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet it "Individual item" b
|
|
||||||
\item $1
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet part "Part" b
|
|
||||||
\part{${1:part name}}
|
|
||||||
\label{prt:${2:${1/(\w+)|\W+/(?1:\L$0\E:_)/ga}}}
|
|
||||||
|
|
||||||
${0}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet cha "Chapter" b
|
|
||||||
\chapter{${1:chapter name}}
|
|
||||||
\label{cha:${2:${1/\\\w+\{(.*?)\}|\\(.)|(\w+)|([^\w\\]+)/(?4:_:\L$1$2$3\E)/ga}}}
|
|
||||||
|
|
||||||
${0}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet sec "Section" b
|
|
||||||
\section{${1:section name}}
|
|
||||||
\label{sec:${2:${1/\\\w+\{(.*?)\}|\\(.)|(\w+)|([^\w\\]+)/(?4:_:\L$1$2$3\E)/ga}}}
|
|
||||||
|
|
||||||
${0}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet sub "Subsection" b
|
|
||||||
\subsection{${1:subsection name}}
|
|
||||||
\label{sub:${2:${1/\\\w+\{(.*?)\}|\\(.)|(\w+)|([^\w\\]+)/(?4:_:\L$1$2$3\E)/ga}}}
|
|
||||||
|
|
||||||
${0}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet ssub "Subsubsection" b
|
|
||||||
\subsubsection{${1:subsubsection name}}
|
|
||||||
\label{ssub:${2:${1/\\\w+\{(.*?)\}|\\(.)|(\w+)|([^\w\\]+)/(?4:_:\L$1$2$3\E)/ga}}}
|
|
||||||
|
|
||||||
${0}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet par "Paragraph" b
|
|
||||||
\paragraph{${1:paragraph name}}
|
|
||||||
\label{par:${2:${1/\\\w+\{(.*?)\}|\\(.)|(\w+)|([^\w\\]+)/(?4:_:\L$1$2$3\E)/ga}}}
|
|
||||||
|
|
||||||
${0}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet subp "Subparagraph" b
|
|
||||||
\subparagraph{${1:subparagraph name}}
|
|
||||||
\label{par:${2:${1/\\\w+\{(.*?)\}|\\(.)|(\w+)|([^\w\\]+)/(?4:_:\L$1$2$3\E)/ga}}}
|
|
||||||
|
|
||||||
${0}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet ni "Non-indented paragraph" b
|
|
||||||
\noindent
|
|
||||||
${0}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet pac "Package" b
|
|
||||||
\usepackage[${1:options}]{${2:package}}$0
|
|
||||||
endsnippet
|
|
||||||
# vim:ft=snippets:
|
|
||||||
@ -1,85 +0,0 @@
|
|||||||
priority -50
|
|
||||||
|
|
||||||
##############
|
|
||||||
# MATH STUFF #
|
|
||||||
##############
|
|
||||||
# snippet eq "Equation" b
|
|
||||||
# \begin{equation}
|
|
||||||
# $0
|
|
||||||
# \end{equation}
|
|
||||||
# endsnippet
|
|
||||||
|
|
||||||
# snippet eqnn "Equation without number" b
|
|
||||||
# \begin{equation*}
|
|
||||||
# $0
|
|
||||||
# \end{equation*}
|
|
||||||
# endsnippet
|
|
||||||
|
|
||||||
# snippet eqa "Equation array" b
|
|
||||||
# \begin{eqnarray}
|
|
||||||
# $1 & $2 & $0
|
|
||||||
# \end{eqnarray}
|
|
||||||
# endsnippet
|
|
||||||
|
|
||||||
# snippet eqann "Equation array without numbers" b
|
|
||||||
# \begin{eqnarray*}
|
|
||||||
# $1 & $2 & $0
|
|
||||||
# \end{eqnarray*}
|
|
||||||
|
|
||||||
# endsnippet
|
|
||||||
snippet frac "Fraction" w
|
|
||||||
\frac{${1:${VISUAL:nom}}}{${2:denom}}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet mat "Smart Matrix"
|
|
||||||
\begin{${1:p/b/v/V/B/small}matrix}
|
|
||||||
$0
|
|
||||||
\end{$1matrix}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet lrb "left( right)" w
|
|
||||||
\left( ${1:${VISUAL}} \right)
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet lrv "left| right|" w
|
|
||||||
\left| ${1:${VISUAL}} \right|
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet lrB "left\{ right\}" w
|
|
||||||
\left\\{ ${1:${VISUAL}} \right\\}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet lre "left[ right]" w
|
|
||||||
\left[ ${1:${VISUAL}} \right]
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
# my snippets
|
|
||||||
snippet func "Function" w
|
|
||||||
\func{${1:${VISUAL}}}{${2}}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet funcb "Function with brackets" w
|
|
||||||
\funcb{${1:${VISUAL}}}{${2}}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet int "integral"
|
|
||||||
\int_{${1}}^{${2}}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet sum "sum"
|
|
||||||
\sum_{${1}}^{${2}}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet eqr "eqref"
|
|
||||||
\eqref{${1}}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet v "Vector" w
|
|
||||||
\vec
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet bis "bis" w
|
|
||||||
\bis{${1}}{${2}}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
# vim:ft=snippets:
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,6 @@
|
|||||||
|
-------------------------
|
||||||
|
-------- OPTIONS --------
|
||||||
|
-------------------------
|
||||||
vim.opt.mouse = 'a'
|
vim.opt.mouse = 'a'
|
||||||
vim.opt.history = 1000
|
vim.opt.history = 1000
|
||||||
vim.opt.ruler = true
|
vim.opt.ruler = true
|
||||||
@ -39,9 +42,46 @@ vim.opt.showbreak = '..'
|
|||||||
-- vim.opt.clipboard = vim.opt.clipboard + 'unnamedplus'
|
-- vim.opt.clipboard = vim.opt.clipboard + 'unnamedplus'
|
||||||
-- vim.opt.clipboard = 'unnamedplus'
|
-- vim.opt.clipboard = 'unnamedplus'
|
||||||
vim.opt.errorbells = false
|
vim.opt.errorbells = false
|
||||||
vim.opt.visualbell = true
|
vim.opt.visualbell = false
|
||||||
vim.opt.title = true
|
vim.opt.title = true
|
||||||
vim.opt.autoread = true
|
vim.opt.autoread = true
|
||||||
vim.opt.syntax = 'on'
|
vim.opt.syntax = 'on'
|
||||||
vim.opt.encoding = 'utf-8'
|
vim.opt.encoding = 'utf-8'
|
||||||
vim.opt.completeopt = 'menu,menuone,noselect'
|
vim.opt.completeopt = 'menu,menuone,noselect'
|
||||||
|
|
||||||
|
----------------------------
|
||||||
|
-------- COMMANDS --------
|
||||||
|
----------------------------
|
||||||
|
--
|
||||||
|
vim.cmd('filetype plugin indent on')
|
||||||
|
|
||||||
|
-- vim.cmd('colorscheme lucius')
|
||||||
|
-- vim.cmd('LuciusWhite')
|
||||||
|
|
||||||
|
|
||||||
|
----------------------------
|
||||||
|
-------- AUTOGROUPs --------
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
vim.api.nvim_create_augroup('VimIntern', { clear = true })
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd({'FocusGained', 'BufEnter', 'CursorMoved', 'CursorMovedI', 'CursorHold', 'CursorHoldI'}, {
|
||||||
|
group = 'VimIntern',
|
||||||
|
pattern = '*',
|
||||||
|
command = 'silent! checktime'
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd('BufEnter', {
|
||||||
|
group = 'VimIntern',
|
||||||
|
pattern = '*',
|
||||||
|
command = 'silent! lcd %:p:h'
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
-------- FUNCTIONS --------
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
vim.api.nvim_create_user_command('TrimWhiteSpace', function()
|
||||||
|
vim.cmd('%s/\\s\\+$//e')
|
||||||
|
end, {})
|
||||||
438
nvim/init.vim
438
nvim/init.vim
@ -1,438 +0,0 @@
|
|||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" vim
|
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
lua require('basic_vim')
|
|
||||||
lua require('plugins_vim')
|
|
||||||
lua require('mappings_vim')
|
|
||||||
" set nocompatible
|
|
||||||
" set mouse=a
|
|
||||||
" set history=1000
|
|
||||||
" set ruler
|
|
||||||
" set number
|
|
||||||
" set showcmd
|
|
||||||
" set ttimeoutlen=100
|
|
||||||
" set backspace=indent,eol,start
|
|
||||||
" set tabstop=4
|
|
||||||
" set expandtab
|
|
||||||
" set shiftwidth=4
|
|
||||||
" set softtabstop=4
|
|
||||||
" set autoindent
|
|
||||||
" set showmatch
|
|
||||||
" set incsearch
|
|
||||||
" set hlsearch
|
|
||||||
" set wrapscan
|
|
||||||
" set ignorecase
|
|
||||||
" set smartcase
|
|
||||||
" set hidden
|
|
||||||
" set splitright
|
|
||||||
" set splitbelow
|
|
||||||
" set backupdir=~/.config/nvim/backup,/tmp
|
|
||||||
" set backup
|
|
||||||
" set noswapfile
|
|
||||||
" set wildmode=longest,list
|
|
||||||
" set nospell
|
|
||||||
" set foldmethod=syntax
|
|
||||||
" set foldopen-=block
|
|
||||||
" set foldlevel=99
|
|
||||||
" set lazyredraw
|
|
||||||
" set listchars=eol:¬,tab:\ \ ,trail:·
|
|
||||||
" set fillchars=vert:\|,fold:\
|
|
||||||
" set list
|
|
||||||
" set laststatus=2
|
|
||||||
" set scrolloff=8
|
|
||||||
" set background=light
|
|
||||||
" " set colorcolumn=100
|
|
||||||
" set wrap
|
|
||||||
" set showbreak=..
|
|
||||||
" set clipboard+=unnamedplus
|
|
||||||
" " set formatoptions+=l
|
|
||||||
" set noerrorbells
|
|
||||||
" set visualbell
|
|
||||||
set t_vb=
|
|
||||||
" set title
|
|
||||||
" set autoread
|
|
||||||
" syntax on
|
|
||||||
" let g:tex_flavor="latex"
|
|
||||||
" set listchars=eol:¬,tab:▸\ ,trail:·
|
|
||||||
" set listchars=eol:¬,tab:>\ ,trail:·
|
|
||||||
|
|
||||||
" if !has('nvim') | set encoding=utf-8 | endif
|
|
||||||
|
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" plugins
|
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" call plug#begin('~/.local/share/nvim/site/plugins')
|
|
||||||
|
|
||||||
" Plug 'kien/ctrlp.vim' | Plug 'sgur/ctrlp-extensions.vim'
|
|
||||||
" Plug 'scrooloose/nerdtree'
|
|
||||||
" Plug 'scrooloose/syntastic'
|
|
||||||
" Plug 'vim-scripts/bufexplorer.zip'
|
|
||||||
" Plug 'majutsushi/tagbar'
|
|
||||||
|
|
||||||
" Plug 'Shougo/deoplete.nvim'
|
|
||||||
" Plug 'SirVer/ultisnips'
|
|
||||||
|
|
||||||
" Plug 'Raimondi/delimitMate'
|
|
||||||
" Plug 'tpope/vim-surround'
|
|
||||||
" Plug 'tpope/vim-commentary'
|
|
||||||
" Plug 'junegunn/vim-easy-align'
|
|
||||||
|
|
||||||
" Plug 'maxbrunsfeld/vim-yankstack'
|
|
||||||
|
|
||||||
" Plug 'tpope/vim-repeat'
|
|
||||||
" Plug 'wellle/targets.vim'
|
|
||||||
|
|
||||||
" Plug 'benekastah/neomake'
|
|
||||||
|
|
||||||
" Plug 'tpope/vim-fugitive'
|
|
||||||
" Plug 'tpope/vim-dispatch'
|
|
||||||
|
|
||||||
" Plug 'lervag/vimtex'
|
|
||||||
" Plug 'vim-scripts/LanguageTool'
|
|
||||||
|
|
||||||
" Plug 'mhinz/neovim-remote'
|
|
||||||
|
|
||||||
" Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } | Plug 'junegunn/fzf.vim'
|
|
||||||
" Plug 'rking/ag.vim'
|
|
||||||
"
|
|
||||||
" Plug 'tpope/vim-obsession'
|
|
||||||
" Plug 'mhinz/vim-startify'
|
|
||||||
" Plug 'wesQ3/vim-windowswap'
|
|
||||||
"
|
|
||||||
" Plug 'bling/vim-airline' | Plug 'vim-airline/vim-airline-themes' |Plug 'jonathanfilip/vim-lucius'
|
|
||||||
" Plug 'altercation/vim-colors-solarized'
|
|
||||||
|
|
||||||
" call plug#end()
|
|
||||||
|
|
||||||
filetype plugin indent on
|
|
||||||
|
|
||||||
set omnifunc=syntaxcomplete#Complete
|
|
||||||
" set completeopt=menu
|
|
||||||
|
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" plugin specific
|
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
|
|
||||||
" NerdTree
|
|
||||||
"let NERDTreeQuitOnOpen=1
|
|
||||||
"let NERDTreeHijackNetrw=1
|
|
||||||
|
|
||||||
" syntastic
|
|
||||||
" set statusline+=%#warningmsg#
|
|
||||||
" set statusline+=%{SyntasticStatuslineFlag()}
|
|
||||||
" set statusline+=%*
|
|
||||||
" let g:syntastic_always_populate_loc_list = 1
|
|
||||||
" let g:syntastic_auto_loc_list = 1
|
|
||||||
" let g:syntastic_check_on_open = 1
|
|
||||||
" let g:syntastic_check_on_wq = 0
|
|
||||||
|
|
||||||
" CtrlP
|
|
||||||
" set wildignore+=main,*.o,*.d,*.aux,*.bbl,*.lof,*.loa,*.blg,*.fdb_latexmk,*.fls,*.tdo,*.pdf,*.pyc
|
|
||||||
" let g:ctrlp_switch_buffer = 'e'
|
|
||||||
" let g:ctrlp_working_path_mode = 'ra'
|
|
||||||
" let g:ctrlp_extensions = [ 'tag', 'buffertag', 'mixed' ]
|
|
||||||
" let g:ctrlp_map = ''
|
|
||||||
" let g:ctrlp_prompt_mappings = {
|
|
||||||
" \ 'PrtSelectMove("j")': ['<c-n>', '<down>'],
|
|
||||||
" \ 'PrtSelectMove("k")': ['<c-p>', '<up>'],
|
|
||||||
" \}
|
|
||||||
|
|
||||||
" tagbar
|
|
||||||
let g:tagbar_left=1
|
|
||||||
let g:tagbar_autoclose=1
|
|
||||||
let g:tagbar_autofocus=1
|
|
||||||
|
|
||||||
" DelimitMate
|
|
||||||
let delimitMate_expand_space=1
|
|
||||||
let delimitMate_expand_cr=1
|
|
||||||
|
|
||||||
" UltiSnips
|
|
||||||
" let g:UltiSnipsSnippetsDir='~/.config/nvim/UltiSnips'
|
|
||||||
" let g:UltiSnipsSnippetsDirectories=["UltiSnips"]
|
|
||||||
" let g:UltiSnipsExpandTrigger="<C-j>"
|
|
||||||
" let g:UltiSnipsJumpForwardTrigger="<C-j>"
|
|
||||||
" let g:UltiSnipsJumpBackwardTrigger="<C-k>"
|
|
||||||
|
|
||||||
" YankStack
|
|
||||||
"let g:yankstack_map_keys=0
|
|
||||||
"call yankstack#setup()
|
|
||||||
|
|
||||||
" vimtex
|
|
||||||
" let g:vimtex_fold_enabled = 1
|
|
||||||
" let g:vimtex_view_method = 'zathura'
|
|
||||||
" let g:vimtex_quickfix_mode = 2
|
|
||||||
" let g:deoplete#omni#input_patterns.tex =
|
|
||||||
" \ '\v\\%('
|
|
||||||
" \ . '\a*cite\a*%(\s*\[[^]]*\]){0,2}\s*\{[^}]*'
|
|
||||||
" \ . '|\a*ref%(\s*\{[^}]*|range\s*\{[^,}]*%(}\{)?)'
|
|
||||||
" \ . '|hyperref\s*\[[^]]*'
|
|
||||||
" \ . '|includegraphics\*?%(\s*\[[^]]*\]){0,2}\s*\{[^}]*'
|
|
||||||
" \ . '|%(include%(only)?|input)\s*\{[^}]*'
|
|
||||||
" \ . '|\a*(gls|Gls|GLS)(pl)?\a*%(\s*\[[^]]*\]){0,2}\s*\{[^}]*'
|
|
||||||
" \ . '|includepdf%(\s*\[[^]]*\])?\s*\{[^}]*'
|
|
||||||
" \ . '|includestandalone%(\s*\[[^]]*\])?\s*\{[^}]*'
|
|
||||||
" \ . ')'
|
|
||||||
|
|
||||||
" Startify
|
|
||||||
let g:startify_session_dir = '~/.config/nvim/obsessions'
|
|
||||||
let g:startify_list_order = [[' Sessions'],'sessions',
|
|
||||||
\ [' Bookmarks'],'bookmarks',
|
|
||||||
\ [' Recent dirs'],'dir',]
|
|
||||||
let g:startify_bookmarks = [ {'v': '~/.config/nvim/init.vim'} ]
|
|
||||||
" \ [' Recent files'],'files',
|
|
||||||
let g:startify_custom_header = []
|
|
||||||
|
|
||||||
" windowswap
|
|
||||||
let g:windowswap_map_keys=0
|
|
||||||
|
|
||||||
" airline
|
|
||||||
let g:airline_theme='lucius'
|
|
||||||
if !exists('g:airline_symbols')
|
|
||||||
let g:airline_symbols={}
|
|
||||||
endif
|
|
||||||
let g:airline_left_sep=''
|
|
||||||
let g:airline_right_sep=''
|
|
||||||
let g:airline_symbols.linenr = '␊'
|
|
||||||
let g:airline_symbols.linenr = ''
|
|
||||||
let g:airline_symbols.linenr = '¶'
|
|
||||||
let g:airline_symbols.branch = '⎇'
|
|
||||||
let g:airline_symbols.paste = 'ρ'
|
|
||||||
let g:airline_symbols.paste = 'Þ'
|
|
||||||
let g:airline_symbols.paste = '∥'
|
|
||||||
let g:airline_symbols.whitespace = 'Ξ'
|
|
||||||
let g:airline_section_y=''
|
|
||||||
let g:airline#extensions#tabline#enabled=1
|
|
||||||
let g:airline#extensions#tabline#tab_nr_type = 1
|
|
||||||
let g:airline#extensions#tabline#show_buffers=0
|
|
||||||
let g:airline#extensions#tabline#show_tab_nr=1
|
|
||||||
let g:airline#extensions#tabline#show_tab_type=0
|
|
||||||
let g:airline#extensions#tabline#fnamemod = ':~:.'
|
|
||||||
|
|
||||||
" Lucius
|
|
||||||
colorscheme lucius
|
|
||||||
LuciusWhite
|
|
||||||
|
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" misc
|
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
|
|
||||||
let mapleader = "\<Space>"
|
|
||||||
|
|
||||||
nnoremap <leader>w :w<CR>
|
|
||||||
|
|
||||||
nnoremap <silent> <leader>q :call ToggleList("Quickfix List", 'c')<CR>
|
|
||||||
|
|
||||||
nnoremap <silent> <leader>ev :tabnew ~/.config/nvim/init.vim<CR>
|
|
||||||
|
|
||||||
nnoremap Y y$
|
|
||||||
|
|
||||||
nnoremap j gj
|
|
||||||
nnoremap k gk
|
|
||||||
vnoremap j gj
|
|
||||||
vnoremap k gk
|
|
||||||
|
|
||||||
" file navigation
|
|
||||||
nnoremap <silent> <leader>ff <cmd>Telescope find_files<CR>
|
|
||||||
nnoremap <silent> <leader>fg <cmd>Telescope live_grep<CR>
|
|
||||||
nnoremap <silent> <leader>o <cmd>Telescope buffers<CR>
|
|
||||||
nnoremap <silent> <leader>fh <cmd>Telescope help_tags<CR>
|
|
||||||
nnoremap <silent> <leader>F :e.<CR>
|
|
||||||
nnoremap <silent> <leader>O :BufExplorer<CR>
|
|
||||||
nnoremap <silent> <leader>t :CtrlPBufTagAll<CR>
|
|
||||||
nnoremap <silent> <leader>T :TagbarToggle<CR>
|
|
||||||
|
|
||||||
|
|
||||||
nnoremap <leader>p :CtrlPYankring<CR>
|
|
||||||
nnoremap <C-p> <Plug>yankstack_substitute_newer_paste
|
|
||||||
nnoremap <C-n> <Plug>yankstack_substitute_older_paste
|
|
||||||
|
|
||||||
" command line mappings
|
|
||||||
cnoremap <C-p> <Up>
|
|
||||||
cnoremap <C-n> <Down>
|
|
||||||
cnoremap w!! w !sudo tee > /dev/null %
|
|
||||||
|
|
||||||
" quickfix mappings
|
|
||||||
" nnoremap <silent> <leader>q :call ToggleList("Quickfix List", 'c')<CR>
|
|
||||||
" nnoremap <silent> [q :cprevious<CR>
|
|
||||||
" nnoremap <silent> ]q :cnext<CR>
|
|
||||||
|
|
||||||
" split movement
|
|
||||||
nnoremap <C-h> <C-w>h
|
|
||||||
nnoremap <BS> <C-w>h
|
|
||||||
nnoremap <C-j> <C-w>j
|
|
||||||
nnoremap <C-k> <C-w>k
|
|
||||||
nnoremap <C-l> <C-w>l
|
|
||||||
nnoremap <leader>s :call WindowSwap#EasyWindowSwap()<CR>
|
|
||||||
|
|
||||||
" terminal mappings
|
|
||||||
tnoremap <Esc> <C-\><C-n>
|
|
||||||
tnoremap <C-h> <C-\><C-n><C-w>h
|
|
||||||
tnoremap <C-j> <C-\><C-n><C-w>j
|
|
||||||
tnoremap <C-k> <C-\><C-n><C-w>k
|
|
||||||
tnoremap <C-l> <C-\><C-n><C-w>l
|
|
||||||
|
|
||||||
" alignment mappings
|
|
||||||
nnoremap <silent> <leader>= :normal vip<CR> :'<,'>EasyAlign =<CR>
|
|
||||||
vnoremap <silent> <leader>= :'<,'>EasyAlign =<CR>
|
|
||||||
vmap <Enter> <Plug>(EasyAlign)
|
|
||||||
nmap ga <Plug>(EasyAlign)
|
|
||||||
|
|
||||||
augroup Terminal
|
|
||||||
autocmd!
|
|
||||||
au BufWinEnter,WinEnter term://* startinsert
|
|
||||||
" au TermOpen * call SetMatlabMaps()
|
|
||||||
augroup END
|
|
||||||
|
|
||||||
" no folding on open bracket
|
|
||||||
augroup Folding
|
|
||||||
autocmd!
|
|
||||||
au InsertEnter * if !exists('w:last_fdm') | let w:last_fdm=&foldmethod | setlocal foldmethod=manual | endif
|
|
||||||
au InsertLeave,WinLeave * if exists('w:last_fdm') | let &l:foldmethod=w:last_fdm | unlet w:last_fdm | endif
|
|
||||||
augroup END
|
|
||||||
|
|
||||||
augroup VimIntern
|
|
||||||
autocmd!
|
|
||||||
" Source init.vim on write
|
|
||||||
au BufWritePost $MYVIMRC source %
|
|
||||||
" check for file change
|
|
||||||
au FocusGained,BufEnter,CursorMoved,CursorMovedI,CursorHold,CursorHoldI * :silent! checktime
|
|
||||||
" change working directory to current files directory
|
|
||||||
au BufEnter * silent! lcd %:p:h
|
|
||||||
augroup END
|
|
||||||
|
|
||||||
" tmux window title
|
|
||||||
" augroup TmuxTitle
|
|
||||||
" autocmd!
|
|
||||||
" au VimEnter * call SaveTmuxWindowName()
|
|
||||||
" au SessionLoadPost * call ChangeTmuxToSessionName()
|
|
||||||
" au VimLeave * call system("tmux rename-window '" . g:tmuxWindowName . "'")
|
|
||||||
" augroup END
|
|
||||||
|
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" filetype specific
|
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" matlab
|
|
||||||
augroup Matlab
|
|
||||||
autocmd!
|
|
||||||
au FileType matlab let b:commentary_format='% %s'
|
|
||||||
au FileType matlab setlocal listchars=eol:¬,tab:\|\ ,trail:·
|
|
||||||
au FileType matlab nnoremap <leader>ml :call OpenMatlabInTerminal()<CR>
|
|
||||||
" au FileType matlab inoremap <silent> = =<Esc>:call <SID>ealign()<CR>a
|
|
||||||
augroup END
|
|
||||||
|
|
||||||
" c/c++
|
|
||||||
augroup Cpp
|
|
||||||
autocmd!
|
|
||||||
au FileType c,cpp setlocal listchars=eol:¬,tab:\|\ ,trail:·
|
|
||||||
au FileType c,cpp nnoremap <leader>ml :call OpenMatlabInTerminal()<CR>
|
|
||||||
" au FileType c,cpp inoremap <silent> = =<Esc>:call <SID>ealign()<CR>a
|
|
||||||
augroup END
|
|
||||||
|
|
||||||
" " tex
|
|
||||||
" augroup Tex
|
|
||||||
" autocmd!
|
|
||||||
" au Filetype tex,latex setlocal foldmethod=expr
|
|
||||||
" au Filetype tex,latex setlocal foldlevel=0
|
|
||||||
" au Filetype tex,latex setlocal spell
|
|
||||||
" " au Filetype tex,latex setlocal textwidth=80
|
|
||||||
" au Filetype tex,latex inoremap $ $$<Left>
|
|
||||||
" au BufWritePost *.tex Neomake
|
|
||||||
" augroup END
|
|
||||||
|
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" custom functions
|
|
||||||
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
||||||
" open terminal with matlab in bottom right split
|
|
||||||
function! OpenMatlabInTerminal()
|
|
||||||
execute "normal \<C-w>l"
|
|
||||||
split
|
|
||||||
terminal mlnd
|
|
||||||
call SetMatlabMaps()
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
" function! SetMatlabMaps()
|
|
||||||
" if bufname('') =~? "mlnd"
|
|
||||||
" tnoremap <buffer> <leader><leader>mc close all<CR>
|
|
||||||
" tnoremap <buffer> <leader><leader>mw clear<CR>
|
|
||||||
" tnoremap <buffer> <leader><leader>mf clear functions<CR>
|
|
||||||
" nnoremap <buffer> <C-c> i<C-c>
|
|
||||||
" endif
|
|
||||||
" endfunction
|
|
||||||
|
|
||||||
" change tmux window name to session
|
|
||||||
" function! ChangeTmuxToSessionName()
|
|
||||||
" let sessionName = v:this_session
|
|
||||||
" if strlen(sessionName)
|
|
||||||
" let session = substitute(sessionName, ".*/", "", "g")
|
|
||||||
" call system("tmux rename-window '" . session . "'")
|
|
||||||
" else
|
|
||||||
" call system("tmux rename-window 'nvim'")
|
|
||||||
" endif
|
|
||||||
" endfunction
|
|
||||||
|
|
||||||
" function! SaveTmuxWindowName()
|
|
||||||
" let g:tmuxWindowName = system("tmux display-message -p '#W'")
|
|
||||||
" let g:tmuxWindowName = substitute(g:tmuxWindowName, '\n\+$', '', '')
|
|
||||||
" call system("tmux rename-window 'nvim'")
|
|
||||||
" endfunction
|
|
||||||
|
|
||||||
" remove whitespaces
|
|
||||||
function! TrimWhiteSpace()
|
|
||||||
%s/\s\+$//e
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
" function! s:ealign()
|
|
||||||
" let p = '^.*=\s.*$'
|
|
||||||
" if exists(':Tabularize') && getline('.') =~# '^.*=' && (getline(line('.')-1) =~# p || getline(line('.')+1) =~# p)
|
|
||||||
" let column = strlen(substitute(getline('.')[0:col('.')],'[^=]','','g'))
|
|
||||||
" let position = strlen(matchstr(getline('.')[0:col('.')],'.*=\s*\zs.*'))
|
|
||||||
" Tabularize/=/l1
|
|
||||||
" normal! 0
|
|
||||||
" call search(repeat('[^=]*=',column).'\s\{-\}'.repeat('.',position),'ce',line('.'))
|
|
||||||
" endif
|
|
||||||
" endfunction
|
|
||||||
|
|
||||||
" toggle the quickfix or location list window.
|
|
||||||
function! GetBufferList()
|
|
||||||
redir =>buflist
|
|
||||||
silent! ls
|
|
||||||
redir END
|
|
||||||
return buflist
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function! ToggleList(bufname, pfx)
|
|
||||||
let buflist = GetBufferList()
|
|
||||||
for bufnum in map(filter(split(buflist, '\n'), 'v:val =~ "'.a:bufname.'"'), 'str2nr(matchstr(v:val, "\\d\\+"))')
|
|
||||||
if bufwinnr(bufnum) != -1
|
|
||||||
exec(a:pfx.'close')
|
|
||||||
return
|
|
||||||
endif
|
|
||||||
endfor
|
|
||||||
if a:pfx == 'l' && len(getloclist(0)) == 0
|
|
||||||
echohl ErrorMsg
|
|
||||||
echo "Location List is Empty."
|
|
||||||
return
|
|
||||||
endif
|
|
||||||
let winnr = winnr()
|
|
||||||
exec(a:pfx.'open')
|
|
||||||
if winnr() != winnr
|
|
||||||
wincmd p
|
|
||||||
endif
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
" let neomake_matlab_mlint_maker = {
|
|
||||||
" \ 'exe': 'mlint',
|
|
||||||
" \ 'errorformat':
|
|
||||||
" \ '%+PFile:\ %f,' .
|
|
||||||
" \ 'L\ %l\ (C\ %c):\ %m,' .
|
|
||||||
" \ 'L\ %l\ (C\ %c-%.):\ %m,',
|
|
||||||
" \ }
|
|
||||||
|
|
||||||
" neomake matlab maker
|
|
||||||
let neomake_matlab_mlint_maker = {
|
|
||||||
\ 'exe': 'mlint',
|
|
||||||
\ 'errorformat':
|
|
||||||
\ '%+PFile:\ %f,' .
|
|
||||||
\ 'L\ %l\ (C\ %c):\ %*[a-zA-Z0-9]:\ %m,'.
|
|
||||||
\ 'L\ %l\ (C\ %c-%*[0-9]):\ %*[a-zA-Z0-9]:\ %m'
|
|
||||||
\ }
|
|
||||||
42
nvim/keymaps.lua
Normal file
42
nvim/keymaps.lua
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
vim.g.mapleader = " "
|
||||||
|
|
||||||
|
-- Navigation
|
||||||
|
vim.keymap.set('n', 'j', 'gj', {})
|
||||||
|
vim.keymap.set('n', 'k', 'gk', {})
|
||||||
|
vim.keymap.set('v', 'j', 'gj', {})
|
||||||
|
vim.keymap.set('v', 'k', 'gk', {})
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<C-h>', '<C-w>h', {})
|
||||||
|
vim.keymap.set('n', '<C-j>', '<C-w>j', {})
|
||||||
|
vim.keymap.set('n', '<C-k>', '<C-w>k', {})
|
||||||
|
vim.keymap.set('n', '<C-l>', '<C-w>l', {})
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<leader>s', ':call WindowSwap#EasyWindowSwap()<CR>', {})
|
||||||
|
|
||||||
|
-- Convenience
|
||||||
|
vim.keymap.set('n', '<leader>w', ':w<CR>', { silent = true })
|
||||||
|
vim.keymap.set('n', '<leader>F', ':e.<CR>', {})
|
||||||
|
vim.keymap.set('n', 'Y', 'y$', {})
|
||||||
|
|
||||||
|
-- Telescope
|
||||||
|
local telebuiltin = require('telescope.builtin')
|
||||||
|
vim.keymap.set('n', '<leader>ff', telebuiltin.find_files, { silent = true })
|
||||||
|
vim.keymap.set('n', '<leader>fg', telebuiltin.live_grep, { silent = true })
|
||||||
|
vim.keymap.set('n', '<leader>fs', telebuiltin.grep_string, { silent = true })
|
||||||
|
vim.keymap.set('n', '<leader>o', telebuiltin.buffers, { silent = true })
|
||||||
|
vim.keymap.set('n', '<leader>fh', telebuiltin.help_tags, { silent = true })
|
||||||
|
|
||||||
|
-- Yanky
|
||||||
|
vim.keymap.set({"n","x"}, "p", "<Plug>(YankyPutAfter)")
|
||||||
|
vim.keymap.set({"n","x"}, "P", "<Plug>(YankyPutBefore)")
|
||||||
|
vim.keymap.set({"n","x"}, "gp", "<Plug>(YankyGPutAfter)")
|
||||||
|
vim.keymap.set({"n","x"}, "gP", "<Plug>(YankyGPutBefore)")
|
||||||
|
vim.keymap.set("n", "<c-n>", "<Plug>(YankyCycleForward)")
|
||||||
|
vim.keymap.set("n", "<c-p>", "<Plug>(YankyCycleBackward)")
|
||||||
|
vim.keymap.set({"n","x"}, "y", "<Plug>(YankyYank)")
|
||||||
|
|
||||||
|
-- Undotree
|
||||||
|
vim.keymap.set('n', '<leader>u', vim.cmd.UndotreeToggle)
|
||||||
|
|
||||||
|
-- nnoremap <silent> <leader>t :CtrlPBufTagAll<CR>
|
||||||
|
-- nnoremap <silent> <leader>T :TagbarToggle<CR>
|
||||||
@ -1,7 +0,0 @@
|
|||||||
vim.opt.mouse = 'a'
|
|
||||||
vim.opt.history = 1000
|
|
||||||
vim.opt.ruler = true
|
|
||||||
vim.opt.ruler = true
|
|
||||||
vim.opt.number = true
|
|
||||||
vim.opt.showcmd = true
|
|
||||||
vim.opt.ttimeoutlen = 100
|
|
||||||
@ -1,17 +0,0 @@
|
|||||||
-- Yanky mappings
|
|
||||||
vim.keymap.set({"n","x"}, "p", "<Plug>(YankyPutAfter)")
|
|
||||||
vim.keymap.set({"n","x"}, "P", "<Plug>(YankyPutBefore)")
|
|
||||||
vim.keymap.set({"n","x"}, "gp", "<Plug>(YankyGPutAfter)")
|
|
||||||
vim.keymap.set({"n","x"}, "gP", "<Plug>(YankyGPutBefore)")
|
|
||||||
-- vim.keymap.set("n", "<c-n>", "<Plug>(YankyCycleForward)")
|
|
||||||
-- vim.keymap.set("n", "<c-p>", "<Plug>(YankyCycleBackward)")
|
|
||||||
vim.keymap.set({"n","x"}, "y", "<Plug>(YankyYank)")
|
|
||||||
vim.keymap.set("n", "<leader>ff", "<cmd>Telescope find_files<CR>")
|
|
||||||
-- nnoremap <silent> <leader>f <cmd>Telescope find_files<CR>
|
|
||||||
-- nnoremap <silent> <leader>fg <cmd>Telescope live_grep<CR>
|
|
||||||
-- nnoremap <silent> <leader>o <cmd>Telescope buffers<CR>
|
|
||||||
-- nnoremap <silent> <leader>fh <cmd>Telescope help_tags<CR>
|
|
||||||
-- nnoremap <silent> <leader>F :e.<CR>
|
|
||||||
-- nnoremap <silent> <leader>O :BufExplorer<CR>
|
|
||||||
-- nnoremap <silent> <leader>t :CtrlPBufTagAll<CR>
|
|
||||||
-- nnoremap <silent> <leader>T :TagbarToggle<CR>
|
|
||||||
@ -1,191 +0,0 @@
|
|||||||
local Plug = vim.fn['plug#']
|
|
||||||
|
|
||||||
vim.call('plug#begin', '~/.local/share/nvim/site/plugins')
|
|
||||||
|
|
||||||
-- enhanced commenting
|
|
||||||
Plug 'tpope/vim-commentary'
|
|
||||||
-- enhanced single-repeat '.'
|
|
||||||
Plug 'tpope/vim-repeat'
|
|
||||||
-- enhanced surrounding
|
|
||||||
Plug 'tpope/vim-surround'
|
|
||||||
-- session management
|
|
||||||
Plug 'tpope/vim-obsession'
|
|
||||||
-- enhanced text objects
|
|
||||||
Plug 'wellle/targets.vim'
|
|
||||||
-- enhanced yank
|
|
||||||
Plug 'gbprod/yanky.nvim'
|
|
||||||
-- auto close brackets
|
|
||||||
Plug 'Raimondi/delimitMate'
|
|
||||||
-- start page
|
|
||||||
Plug 'mhinz/vim-startify'
|
|
||||||
-- alignment
|
|
||||||
Plug 'junegunn/vim-easy-align'
|
|
||||||
-- swap windows
|
|
||||||
Plug 'wesQ3/vim-windowswap'
|
|
||||||
|
|
||||||
-- LSP
|
|
||||||
Plug 'neovim/nvim-lspconfig'
|
|
||||||
Plug('nvim-treesitter/nvim-treesitter', {['do'] = ':TSUpdate'})
|
|
||||||
|
|
||||||
-- command completion
|
|
||||||
Plug 'hrsh7th/cmp-nvim-lsp'
|
|
||||||
Plug 'hrsh7th/cmp-buffer'
|
|
||||||
Plug 'hrsh7th/cmp-path'
|
|
||||||
Plug 'hrsh7th/cmp-cmdline'
|
|
||||||
Plug 'hrsh7th/nvim-cmp'
|
|
||||||
-- prettify command completion
|
|
||||||
Plug 'onsails/lspkind.nvim'
|
|
||||||
|
|
||||||
-- snippets
|
|
||||||
Plug 'hrsh7th/cmp-vsnip'
|
|
||||||
Plug 'hrsh7th/vim-vsnip'
|
|
||||||
|
|
||||||
-- fuzzy finder
|
|
||||||
Plug 'nvim-lua/plenary.nvim'
|
|
||||||
Plug('nvim-telescope/telescope.nvim', {branch = '0.1.x'})
|
|
||||||
|
|
||||||
-- status line and theme
|
|
||||||
Plug 'bling/vim-airline'
|
|
||||||
Plug 'vim-airline/vim-airline-themes'
|
|
||||||
Plug 'jonathanfilip/vim-lucius'
|
|
||||||
Plug 'altercation/vim-colors-solarized'
|
|
||||||
|
|
||||||
-- filetype
|
|
||||||
Plug 'towolf/vim-helm'
|
|
||||||
|
|
||||||
vim.call('plug#end')
|
|
||||||
|
|
||||||
|
|
||||||
-- " Plug 'mhinz/neovim-remote'
|
|
||||||
|
|
||||||
-- Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } | Plug 'junegunn/fzf.vim'
|
|
||||||
-- Plug 'rking/ag.vim'
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
local cmp = require('cmp')
|
|
||||||
local lspkind = require('lspkind')
|
|
||||||
|
|
||||||
cmp.setup {
|
|
||||||
-- As currently, i am not using any snippet manager, thus disabled it.
|
|
||||||
-- snippet = {
|
|
||||||
-- expand = function(args)
|
|
||||||
-- require("luasnip").lsp_expand(args.body)
|
|
||||||
-- end,
|
|
||||||
-- },
|
|
||||||
|
|
||||||
-- mapping = {
|
|
||||||
-- ["<C-d>"] = cmp.mapping.scroll_docs(-4),
|
|
||||||
-- ["<C-f>"] = cmp.mapping.scroll_docs(4),
|
|
||||||
-- ["<C-e>"] = cmp.mapping.close(),
|
|
||||||
-- ["<c-y>"] = cmp.mapping.confirm {
|
|
||||||
-- behavior = cmp.ConfirmBehavior.Insert,
|
|
||||||
-- select = true,
|
|
||||||
-- },
|
|
||||||
-- }
|
|
||||||
|
|
||||||
mapping = cmp.mapping.preset.insert({
|
|
||||||
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
|
||||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
|
||||||
['<C-Space>'] = cmp.mapping.complete(),
|
|
||||||
['<C-e>'] = cmp.mapping.abort(),
|
|
||||||
['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
|
||||||
}),
|
|
||||||
|
|
||||||
formatting = {
|
|
||||||
format = lspkind.cmp_format {
|
|
||||||
mode = 'symbol_text',
|
|
||||||
menu = {
|
|
||||||
buffer = "[buf]",
|
|
||||||
nvim_lsp = "[LSP]",
|
|
||||||
path = "[path]",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
|
|
||||||
sources = {
|
|
||||||
{ name = "nvim_lsp"},
|
|
||||||
{ name = "path" },
|
|
||||||
{ name = "buffer" , keyword_length = 2},
|
|
||||||
},
|
|
||||||
|
|
||||||
experimental = {
|
|
||||||
ghost_text = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
cmp.setup.cmdline({ '/', '?' }, {
|
|
||||||
mapping = cmp.mapping.preset.cmdline(),
|
|
||||||
sources = {
|
|
||||||
{ name = 'buffer' }
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
|
|
||||||
cmp.setup.cmdline(':', {
|
|
||||||
mapping = cmp.mapping.preset.cmdline(),
|
|
||||||
sources = cmp.config.sources({
|
|
||||||
{ name = 'path' }
|
|
||||||
}, {
|
|
||||||
{ name = 'cmdline' }
|
|
||||||
})
|
|
||||||
})
|
|
||||||
|
|
||||||
require'nvim-treesitter.configs'.setup {
|
|
||||||
-- A list of parser names, or "all" (the four listed parsers should always be installed)
|
|
||||||
ensure_installed = { "lua", "vim", "help" },
|
|
||||||
|
|
||||||
-- Install parsers synchronously (only applied to `ensure_installed`)
|
|
||||||
sync_install = false,
|
|
||||||
|
|
||||||
-- Automatically install missing parsers when entering buffer
|
|
||||||
-- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally
|
|
||||||
auto_install = false,
|
|
||||||
|
|
||||||
|
|
||||||
---- If you need to change the installation directory of the parsers (see -> Advanced Setup)
|
|
||||||
-- parser_install_dir = "/some/path/to/store/parsers", -- Remember to run vim.opt.runtimepath:append("/some/path/to/store/parsers")!
|
|
||||||
|
|
||||||
highlight = {
|
|
||||||
-- `false` will disable the whole extension
|
|
||||||
enable = true,
|
|
||||||
|
|
||||||
-- NOTE: these are the names of the parsers and not the filetype. (for example if you want to
|
|
||||||
-- disable highlighting for the `tex` filetype, you need to include `latex` in this list as this is
|
|
||||||
-- the name of the parser)
|
|
||||||
-- list of language that will be disabled
|
|
||||||
-- disable = { "c", "rust" },
|
|
||||||
-- Or use a function for more flexibility, e.g. to disable slow treesitter highlight for large files
|
|
||||||
disable = function(lang, buf)
|
|
||||||
local max_filesize = 100 * 1024 -- 100 KB
|
|
||||||
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
|
|
||||||
if ok and stats and stats.size > max_filesize then
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
|
|
||||||
-- Setting this to true will run `:h syntax` and tree-sitter at the same time.
|
|
||||||
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
|
|
||||||
-- Using this option may slow down your editor, and you may see some duplicate highlights.
|
|
||||||
-- Instead of true it can also be a list of languages
|
|
||||||
additional_vim_regex_highlighting = false,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
require("yanky").setup({
|
|
||||||
ring = {
|
|
||||||
history_length = 100,
|
|
||||||
storage = "shada",
|
|
||||||
sync_with_numbered_registers = true,
|
|
||||||
cancel_event = "update",
|
|
||||||
},
|
|
||||||
system_clipboard = {
|
|
||||||
sync_with_ring = true,
|
|
||||||
},
|
|
||||||
preserve_cursor_position = {
|
|
||||||
enabled = true,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
--
|
|
||||||
require("telescope").load_extension("yank_history")
|
|
||||||
2
nvim/obsessions/.gitignore
vendored
2
nvim/obsessions/.gitignore
vendored
@ -1,2 +0,0 @@
|
|||||||
*
|
|
||||||
!.gitignore
|
|
||||||
178
nvim/plugins.lua
Normal file
178
nvim/plugins.lua
Normal file
@ -0,0 +1,178 @@
|
|||||||
|
vim.g.delimitMate_expand_space=1
|
||||||
|
vim.g.delimitMate_expand_cr = 1
|
||||||
|
|
||||||
|
vim.g.tagbar_left=1
|
||||||
|
vim.g.tagbar_autoclose=1
|
||||||
|
vim.g.tagbar_autofocus=1
|
||||||
|
|
||||||
|
vim.g.windowswap_map_keys=0
|
||||||
|
|
||||||
|
local cmp = require('cmp')
|
||||||
|
local lspkind = require('lspkind')
|
||||||
|
|
||||||
|
cmp.setup({
|
||||||
|
snippet = {
|
||||||
|
expand = function(args)
|
||||||
|
vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
window = {
|
||||||
|
completion = cmp.config.window.bordered(),
|
||||||
|
documentation = cmp.config.window.bordered(),
|
||||||
|
},
|
||||||
|
|
||||||
|
mapping = cmp.mapping.preset.insert({
|
||||||
|
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
||||||
|
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||||
|
['<C-Space>'] = cmp.mapping.complete(),
|
||||||
|
['<C-e>'] = cmp.mapping.abort(),
|
||||||
|
['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
||||||
|
}),
|
||||||
|
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = 'nvim_lsp' },
|
||||||
|
{ name = 'vsnip' },
|
||||||
|
{ name = 'path' },
|
||||||
|
{ name = 'cmp_yanky' },
|
||||||
|
{ name = 'git' },
|
||||||
|
-- }, {
|
||||||
|
{ name = 'buffer', keyword_length = 2 },
|
||||||
|
}),
|
||||||
|
|
||||||
|
formatting = {
|
||||||
|
format = lspkind.cmp_format({
|
||||||
|
mode = "symbol_text",
|
||||||
|
menu = ({
|
||||||
|
buffer = "[buf]",
|
||||||
|
nvim_lsp = "[lsp]",
|
||||||
|
vsnip = "[snip]",
|
||||||
|
nvim_lua = "[lua]",
|
||||||
|
latex_symbols = "[tex]",
|
||||||
|
path = "[path]",
|
||||||
|
cmp_yanky = "[yank]",
|
||||||
|
})
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- -- Set configuration for specific filetype.
|
||||||
|
-- cmp.setup.filetype('gitcommit', {
|
||||||
|
-- sources = cmp.config.sources({
|
||||||
|
-- { name = 'git' }, -- You can specify the `git` source if [you were installed it](https://github.com/petertriho/cmp-git).
|
||||||
|
-- }, {
|
||||||
|
-- { name = 'buffer' },
|
||||||
|
-- })
|
||||||
|
-- })
|
||||||
|
|
||||||
|
cmp.setup.cmdline({ '/', '?' }, {
|
||||||
|
mapping = cmp.mapping.preset.cmdline(),
|
||||||
|
sources = {
|
||||||
|
{ name = 'buffer' }
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
cmp.setup.cmdline(':', {
|
||||||
|
mapping = cmp.mapping.preset.cmdline(),
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = 'path' }
|
||||||
|
}, {
|
||||||
|
{ name = 'cmdline' }
|
||||||
|
}),
|
||||||
|
matching = { disallow_symbol_nonprefix_matching = false }
|
||||||
|
})
|
||||||
|
|
||||||
|
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||||
|
local lspconfig = require("lspconfig")
|
||||||
|
lspconfig.gopls.setup({ capabilities = capabilities })
|
||||||
|
lspconfig.svelte.setup({ capabilities = capabilities })
|
||||||
|
lspconfig.pyright.setup({ capabilities = capabilities })
|
||||||
|
lspconfig.omnisharp.setup({ capabilities = capabilities })
|
||||||
|
lspconfig.clangd.setup({ capabilities = capabilities })
|
||||||
|
lspconfig.dockerls.setup({ capabilities = capabilities })
|
||||||
|
lspconfig.docker_compose_language_service.setup({ capabilities = capabilities })
|
||||||
|
lspconfig.flow.setup({ capabilities = capabilities })
|
||||||
|
lspconfig.marksman.setup({ capabilities = capabilities })
|
||||||
|
lspconfig.als.setup({ capabilities = capabilities })
|
||||||
|
lspconfig.sqls.setup({ capabilities = capabilities })
|
||||||
|
lspconfig.yamlls.setup({ capabilities = capabilities })
|
||||||
|
lspconfig.nil_ls.setup({ capabilities = capabilities })
|
||||||
|
|
||||||
|
require("yanky").setup({
|
||||||
|
ring = {
|
||||||
|
history_length = 100,
|
||||||
|
storage = "shada",
|
||||||
|
sync_with_numbered_registers = true,
|
||||||
|
cancel_event = "update",
|
||||||
|
},
|
||||||
|
system_clipboard = {
|
||||||
|
sync_with_ring = true,
|
||||||
|
},
|
||||||
|
preserve_cursor_position = {
|
||||||
|
enabled = true,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
require("telescope").load_extension("yank_history")
|
||||||
|
|
||||||
|
require'nvim-treesitter.configs'.setup {
|
||||||
|
-- ensure_installed = { "lua", "vim", "help" },
|
||||||
|
sync_install = false,
|
||||||
|
auto_install = false,
|
||||||
|
|
||||||
|
|
||||||
|
highlight = {
|
||||||
|
enable = true,
|
||||||
|
|
||||||
|
disable = function(lang, buf)
|
||||||
|
local max_filesize = 100 * 1024 -- 100 KB
|
||||||
|
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
|
||||||
|
if ok and stats and stats.size > max_filesize then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
|
||||||
|
additional_vim_regex_highlighting = false,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
require('lualine').setup({
|
||||||
|
options = {
|
||||||
|
icons_enabled = true,
|
||||||
|
theme = 'Tomorrow',
|
||||||
|
component_separators = { left = '', right = ''},
|
||||||
|
section_separators = { left = '', right = ''},
|
||||||
|
disabled_filetypes = {
|
||||||
|
statusline = {},
|
||||||
|
winbar = {},
|
||||||
|
},
|
||||||
|
ignore_focus = {},
|
||||||
|
always_divide_middle = true,
|
||||||
|
globalstatus = false,
|
||||||
|
refresh = {
|
||||||
|
statusline = 1000,
|
||||||
|
tabline = 1000,
|
||||||
|
winbar = 1000,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
sections = {
|
||||||
|
lualine_a = {'mode'},
|
||||||
|
lualine_b = {'branch', 'diff', 'diagnostics'},
|
||||||
|
lualine_c = {'filename'},
|
||||||
|
lualine_x = {'encoding', 'fileformat', 'filetype'},
|
||||||
|
lualine_y = {'progress'},
|
||||||
|
lualine_z = {'location'}
|
||||||
|
},
|
||||||
|
inactive_sections = {
|
||||||
|
lualine_a = {},
|
||||||
|
lualine_b = {},
|
||||||
|
lualine_c = {'filename'},
|
||||||
|
lualine_x = {'location'},
|
||||||
|
lualine_y = {},
|
||||||
|
lualine_z = {}
|
||||||
|
},
|
||||||
|
tabline = {},
|
||||||
|
winbar = {},
|
||||||
|
inactive_winbar = {},
|
||||||
|
extensions = {}
|
||||||
|
})
|
||||||
2
nvim/plugins/.gitignore
vendored
2
nvim/plugins/.gitignore
vendored
@ -1,2 +0,0 @@
|
|||||||
*
|
|
||||||
!.gitignore
|
|
||||||
2
nvim/pluginstuff/yankring/.gitignore
vendored
2
nvim/pluginstuff/yankring/.gitignore
vendored
@ -1,2 +0,0 @@
|
|||||||
*
|
|
||||||
!.gitignore
|
|
||||||
1
nvim/pluginstuff/ycm/.gitignore
vendored
1
nvim/pluginstuff/ycm/.gitignore
vendored
@ -1 +0,0 @@
|
|||||||
*.pyc
|
|
||||||
@ -1,117 +0,0 @@
|
|||||||
import os
|
|
||||||
import ycm_core
|
|
||||||
from clang_helpers import PrepareClangFlags
|
|
||||||
|
|
||||||
# These are the compilation flags that will be used in case there's no
|
|
||||||
# compilation database set (by default, one is not set).
|
|
||||||
# CHANGE THIS LIST OF FLAGS. YES, THIS IS THE DROID YOU HAVE BEEN LOOKING FOR.
|
|
||||||
flags = [
|
|
||||||
'-Wall',
|
|
||||||
'-pendantic',
|
|
||||||
'-std=c++11',
|
|
||||||
'-x',
|
|
||||||
'c++',
|
|
||||||
'-I',
|
|
||||||
'.',
|
|
||||||
'-isystem',
|
|
||||||
'/usr/include/',
|
|
||||||
'-isystem',
|
|
||||||
'/usr/local/include/',
|
|
||||||
'-isystem',
|
|
||||||
'/Library/Developer/CommandLineTools/usr/include',
|
|
||||||
'-isystem',
|
|
||||||
'/Library/Developer/CommandLineTools/usr/lib/c++/v1'
|
|
||||||
]
|
|
||||||
|
|
||||||
compilation_database_folder = ''
|
|
||||||
|
|
||||||
if os.path.exists( compilation_database_folder ):
|
|
||||||
database = ycm_core.CompilationDatabase( compilation_database_folder )
|
|
||||||
else:
|
|
||||||
database = None
|
|
||||||
|
|
||||||
SOURCE_EXTENSIONS = [ '.cpp', '.cxx', '.cc', '.c', '.m', '.mm' ]
|
|
||||||
|
|
||||||
def DirectoryOfThisScript():
|
|
||||||
return os.path.dirname( os.path.abspath( __file__ ) )
|
|
||||||
|
|
||||||
|
|
||||||
def MakeRelativePathsInFlagsAbsolute( flags, working_directory ):
|
|
||||||
if not working_directory:
|
|
||||||
return list( flags )
|
|
||||||
new_flags = []
|
|
||||||
make_next_absolute = False
|
|
||||||
path_flags = [ '-isystem', '-I', '-iquote', '--sysroot=' ]
|
|
||||||
for flag in flags:
|
|
||||||
new_flag = flag
|
|
||||||
|
|
||||||
if make_next_absolute:
|
|
||||||
make_next_absolute = False
|
|
||||||
if not flag.startswith( '/' ):
|
|
||||||
new_flag = os.path.join( working_directory, flag )
|
|
||||||
|
|
||||||
for path_flag in path_flags:
|
|
||||||
if flag == path_flag:
|
|
||||||
make_next_absolute = True
|
|
||||||
break
|
|
||||||
|
|
||||||
if flag.startswith( path_flag ):
|
|
||||||
path = flag[ len( path_flag ): ]
|
|
||||||
new_flag = path_flag + os.path.join( working_directory, path )
|
|
||||||
break
|
|
||||||
|
|
||||||
if new_flag:
|
|
||||||
new_flags.append( new_flag )
|
|
||||||
return new_flags
|
|
||||||
|
|
||||||
|
|
||||||
def IsHeaderFile( filename ):
|
|
||||||
extension = os.path.splitext( filename )[ 1 ]
|
|
||||||
return extension in [ '.h', '.hxx', '.hpp', '.hh' ]
|
|
||||||
|
|
||||||
|
|
||||||
def GetCompilationInfoForFile( filename ):
|
|
||||||
# The compilation_commands.json file generated by CMake does not have entries
|
|
||||||
# for header files. So we do our best by asking the db for flags for a
|
|
||||||
# corresponding source file, if any. If one exists, the flags for that file
|
|
||||||
# should be good enough.
|
|
||||||
if IsHeaderFile( filename ):
|
|
||||||
basename = os.path.splitext( filename )[ 0 ]
|
|
||||||
for extension in SOURCE_EXTENSIONS:
|
|
||||||
replacement_file = basename + extension
|
|
||||||
if os.path.exists( replacement_file ):
|
|
||||||
compilation_info = database.GetCompilationInfoForFile(
|
|
||||||
replacement_file )
|
|
||||||
if compilation_info.compiler_flags_:
|
|
||||||
return compilation_info
|
|
||||||
return None
|
|
||||||
return database.GetCompilationInfoForFile( filename )
|
|
||||||
|
|
||||||
|
|
||||||
def FlagsForFile( filename, **kwargs ):
|
|
||||||
if database:
|
|
||||||
# Bear in mind that compilation_info.compiler_flags_ does NOT return a
|
|
||||||
# python list, but a "list-like" StringVec object
|
|
||||||
compilation_info = GetCompilationInfoForFile( filename )
|
|
||||||
if not compilation_info:
|
|
||||||
return None
|
|
||||||
|
|
||||||
final_flags = MakeRelativePathsInFlagsAbsolute(
|
|
||||||
compilation_info.compiler_flags_,
|
|
||||||
compilation_info.compiler_working_dir_ )
|
|
||||||
|
|
||||||
# NOTE: This is just for YouCompleteMe; it's highly likely that your project
|
|
||||||
# does NOT need to remove the stdlib flag. DO NOT USE THIS IN YOUR
|
|
||||||
# ycm_extra_conf IF YOU'RE NOT 100% SURE YOU NEED IT.
|
|
||||||
try:
|
|
||||||
final_flags.remove( '-stdlib=libc++' )
|
|
||||||
except ValueError:
|
|
||||||
pass
|
|
||||||
else:
|
|
||||||
relative_to = DirectoryOfThisScript()
|
|
||||||
final_flags = MakeRelativePathsInFlagsAbsolute( flags, relative_to )
|
|
||||||
|
|
||||||
return {
|
|
||||||
'flags': final_flags,
|
|
||||||
'do_cache': True
|
|
||||||
}
|
|
||||||
Binary file not shown.
@ -1,4 +0,0 @@
|
|||||||
resampling
|
|
||||||
reweighted
|
|
||||||
reweighting
|
|
||||||
Kalman
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
55
setup
55
setup
@ -1,55 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
||||||
|
|
||||||
###########################################################
|
|
||||||
## call setups
|
|
||||||
###########################################################
|
|
||||||
|
|
||||||
for setupdir in *; do
|
|
||||||
if [[ $setupdir != "setup" ]]; then
|
|
||||||
if [[ -a $DIR/$setupdir/setup ]]; then
|
|
||||||
echo -e "\n###########################################################"
|
|
||||||
echo "## " $setupdir "will be setup"
|
|
||||||
echo "###########################################################"
|
|
||||||
( exec "$setupdir/setup" )
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
###########################################################
|
|
||||||
## nvim setup
|
|
||||||
###########################################################
|
|
||||||
|
|
||||||
NVIMDIR="$HOME/.config/nvim"
|
|
||||||
PLUGINDIR="$HOME/.local/share/nvim/site"
|
|
||||||
|
|
||||||
if [[ ! -d $PLUGINDIR ]]; then
|
|
||||||
mkdir -p $PLUGINDIR
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo -e "\n###########################################################"
|
|
||||||
echo "## nvim will be setup"
|
|
||||||
echo "###########################################################"
|
|
||||||
|
|
||||||
|
|
||||||
if [[ ! -a $NVIMDIR ]]; then
|
|
||||||
ln -s $DIR/nvim $NVIMDIR
|
|
||||||
echo "nvim symlinked to" $NVIMDIR
|
|
||||||
else
|
|
||||||
echo "already exists:" $NVIMDIR
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ ! -a $PLUGINDIR/plugins ]]; then
|
|
||||||
ln -s $DIR/nvim/plugins $PLUGINDIR/plugins
|
|
||||||
echo "plugins symlinked to" $PLUGINDIR/plugins
|
|
||||||
else
|
|
||||||
echo "already exists:" $PLUGINDIR/plugins
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ ! -a $PLUGINDIR/autoload ]]; then
|
|
||||||
ln -s $DIR/nvim/autoload $PLUGINDIR/autoload
|
|
||||||
echo "autoload symlinked to" $PLUGINDIR/autoload
|
|
||||||
else
|
|
||||||
echo "already exists:" $PLUGINDIR/autoload
|
|
||||||
fi
|
|
||||||
Reference in New Issue
Block a user