mirror of
https://github.com/js0ny/dotfiles.git
synced 2025-12-21 00:33:00 +00:00
Initial Commit
This commit is contained in:
commit
40e939bfb4
42 changed files with 4349 additions and 0 deletions
10
.gitconfig
Normal file
10
.gitconfig
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
[user]
|
||||
name = js0ny
|
||||
email = json.y@outlook.com
|
||||
[core]
|
||||
editor = vim
|
||||
[filter "lfs"]
|
||||
clean = git-lfs clean -- %f
|
||||
smudge = git-lfs smudge -- %f
|
||||
process = git-lfs filter-process
|
||||
required = true
|
||||
10
.gitignore
vendored
Normal file
10
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
.private.env.sh
|
||||
.private.env.ps1
|
||||
nvim/tt.*
|
||||
nvim/.tests
|
||||
nvim/doc/tags
|
||||
nvim/debug
|
||||
nvim/.repro
|
||||
nvim/foo.*
|
||||
nvim/*.log
|
||||
nvim/data
|
||||
120
.ideavimrc
Normal file
120
.ideavimrc
Normal file
|
|
@ -0,0 +1,120 @@
|
|||
""" Basic Configs """
|
||||
let mapleader = " " " set <leader> to <space>
|
||||
|
||||
""" Options """
|
||||
" search for actions: :actionlist <patter>
|
||||
|
||||
"" Vim Compat ""
|
||||
set clipboard=unnamedplus,unnamed,ideaput " integrate with system clipboard
|
||||
set gdefault " substitute all occurrences in line per default
|
||||
set history=4096 " keep x lines of command line history
|
||||
set hlsearch
|
||||
set ignorecase
|
||||
set incsearch
|
||||
set keymodel=startsel,stopsel
|
||||
set matchpairs+=<:>
|
||||
set showcmd
|
||||
set smartcase " no ignore case when pattern is uppercase
|
||||
set wrapscan " searches wrap around the end of the file
|
||||
|
||||
"" IDE Settings ""
|
||||
set scrolloff=5
|
||||
set sidescrolloff=10
|
||||
|
||||
"" IDE Features ""
|
||||
set relativenumber " Hybrid Line Number shown
|
||||
|
||||
"" IdeaVim Only ""
|
||||
set ideajoin
|
||||
set ideastatusicon=enabled
|
||||
|
||||
""" Plugins """
|
||||
|
||||
Plug 'justinmk/vim-sneak'
|
||||
Plug 'preservim/nerdtree'
|
||||
Plug 'tpope/vim-surround'
|
||||
Plug 'tpope/vim-commentary'
|
||||
Plug 'terryma/vim-multiple-cursors'
|
||||
Plug 'machakann/vim-highlightedyank'
|
||||
|
||||
""" Keybindings """
|
||||
|
||||
"" edit ideavim config <leader>v + ""
|
||||
nnoremap <leader>vv :e ~/.ideavimrc<CR>
|
||||
nnoremap <leader>vr :source ~/.ideavimrc<CR>
|
||||
|
||||
"" NERDTree ""
|
||||
nnoremap <leader>e :NERDTreeToggle<CR>
|
||||
|
||||
"" Miscs ""
|
||||
nnoremap <leader>: :action GotoAction<CR>
|
||||
|
||||
"" AI Related <leader>a + ""
|
||||
nnoremap <leader>ac :action copilot.chat.show<CR>
|
||||
nnoremap <leader>ad :action copilot.disabelCopilot<CR>
|
||||
nnoremap <leader>ae :action copilot.enabelCopilot<CR>
|
||||
nnoremap <leader>ai :action copilot.openCopilot<CR>
|
||||
|
||||
"" Codes Action <leader>c + ""
|
||||
nnoremap <leader>cf :action ReformatCode<CR>
|
||||
nnoremap <leader>cs :action GotoSymbol<CR>
|
||||
|
||||
"" Project Action <leader>p + ""
|
||||
nnoremap <leader>pr :action Run<CR>
|
||||
nnoremap <leader>pd :action Debug<CR>
|
||||
nnoremap <leader>pb :action Build<CR>
|
||||
|
||||
"" Files Action <leader>f + ""
|
||||
nnoremap <leader>fe :NERDTreeToggle<CR>
|
||||
nnoremap <leader>ft :action ActivateTerminalToolWindow<CR>
|
||||
|
||||
"" Tab Actions <leader><tab> + ""
|
||||
nnoremap <leader><tab><tab> :action Switcher<CR>
|
||||
|
||||
"" Collapse and Expand z + ""
|
||||
nnoremap zi :action ExpandCollapseToggleAction<CR>
|
||||
nnoremap zc :action CollapseRegion<CR>
|
||||
nnoremap zC :action CollapseRegionRecursively<CR>
|
||||
nnoremap zM :action CollapseAll<CR>
|
||||
nnoremap zo :action ExpandRegion<CR>
|
||||
nnoremap zO :action ExpandRegionRecursively<CR>
|
||||
nnoremap zR :action ExpandAll<CR>
|
||||
|
||||
"" don't lose selection when indenting ""
|
||||
vnoremap < <gv
|
||||
vnoremap > >gv
|
||||
vnoremap = =gv
|
||||
|
||||
|
||||
nnoremap <leader>a :action FindInPath<CR>
|
||||
nnoremap gd :action GotoDeclaration<CR>
|
||||
nnoremap gtd :action GotoTypeDeclaration<CR>
|
||||
nnoremap gtD :action QuickTypeDefinition<CR>
|
||||
nnoremap gr :action ShowUsages<CR>
|
||||
nnoremap gi :action GotoImplementation<CR>
|
||||
nnoremap gpi :action QuickImplementations<CR>
|
||||
nnoremap gs :action GotoSuperMethod<CR>
|
||||
nnoremap ga :action
|
||||
nnoremap gq :action ShowIntentionActions<CR>
|
||||
nnoremap ge :action GotoNextError<CR>
|
||||
|
||||
nnoremap <C-p> :action ParameterInfo<CR>
|
||||
inoremap <C-p> <C-o>:action ParameterInfo<CR>
|
||||
|
||||
"" Refractor <leader>r + ""
|
||||
|
||||
nnoremap <leader>ri :action Inline<CR>
|
||||
nnoremap <leader>rr :action RenameElement<CR>
|
||||
nnoremap <leader>rev :action IntroduceVariable<CR>
|
||||
vnoremap <leader>rev :action IntroduceVariable<CR>
|
||||
nnoremap <leader>rem :action ExtractMethod<CR>
|
||||
vnoremap <leader>rem :action ExtractMethod<CR>
|
||||
nnoremap <leader>rm :action Move<CR>
|
||||
nnoremap <leader>ro :action OptimizeImports<CR>
|
||||
nnoremap <leader>rG :action Generate<CR>
|
||||
|
||||
""" Handling Ctrls """
|
||||
|
||||
sethandler <C-V> n-v:vim i:ide
|
||||
sethandler <C-.> a:ide
|
||||
sethandler <A-<CR>> a:ide
|
||||
2
.npmrc
Normal file
2
.npmrc
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
proxy=http://127.0.0.1:7890
|
||||
https-proxy=http://127.0.0.1:7890
|
||||
21
LICENSE
Normal file
21
LICENSE
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2024 js0ny
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
6
desktop.ini
Normal file
6
desktop.ini
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
[.ShellClassInfo]
|
||||
IconResource=C:\Windows\System32\SHELL32.dll,137
|
||||
[ViewState]
|
||||
Mode=
|
||||
Vid=
|
||||
FolderType=Documents
|
||||
3
install_nvim.sh
Normal file
3
install_nvim.sh
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz
|
||||
sudo rm -rf /opt/nvim
|
||||
sudo tar -C /opt -xzf nvim-linux64.tar.gz
|
||||
168
linux/.bashrc
Normal file
168
linux/.bashrc
Normal file
|
|
@ -0,0 +1,168 @@
|
|||
# ~/.bashrc: executed by bash(1) for non-login shells.
|
||||
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
|
||||
# for examples
|
||||
|
||||
# If not running interactively, don't do anything
|
||||
case $- in
|
||||
*i*) ;;
|
||||
*) return ;;
|
||||
esac
|
||||
|
||||
# don't put duplicate lines or lines starting with space in the history.
|
||||
# See bash(1) for more options
|
||||
HISTCONTROL=ignoreboth
|
||||
|
||||
# append to the history file, don't overwrite it
|
||||
shopt -s histappend
|
||||
|
||||
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
|
||||
HISTSIZE=1000
|
||||
HISTFILESIZE=2000
|
||||
|
||||
# check the window size after each command and, if necessary,
|
||||
# update the values of LINES and COLUMNS.
|
||||
shopt -s checkwinsize
|
||||
|
||||
# If set, the pattern "**" used in a pathname expansion context will
|
||||
# match all files and zero or more directories and subdirectories.
|
||||
#shopt -s globstar
|
||||
|
||||
# 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 | *-256color) 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'
|
||||
#alias dir='dir --color=auto'
|
||||
#alias vdir='vdir --color=auto'
|
||||
|
||||
alias grep='grep --color=auto'
|
||||
alias fgrep='fgrep --color=auto'
|
||||
alias egrep='egrep --color=auto'
|
||||
fi
|
||||
|
||||
# colored GCC warnings and errors
|
||||
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
|
||||
|
||||
# some more ls aliases
|
||||
alias ll='ls -alF'
|
||||
alias la='ls -A'
|
||||
alias l='ls -CF'
|
||||
|
||||
# Add an "alert" alias for long running commands. Use like so:
|
||||
# sleep 10; alert
|
||||
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
|
||||
|
||||
# Alias definitions.
|
||||
# You may want to put all your additions into a separate file like
|
||||
# ~/.bash_aliases, instead of adding them here directly.
|
||||
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
|
||||
|
||||
if [ -f ~/.bash_aliases ]; then
|
||||
. ~/.bash_aliases
|
||||
fi
|
||||
|
||||
# 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 ! shopt -oq posix; then
|
||||
if [ -f /usr/share/bash-completion/bash_completion ]; then
|
||||
. /usr/share/bash-completion/bash_completion
|
||||
elif [ -f /etc/bash_completion ]; then
|
||||
. /etc/bash_completion
|
||||
fi
|
||||
fi
|
||||
|
||||
. "$HOME/.cargo/env"
|
||||
|
||||
export PATH="/opt/nvim-linux64/bin:$PATH"
|
||||
|
||||
set -o vi
|
||||
|
||||
date
|
||||
|
||||
# >>> conda initialize >>>
|
||||
# !! Contents within this block are managed by 'conda init' !!
|
||||
__conda_setup="$('/home/citoyen/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
|
||||
if [ $? -eq 0 ]; then
|
||||
eval "$__conda_setup"
|
||||
else
|
||||
if [ -f "/home/citoyen/miniconda3/etc/profile.d/conda.sh" ]; then
|
||||
. "/home/citoyen/miniconda3/etc/profile.d/conda.sh"
|
||||
else
|
||||
export PATH="/home/citoyen/miniconda3/bin:$PATH"
|
||||
fi
|
||||
fi
|
||||
unset __conda_setup
|
||||
# <<< conda initialize <<<
|
||||
|
||||
|
||||
alias g++='g++ -std=c++2b'
|
||||
alias nvim=/opt/nvim-linux64/bin/nvim
|
||||
alias python=python3
|
||||
alias v=nvim
|
||||
alias c=code
|
||||
alias bashcfg="nvim ~/.bashrc"
|
||||
alias zshcfg="nvim ~/.zshrc"
|
||||
alias nvimrc="nvim ~/.config/nvim/"
|
||||
|
||||
set -o vi
|
||||
|
||||
mcd ()
|
||||
{
|
||||
mkdir -p -- "$1" && cd -P -- "$1"
|
||||
}
|
||||
cdls(){
|
||||
cd $1
|
||||
ls
|
||||
}
|
||||
wsp(){
|
||||
cd /home/citoyen/WSLFdr/
|
||||
ls
|
||||
}
|
||||
doku() {
|
||||
cd ~/doku/ && ls
|
||||
}
|
||||
source ~/.private.env
|
||||
139
linux/.zshrc
Normal file
139
linux/.zshrc
Normal file
|
|
@ -0,0 +1,139 @@
|
|||
### Variables ###
|
||||
|
||||
export DOTFILES="$HOME/.dotfiles"
|
||||
|
||||
### ZSH Config ###
|
||||
set -o vi
|
||||
export PATH=$HOME/bin:$HOME/.local/bin:/usr/local/bin:$PATH
|
||||
export ZSH="$HOME/.oh-my-zsh"
|
||||
ZSH_THEME="avit"
|
||||
# DISABLE_MAGIC_FUNCTIONS="true"
|
||||
# DISABLE_LS_COLORS="true"
|
||||
# DISABLE_AUTO_TITLE="true"
|
||||
# ENABLE_CORRECTION="true"
|
||||
# Uncomment the following line to display red dots whilst waiting for completion.
|
||||
# You can also set it to another string to have that shown instead of the default red dots.
|
||||
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
|
||||
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
|
||||
# COMPLETION_WAITING_DOTS="true"
|
||||
# Uncomment the following line if you want to disable marking untracked files
|
||||
# under VCS as dirty. This makes repository status check for large repositories
|
||||
# much, much faster.
|
||||
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
||||
HIST_STAMPS="yyyy-mm-dd"
|
||||
plugins=(git web-search jsontools z vi-mode zsh-syntax-highlighting zsh-autosuggestions)
|
||||
source $ZSH/oh-my-zsh.sh
|
||||
|
||||
# export MANPATH="/usr/local/man:$MANPATH"
|
||||
# export LANG= "en_US.UTF-8"
|
||||
export ARCHFLAGS="-arch x86_64"
|
||||
|
||||
### Navigation ###
|
||||
|
||||
# Relative navigation
|
||||
|
||||
alias ..="cd .."
|
||||
alias ...="cd ../.."
|
||||
alias ....="cd ../../.."
|
||||
alias .....="cd ../../../.."
|
||||
alias ......="cd ../../../../.."
|
||||
|
||||
# Absolute navigation
|
||||
|
||||
alias doku="cd ~/doku && ls"
|
||||
alias dotfiles="cd $DOTFILES && ls"
|
||||
|
||||
### Aliases ###
|
||||
|
||||
# `alias` to list all aliases
|
||||
|
||||
# PowerShell Equivalent #
|
||||
|
||||
alias ni=touch
|
||||
alias cls=clear
|
||||
|
||||
# Dev #
|
||||
|
||||
alias g++='g++ -std=c++2b' # Set the default C++ standard to C++20
|
||||
alias gcc='gcc -std=c99' # Set the default C standard to C99
|
||||
alias cl='clang'
|
||||
alias cl++='clang++'
|
||||
alias python=python3 # Set the default Python version to Python 3
|
||||
alias py=python # Alias for Python
|
||||
alias bashcfg="nvim ~/.bashrc"
|
||||
alias zshcfg="nvim ~/.zshrc"
|
||||
alias shcfg=zshcfg
|
||||
alias nvimrc="nvim ~/.config/nvim/"
|
||||
alias ohmyzsh="code ~/.oh-my-zsh"
|
||||
|
||||
# Editors #
|
||||
|
||||
alias v=nvim
|
||||
alias gvi=neovide
|
||||
alias c=code
|
||||
|
||||
# Misc #
|
||||
|
||||
alias cf=cfiles
|
||||
|
||||
### Functions ###
|
||||
|
||||
mcd() {
|
||||
mkdir -p -- "$1" && cd -P -- "$1"
|
||||
}
|
||||
cdls(){
|
||||
cd $1 && ls
|
||||
}
|
||||
tc(){
|
||||
touch $1 && code $1
|
||||
}
|
||||
tv(){
|
||||
touch $1 && nvim $1
|
||||
}
|
||||
|
||||
source ~/.private.env.sh
|
||||
|
||||
### WSL Options ###
|
||||
|
||||
# WSL open
|
||||
open() {
|
||||
local target=$1
|
||||
|
||||
if command -v explorer.exe > /dev/null; then
|
||||
explorer.exe "$target"
|
||||
else
|
||||
command open "$target"
|
||||
fi
|
||||
}
|
||||
|
||||
# WSL Neovide
|
||||
neovide() {
|
||||
local target=$1
|
||||
|
||||
if command -v neovide.exe > /dev/null; then
|
||||
neovide.exe "$target"
|
||||
else
|
||||
if command -v neovide > /dev/null; then
|
||||
neovide "$target"
|
||||
else
|
||||
echo "neovide is not installed"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
### Misc ###
|
||||
|
||||
# >>> conda initialize >>>
|
||||
# !! Contents within this block are managed by 'conda init' !!
|
||||
__conda_setup="$('$HOME/miniconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
|
||||
if [ $? -eq 0 ]; then
|
||||
eval "$__conda_setup"
|
||||
else
|
||||
if [ -f "$HOME/miniconda3/etc/profile.d/conda.sh" ]; then
|
||||
. "$HOME/miniconda3/etc/profile.d/conda.sh"
|
||||
else
|
||||
export PATH="$HOME/miniconda3/bin:$PATH"
|
||||
fi
|
||||
fi
|
||||
unset __conda_setup
|
||||
# <<< conda initialize <<<
|
||||
6
linux/readme.md
Normal file
6
linux/readme.md
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# Configs for Linux
|
||||
|
||||
## Navigator
|
||||
|
||||
- [Bash Config](./.bashrc)
|
||||
- [Zsh Config](./.zshrc)
|
||||
139
mac/.zshrc
Normal file
139
mac/.zshrc
Normal file
|
|
@ -0,0 +1,139 @@
|
|||
### Variables ###
|
||||
|
||||
export DOTFILES="$HOME/.dotfiles"
|
||||
|
||||
### ZSH Config ###
|
||||
set -o vi
|
||||
export PATH=$HOME/bin:$HOME/.local/bin:/usr/local/bin:$PATH
|
||||
export ZSH="$HOME/.oh-my-zsh"
|
||||
ZSH_THEME="avit"
|
||||
# DISABLE_MAGIC_FUNCTIONS="true"
|
||||
# DISABLE_LS_COLORS="true"
|
||||
# DISABLE_AUTO_TITLE="true"
|
||||
# ENABLE_CORRECTION="true"
|
||||
# Uncomment the following line to display red dots whilst waiting for completion.
|
||||
# You can also set it to another string to have that shown instead of the default red dots.
|
||||
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
|
||||
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
|
||||
# COMPLETION_WAITING_DOTS="true"
|
||||
# Uncomment the following line if you want to disable marking untracked files
|
||||
# under VCS as dirty. This makes repository status check for large repositories
|
||||
# much, much faster.
|
||||
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
||||
HIST_STAMPS="yyyy-mm-dd"
|
||||
plugins=(git web-search jsontools z vi-mode zsh-syntax-highlighting zsh-autosuggestions)
|
||||
source $ZSH/oh-my-zsh.sh
|
||||
|
||||
# export MANPATH="/usr/local/man:$MANPATH"
|
||||
# export LANG= "en_US.UTF-8"
|
||||
export ARCHFLAGS="-arch arm64"
|
||||
|
||||
### Navigation ###
|
||||
|
||||
# Relative navigation
|
||||
|
||||
alias ..="cd .."
|
||||
alias ...="cd ../.."
|
||||
alias ....="cd ../../.."
|
||||
alias .....="cd ../../../.."
|
||||
alias ......="cd ../../../../.."
|
||||
|
||||
# Absolute navigation
|
||||
|
||||
alias doku="cd ~/doku && ls"
|
||||
alias dotfiles="cd $DOTFILES && ls"
|
||||
|
||||
### Aliases ###
|
||||
|
||||
# `alias` to list all aliases
|
||||
|
||||
# PowerShell Equivalent #
|
||||
|
||||
alias ni=touch
|
||||
alias cls=clear
|
||||
|
||||
# Dev #
|
||||
|
||||
alias g++='g++ -std=c++2b' # Set the default C++ standard to C++20
|
||||
alias gcc='gcc -std=c99' # Set the default C standard to C99
|
||||
alias cl='clang'
|
||||
alias cl++='clang++'
|
||||
alias python=python3 # Set the default Python version to Python 3
|
||||
alias py=python # Alias for Python
|
||||
alias bashcfg="nvim ~/.bashrc"
|
||||
alias zshcfg="nvim ~/.zshrc"
|
||||
alias shcfg=zshcfg
|
||||
alias nvimrc="nvim ~/.config/nvim/"
|
||||
alias ohmyzsh="code ~/.oh-my-zsh"
|
||||
|
||||
# Editors #
|
||||
|
||||
alias v=nvim
|
||||
alias gvi=neovide
|
||||
alias c=code
|
||||
|
||||
# Misc #
|
||||
|
||||
alias cf=cfiles
|
||||
|
||||
### Functions ###
|
||||
|
||||
mcd() {
|
||||
mkdir -p -- "$1" && cd -P -- "$1"
|
||||
}
|
||||
cdls(){
|
||||
cd $1 && ls
|
||||
}
|
||||
tc(){
|
||||
touch $1 && code $1
|
||||
}
|
||||
tv(){
|
||||
touch $1 && nvim $1
|
||||
}
|
||||
|
||||
source ~/.private.env.sh
|
||||
|
||||
### WSL Options ###
|
||||
|
||||
# WSL open
|
||||
open() {
|
||||
local target=$1
|
||||
|
||||
if command -v explorer.exe > /dev/null; then
|
||||
explorer.exe "$target"
|
||||
else
|
||||
command open "$target"
|
||||
fi
|
||||
}
|
||||
|
||||
# WSL Neovide
|
||||
neovide() {
|
||||
local target=$1
|
||||
|
||||
if command -v neovide.exe > /dev/null; then
|
||||
neovide.exe "$target"
|
||||
else
|
||||
if command -v neovide > /dev/null; then
|
||||
neovide "$target"
|
||||
else
|
||||
echo "neovide is not installed"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
### Misc ###
|
||||
|
||||
# >>> conda initialize >>>
|
||||
# !! Contents within this block are managed by 'conda init' !!
|
||||
__conda_setup="$('$HOME/miniconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
|
||||
if [ $? -eq 0 ]; then
|
||||
eval "$__conda_setup"
|
||||
else
|
||||
if [ -f "$HOME/miniconda3/etc/profile.d/conda.sh" ]; then
|
||||
. "$HOME/miniconda3/etc/profile.d/conda.sh"
|
||||
else
|
||||
export PATH="$HOME/miniconda3/bin:$PATH"
|
||||
fi
|
||||
fi
|
||||
unset __conda_setup
|
||||
# <<< conda initialize <<<
|
||||
95
mac/Microsoft.PowerShell_profile.ps1
Normal file
95
mac/Microsoft.PowerShell_profile.ps1
Normal file
|
|
@ -0,0 +1,95 @@
|
|||
### Variables ###
|
||||
|
||||
$DOTFILES = "$HOME\.dotfiles"
|
||||
|
||||
### PSReadLine ###
|
||||
|
||||
Set-PSReadLineOption -EditMode vi # Vi Keybindings
|
||||
Set-PSReadLineOption -PredictionViewStyle ListView # Prediction View Style
|
||||
Set-PSReadLineOption -PredictionSource HistoryAndPlugin # Prediction Source
|
||||
Set-PSReadLineOption -ContinuationPrompt "`e[36m CR > " # Continuation Prompt
|
||||
|
||||
### Keybindings ###
|
||||
|
||||
Set-PSReadLineKeyHandler -Chord "Ctrl+f" -Function ForwardWord
|
||||
|
||||
### Navigator ###
|
||||
|
||||
# Relative navigation #
|
||||
|
||||
# ${function:~} = { Set-Location -Path ~ } cd is better
|
||||
${function:...} = { Set-Location -Path ..\.. }
|
||||
${function:....} = { Set-Location -Path ..\..\.. }
|
||||
${function:.....} = { Set-Location -Path ..\..\..\.. }
|
||||
${function:......} = { Set-Location -Path ..\..\..\..\.. }
|
||||
|
||||
# Absolute navigation #
|
||||
|
||||
${function:docs} = { Set-Location -Path ~\Documents }
|
||||
${function:down} = { Set-Location -Path ~\Downloads }
|
||||
${function:dt} = { Set-Location -Path ~\Desktop }
|
||||
${function:mytmp} = { Set-Location -Path ~\Temp }
|
||||
${function:one} = { Set-Location -Path ~\OneDrive }
|
||||
${function:doku} = { Set-Location -Path ~\doku && Get-ChildItem }
|
||||
|
||||
### Aliases ###
|
||||
|
||||
# PowerShell Equivalents #
|
||||
|
||||
Set-Alias "touch" "New-Item"
|
||||
Set-Alias "ll" "Get-ChildItem"
|
||||
Set-Alias "curl" "Invoke-WebRequest"
|
||||
Set-Alias "cd" "Set-Location"
|
||||
Set-Alias "man" "Get-Help"
|
||||
Set-Alias "kill" "Stop-Process"
|
||||
|
||||
# Dev #
|
||||
|
||||
${function:shcfg} = { code $PROFILE }
|
||||
${function:zshcfg} = { nvim ~/.zshrc }
|
||||
${function:bashcfg} = { nvim ~/.bashrc }
|
||||
${function:reload} = { Invoke-Expression $PROFILE }
|
||||
${function:csi} = { dotnet script }
|
||||
${function:pulldots} = { Set-Location -Path $DOTFILES && git pull }
|
||||
Set-Alias "pwshcfg" "shcfg"
|
||||
Set-Alias "python3" "python"
|
||||
Set-Alias "pip3" "pip"
|
||||
Set-Alias "py" "python"
|
||||
Set-Alias "cl" "clang"
|
||||
Set-Alias "cl++" "clang++"
|
||||
Set-Alias "clang" "clang -std=c99"
|
||||
Set-Alias "clang++" "clang++ -std=c++2b"
|
||||
|
||||
# Editors #
|
||||
|
||||
Set-Alias "v" "nvim"
|
||||
Set-Alias "c" "code"
|
||||
Set-Alias "gvi" "neovide"
|
||||
|
||||
# Miscs #
|
||||
|
||||
Set-Alias mcd CreateAndSet-Directory
|
||||
|
||||
### Functions ###
|
||||
|
||||
function tc { param ( [string] $filename)
|
||||
New-Item $filename && code $filename
|
||||
}
|
||||
|
||||
function tv { param ( [string] $filename)
|
||||
New-Item $filename && nvim $filename
|
||||
}
|
||||
|
||||
function cdls { param( [string] $dirname)
|
||||
Set-Location $dirname && Get-ChildItem
|
||||
}
|
||||
|
||||
|
||||
|
||||
### Modules ###
|
||||
|
||||
Import-Module -Name Microsoft.WinGet.CommandNotFound #f45873b3-b655-43a6-b217-97c00aa0db58
|
||||
|
||||
Import-Module CompletionPredictor
|
||||
|
||||
### Misc ###
|
||||
8
nvim/.gitignore
vendored
Normal file
8
nvim/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
tt.*
|
||||
.tests
|
||||
doc/tags
|
||||
debug
|
||||
.repro
|
||||
foo.*
|
||||
*.log
|
||||
data
|
||||
15
nvim/.neoconf.json
Normal file
15
nvim/.neoconf.json
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"neodev": {
|
||||
"library": {
|
||||
"enabled": true,
|
||||
"plugins": true
|
||||
}
|
||||
},
|
||||
"neoconf": {
|
||||
"plugins": {
|
||||
"lua_ls": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
201
nvim/LICENSE
Normal file
201
nvim/LICENSE
Normal file
|
|
@ -0,0 +1,201 @@
|
|||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
4
nvim/README.md
Normal file
4
nvim/README.md
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# 💤 LazyVim
|
||||
|
||||
A starter template for [LazyVim](https://github.com/LazyVim/LazyVim).
|
||||
Refer to the [documentation](https://lazyvim.github.io/installation) to get started.
|
||||
2
nvim/init.lua
Normal file
2
nvim/init.lua
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||
require("config.lazy")
|
||||
55
nvim/lazy-lock.json
Normal file
55
nvim/lazy-lock.json
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
{
|
||||
"CopilotChat.nvim": { "branch": "canary", "commit": "6f143f210efd1f16d97c077b945c76b7d5fd0f8b" },
|
||||
"LazyVim": { "branch": "main", "commit": "9eefc6a3aaeb1a0742e676ba32c6963d649d3ca9" },
|
||||
"LuaSnip": { "branch": "master", "commit": "ce0a05ab4e2839e1c48d072c5236cce846a387bc" },
|
||||
"bufferline.nvim": { "branch": "main", "commit": "aa16dafdc642594c7ade7e88d31a6119feb189d6" },
|
||||
"catppuccin": { "branch": "main", "commit": "7946d1a195c66fed38b3e34f9fa8e0c5a2da0700" },
|
||||
"clangd_extensions.nvim": { "branch": "main", "commit": "a8500531c4ed3a207e744a374ea038744a0f93eb" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
|
||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
|
||||
"conform.nvim": { "branch": "master", "commit": "1d1362b0261d06a0b91872e916c172320bbb988a" },
|
||||
"copilot-cmp": { "branch": "master", "commit": "b6e5286b3d74b04256d0a7e3bd2908eabec34b44" },
|
||||
"copilot.lua": { "branch": "master", "commit": "86537b286f18783f8b67bccd78a4ef4345679625" },
|
||||
"dashboard-nvim": { "branch": "master", "commit": "fabf5feec96185817c732d47d363f34034212685" },
|
||||
"flash.nvim": { "branch": "main", "commit": "25ba3f4d1e0b080213b39518ebcfbb693a23c957" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "00ebcaa159e817150bd83bfe2d51fa3b3377d5c4" },
|
||||
"fzf-lua": { "branch": "main", "commit": "eb63a4bbfd203942737f76d4cf5424f6fb016a9d" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "d9f997dba757be01434ed3538d202f88286df476" },
|
||||
"headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" },
|
||||
"indent-blankline.nvim": { "branch": "master", "commit": "65e20ab94a26d0e14acac5049b8641336819dfc7" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "b02c9eae6a250f98908c146d1dc1a891f5019f0a" },
|
||||
"lazydev.nvim": { "branch": "main", "commit": "02f1055a777264d4b65896051ec28d0f322f7932" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "544dd1583f9bb27b393f598475c89809c4d5e86b" },
|
||||
"luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" },
|
||||
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "37a336b653f8594df75c827ed589f1c91d91ff6c" },
|
||||
"mason.nvim": { "branch": "main", "commit": "f96a31855fa8aea55599cea412fe611b85a874ed" },
|
||||
"mini.ai": { "branch": "main", "commit": "45587078f323eaf41b9f701bbc04f8d1ab008979" },
|
||||
"mini.icons": { "branch": "main", "commit": "9d9d21868841ce0a26fb2b8ef0eba7021055145c" },
|
||||
"mini.pairs": { "branch": "main", "commit": "927d19cbdd0e752ab1c7eed87072e71d2cd6ff51" },
|
||||
"neo-tree.nvim": { "branch": "main", "commit": "206241e451c12f78969ff5ae53af45616ffc9b72" },
|
||||
"noice.nvim": { "branch": "main", "commit": "3b5ea551448bd769976428458c11ae3f5849b7ba" },
|
||||
"nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "d818fd0624205b34e14888358037fb6f5dc51234" },
|
||||
"nvim-jdtls": { "branch": "master", "commit": "6bfd1591583b02e742fc3a2f43393c4ea3b6d3c7" },
|
||||
"nvim-lint": { "branch": "master", "commit": "efc6fc83f0772283e064c53a8f9fb5645bde0bc0" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "216deb2d1b5fbf24398919228208649bbf5cbadf" },
|
||||
"nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" },
|
||||
"nvim-spectre": { "branch": "master", "commit": "9a28f926d3371b7ef02243cbbb653a0478d06e31" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "a6b2f4ecc8a47011868632142a9b687d7e0f9aaf" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "26c365cc7d58d0da17b13e747855d331eb26fcf0" },
|
||||
"omnisharp-extended-lsp.nvim": { "branch": "main", "commit": "aad7bf06b4ca0de816b919d475a75b30f5f62b61" },
|
||||
"persistence.nvim": { "branch": "main", "commit": "40a137dd9240c9c6760c53df48d2b155f52c252b" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "96fee098a90e7c09c9811aa7df71d773ba8b9b53" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "6adfcde66e8af2f22dd5d76060980abd8daa0df8" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "bf99ea71a39e322336b7f8be965f86dbf5c65540" },
|
||||
"ts-comments.nvim": { "branch": "main", "commit": "80eec3b9663ac3c4743b584f361099b061d0a9e5" },
|
||||
"vim-wakatime": { "branch": "master", "commit": "3cb40867cb5a3120f9bef76eff88edc7f1dc1a23" },
|
||||
"vimtex": { "branch": "master", "commit": "80c9bc179784c30192d482741a43f176c859daa1" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "b55a568ae69724e334aec3ef291ea4e1768ba47a" },
|
||||
"yanky.nvim": { "branch": "main", "commit": "73215b77d22ebb179cef98e7e1235825431d10e4" }
|
||||
}
|
||||
20
nvim/lazyvim.json
Normal file
20
nvim/lazyvim.json
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"extras": [
|
||||
"lazyvim.plugins.extras.coding.copilot",
|
||||
"lazyvim.plugins.extras.coding.copilot-chat",
|
||||
"lazyvim.plugins.extras.coding.luasnip",
|
||||
"lazyvim.plugins.extras.coding.yanky",
|
||||
"lazyvim.plugins.extras.editor.fzf",
|
||||
"lazyvim.plugins.extras.lang.clangd",
|
||||
"lazyvim.plugins.extras.lang.java",
|
||||
"lazyvim.plugins.extras.lang.markdown",
|
||||
"lazyvim.plugins.extras.lang.omnisharp",
|
||||
"lazyvim.plugins.extras.lang.python",
|
||||
"lazyvim.plugins.extras.lang.tex",
|
||||
"lazyvim.plugins.extras.util.dot"
|
||||
],
|
||||
"news": {
|
||||
"NEWS.md": "6077"
|
||||
},
|
||||
"version": 6
|
||||
}
|
||||
3
nvim/lua/config/autocmds.lua
Normal file
3
nvim/lua/config/autocmds.lua
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
-- Autocmds are automatically loaded on the VeryLazy event
|
||||
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua
|
||||
-- Add any additional autocmds here
|
||||
3
nvim/lua/config/keymaps.lua
Normal file
3
nvim/lua/config/keymaps.lua
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
-- Keymaps are automatically loaded on the VeryLazy event
|
||||
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
|
||||
-- Add any additional keymaps here
|
||||
43
nvim/lua/config/lazy.lua
Normal file
43
nvim/lua/config/lazy.lua
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
|
||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||
-- bootstrap lazy.nvim
|
||||
-- stylua: ignore
|
||||
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
-- add LazyVim and import its plugins
|
||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
||||
-- import/override with your plugins
|
||||
{ import = "plugins" },
|
||||
},
|
||||
defaults = {
|
||||
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
|
||||
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
|
||||
lazy = false,
|
||||
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
|
||||
-- have outdated releases, which may break your Neovim install.
|
||||
version = false, -- always use the latest git commit
|
||||
-- version = "*", -- try installing the latest stable version for plugins that support semver
|
||||
},
|
||||
install = { colorscheme = { "tokyonight", "habamax" } },
|
||||
checker = { enabled = true }, -- automatically check for plugin updates
|
||||
performance = {
|
||||
rtp = {
|
||||
-- disable some rtp plugins
|
||||
disabled_plugins = {
|
||||
"gzip",
|
||||
-- "matchit",
|
||||
-- "matchparen",
|
||||
-- "netrwPlugin",
|
||||
"tarPlugin",
|
||||
"tohtml",
|
||||
"tutor",
|
||||
"zipPlugin",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
3
nvim/lua/config/options.lua
Normal file
3
nvim/lua/config/options.lua
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
-- Options are automatically loaded before lazy.nvim startup
|
||||
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
|
||||
-- Add any additional options here
|
||||
193
nvim/lua/plugins/example.lua
Normal file
193
nvim/lua/plugins/example.lua
Normal file
|
|
@ -0,0 +1,193 @@
|
|||
-- since this is just an example spec, don't actually load anything here and return an empty spec
|
||||
-- stylua: ignore
|
||||
if true then return {} end
|
||||
|
||||
-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim
|
||||
--
|
||||
-- In your plugin files, you can:
|
||||
-- * add extra plugins
|
||||
-- * disable/enabled LazyVim plugins
|
||||
-- * override the configuration of LazyVim plugins
|
||||
return {
|
||||
-- add gruvbox
|
||||
{ "ellisonleao/gruvbox.nvim" },
|
||||
|
||||
-- Configure LazyVim to load gruvbox
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "gruvbox",
|
||||
},
|
||||
},
|
||||
|
||||
-- change trouble config
|
||||
{
|
||||
"folke/trouble.nvim",
|
||||
-- opts will be merged with the parent spec
|
||||
opts = { use_diagnostic_signs = true },
|
||||
},
|
||||
|
||||
-- disable trouble
|
||||
{ "folke/trouble.nvim", enabled = false },
|
||||
|
||||
-- override nvim-cmp and add cmp-emoji
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = { "hrsh7th/cmp-emoji" },
|
||||
---@param opts cmp.ConfigSchema
|
||||
opts = function(_, opts)
|
||||
table.insert(opts.sources, { name = "emoji" })
|
||||
end,
|
||||
},
|
||||
|
||||
-- change some telescope options and a keymap to browse plugin files
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
keys = {
|
||||
-- add a keymap to browse plugin files
|
||||
-- stylua: ignore
|
||||
{
|
||||
"<leader>fp",
|
||||
function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end,
|
||||
desc = "Find Plugin File",
|
||||
},
|
||||
},
|
||||
-- change some options
|
||||
opts = {
|
||||
defaults = {
|
||||
layout_strategy = "horizontal",
|
||||
layout_config = { prompt_position = "top" },
|
||||
sorting_strategy = "ascending",
|
||||
winblend = 0,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- add pyright to lspconfig
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
---@class PluginLspOpts
|
||||
opts = {
|
||||
---@type lspconfig.options
|
||||
servers = {
|
||||
-- pyright will be automatically installed with mason and loaded with lspconfig
|
||||
pyright = {},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- add tsserver and setup with typescript.nvim instead of lspconfig
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
dependencies = {
|
||||
"jose-elias-alvarez/typescript.nvim",
|
||||
init = function()
|
||||
require("lazyvim.util").lsp.on_attach(function(_, buffer)
|
||||
-- stylua: ignore
|
||||
vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" })
|
||||
vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer })
|
||||
end)
|
||||
end,
|
||||
},
|
||||
---@class PluginLspOpts
|
||||
opts = {
|
||||
---@type lspconfig.options
|
||||
servers = {
|
||||
-- tsserver will be automatically installed with mason and loaded with lspconfig
|
||||
tsserver = {},
|
||||
},
|
||||
-- you can do any additional lsp server setup here
|
||||
-- return true if you don't want this server to be setup with lspconfig
|
||||
---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?>
|
||||
setup = {
|
||||
-- example to setup with typescript.nvim
|
||||
tsserver = function(_, opts)
|
||||
require("typescript").setup({ server = opts })
|
||||
return true
|
||||
end,
|
||||
-- Specify * to use this function as a fallback for any server
|
||||
-- ["*"] = function(server, opts) end,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- for typescript, LazyVim also includes extra specs to properly setup lspconfig,
|
||||
-- treesitter, mason and typescript.nvim. So instead of the above, you can use:
|
||||
{ import = "lazyvim.plugins.extras.lang.typescript" },
|
||||
|
||||
-- add more treesitter parsers
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
"html",
|
||||
"javascript",
|
||||
"json",
|
||||
"lua",
|
||||
"markdown",
|
||||
"markdown_inline",
|
||||
"python",
|
||||
"query",
|
||||
"regex",
|
||||
"tsx",
|
||||
"typescript",
|
||||
"vim",
|
||||
"yaml",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above
|
||||
-- would overwrite `ensure_installed` with the new value.
|
||||
-- If you'd rather extend the default config, use the code below instead:
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = function(_, opts)
|
||||
-- add tsx and treesitter
|
||||
vim.list_extend(opts.ensure_installed, {
|
||||
"tsx",
|
||||
"typescript",
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
-- the opts function can also be used to change the default opts:
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = function(_, opts)
|
||||
table.insert(opts.sections.lualine_x, "😄")
|
||||
end,
|
||||
},
|
||||
|
||||
-- or you can return new options to override all the defaults
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = function()
|
||||
return {
|
||||
--[[add your custom lualine config here]]
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
-- use mini.starter instead of alpha
|
||||
{ import = "lazyvim.plugins.extras.ui.mini-starter" },
|
||||
|
||||
-- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc
|
||||
{ import = "lazyvim.plugins.extras.lang.json" },
|
||||
|
||||
-- add any tools you want to have installed below
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"stylua",
|
||||
"shellcheck",
|
||||
"shfmt",
|
||||
"flake8",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
228
nvim/lua/plugins/fzf.lua
Normal file
228
nvim/lua/plugins/fzf.lua
Normal file
|
|
@ -0,0 +1,228 @@
|
|||
return {
|
||||
{
|
||||
"ibhagwan/fzf-lua",
|
||||
cmd = "FzfLua",
|
||||
opts = function(_, opts)
|
||||
local config = require("fzf-lua.config")
|
||||
local actions = require("fzf-lua.actions")
|
||||
|
||||
-- Quickfix
|
||||
config.defaults.keymap.fzf["ctrl-q"] = "select-all+accept"
|
||||
config.defaults.keymap.fzf["ctrl-u"] = "half-page-up"
|
||||
config.defaults.keymap.fzf["ctrl-d"] = "half-page-down"
|
||||
config.defaults.keymap.fzf["ctrl-x"] = "jump"
|
||||
config.defaults.keymap.fzf["ctrl-f"] = "preview-page-down"
|
||||
config.defaults.keymap.fzf["ctrl-b"] = "preview-page-up"
|
||||
config.defaults.keymap.builtin["<c-f>"] = "preview-page-down"
|
||||
config.defaults.keymap.builtin["<c-b>"] = "preview-page-up"
|
||||
|
||||
-- Trouble
|
||||
if LazyVim.has("trouble.nvim") then
|
||||
config.defaults.actions.files["ctrl-t"] = require("trouble.sources.fzf").actions.open
|
||||
end
|
||||
|
||||
-- Toggle root dir / cwd
|
||||
config.defaults.actions.files["ctrl-r"] = function(_, ctx)
|
||||
local o = vim.deepcopy(ctx.__call_opts)
|
||||
o.root = o.root == false
|
||||
o.cwd = nil
|
||||
o.buf = ctx.__CTX.bufnr
|
||||
LazyVim.pick.open(ctx.__INFO.cmd, o)
|
||||
end
|
||||
config.defaults.actions.files["alt-c"] = config.defaults.actions.files["ctrl-r"]
|
||||
config.set_action_helpstr(config.defaults.actions.files["ctrl-r"], "toggle-root-dir")
|
||||
|
||||
-- use the same prompt for all
|
||||
local defaults = require("fzf-lua.profiles.default-title")
|
||||
local function fix(t)
|
||||
t.prompt = t.prompt ~= nil and " " or nil
|
||||
for _, v in pairs(t) do
|
||||
if type(v) == "table" then
|
||||
fix(v)
|
||||
end
|
||||
end
|
||||
end
|
||||
fix(defaults)
|
||||
|
||||
local img_previewer ---@type string[]?
|
||||
for _, v in ipairs({
|
||||
{ cmd = "ueberzug", args = {} },
|
||||
{ cmd = "chafa", args = { "{file}", "--format=symbols" } },
|
||||
{ cmd = "viu", args = { "-b" } },
|
||||
}) do
|
||||
if vim.fn.executable(v.cmd) == 1 then
|
||||
img_previewer = vim.list_extend({ v.cmd }, v.args)
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
return vim.tbl_deep_extend("force", defaults, {
|
||||
fzf_colors = true,
|
||||
fzf_opts = {
|
||||
["--no-scrollbar"] = false,
|
||||
},
|
||||
defaults = {
|
||||
-- formatter = "path.filename_first",
|
||||
formatter = "path.dirname_first",
|
||||
},
|
||||
previewers = {
|
||||
builtin = {
|
||||
extensions = {
|
||||
["png"] = img_previewer,
|
||||
["jpg"] = img_previewer,
|
||||
["jpeg"] = img_previewer,
|
||||
["gif"] = img_previewer,
|
||||
["webp"] = img_previewer,
|
||||
},
|
||||
ueberzug_scaler = "fit_contain",
|
||||
},
|
||||
},
|
||||
-- Custom LazyVim option to configure vim.ui.select
|
||||
ui_select = function(fzf_opts, items)
|
||||
return vim.tbl_deep_extend("force", fzf_opts, {
|
||||
prompt = " ",
|
||||
winopts = {
|
||||
title = " " .. vim.trim((fzf_opts.prompt or "Select"):gsub("%s*:%s*$", "")) .. " ",
|
||||
title_pos = "center",
|
||||
},
|
||||
}, fzf_opts.kind == "codeaction" and {
|
||||
winopts = {
|
||||
layout = "vertical",
|
||||
-- height is number of items minus 15 lines for the preview, with a max of 80% screen height
|
||||
height = math.floor(math.min(vim.o.lines * 0.8 - 16, #items + 2) + 0.5) + 16,
|
||||
width = 0.5,
|
||||
preview = not vim.tbl_isempty(LazyVim.lsp.get_clients({ bufnr = 0, name = "vtsls" })) and {
|
||||
layout = "vertical",
|
||||
vertical = "down:15,border-top",
|
||||
hidden = "hidden",
|
||||
} or {
|
||||
layout = "vertical",
|
||||
vertical = "down:15,border-top",
|
||||
},
|
||||
},
|
||||
} or {
|
||||
winopts = {
|
||||
width = 0.5,
|
||||
-- height is number of items, with a max of 80% screen height
|
||||
height = math.floor(math.min(vim.o.lines * 0.8, #items + 2) + 0.5),
|
||||
},
|
||||
})
|
||||
end,
|
||||
winopts = {
|
||||
width = 0.8,
|
||||
height = 0.8,
|
||||
row = 0.5,
|
||||
col = 0.5,
|
||||
preview = {
|
||||
scrollchars = { "┃", "" },
|
||||
},
|
||||
},
|
||||
files = {
|
||||
cwd_prompt = false,
|
||||
actions = {
|
||||
["alt-i"] = { actions.toggle_ignore },
|
||||
["alt-h"] = { actions.toggle_hidden },
|
||||
},
|
||||
},
|
||||
grep = {
|
||||
actions = {
|
||||
["alt-i"] = { actions.toggle_ignore },
|
||||
["alt-h"] = { actions.toggle_hidden },
|
||||
},
|
||||
},
|
||||
lsp = {
|
||||
symbols = {
|
||||
symbol_hl = function(s)
|
||||
return "TroubleIcon" .. s
|
||||
end,
|
||||
symbol_fmt = function(s)
|
||||
return s:lower() .. "\t"
|
||||
end,
|
||||
child_prefix = false,
|
||||
},
|
||||
code_actions = {
|
||||
previewer = vim.fn.executable("delta") == 1 and "codeaction_native" or nil,
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
config = function(_, opts)
|
||||
require("fzf-lua").setup(opts)
|
||||
end,
|
||||
init = function()
|
||||
LazyVim.on_very_lazy(function()
|
||||
vim.ui.select = function(...)
|
||||
require("lazy").load({ plugins = { "fzf-lua" } })
|
||||
local opts = LazyVim.opts("fzf-lua") or {}
|
||||
require("fzf-lua").register_ui_select(opts.ui_select or nil)
|
||||
return vim.ui.select(...)
|
||||
end
|
||||
end)
|
||||
end,
|
||||
keys = {
|
||||
{ "<c-j>", "<c-j>", ft = "fzf", mode = "t", nowait = true },
|
||||
{ "<c-k>", "<c-k>", ft = "fzf", mode = "t", nowait = true },
|
||||
{
|
||||
"<leader>,",
|
||||
"<cmd>FzfLua buffers sort_mru=true sort_lastused=true<cr>",
|
||||
desc = "Switch Buffer",
|
||||
},
|
||||
{ "<leader>/", LazyVim.pick("live_grep"), desc = "Grep (Root Dir)" },
|
||||
{ "<leader>:", "<cmd>FzfLua command_history<cr>", desc = "Command History" },
|
||||
{ "<leader><space>", LazyVim.pick("files"), desc = "Find Files (Root Dir)" },
|
||||
-- find
|
||||
{ "<leader>fb", "<cmd>FzfLua buffers sort_mru=true sort_lastused=true<cr>", desc = "Buffers" },
|
||||
{ "<leader>fc", LazyVim.pick.config_files(), desc = "Find Config File" },
|
||||
{ "<leader>ff", LazyVim.pick("files"), desc = "Find Files (Root Dir)" },
|
||||
{ "<leader>fF", LazyVim.pick("files", { root = false }), desc = "Find Files (cwd)" },
|
||||
{ "<leader>fg", "<cmd>FzfLua git_files<cr>", desc = "Find Files (git-files)" },
|
||||
{ "<leader>fr", "<cmd>FzfLua oldfiles<cr>", desc = "Recent" },
|
||||
{ "<leader>fR", LazyVim.pick("oldfiles", { cwd = vim.uv.cwd() }), desc = "Recent (cwd)" },
|
||||
-- git
|
||||
{ "<leader>gc", "<cmd>FzfLua git_commits<CR>", desc = "Commits" },
|
||||
{ "<leader>gs", "<cmd>FzfLua git_status<CR>", desc = "Status" },
|
||||
-- search
|
||||
{ '<leader>s"', "<cmd>FzfLua registers<cr>", desc = "Registers" },
|
||||
{ "<leader>sa", "<cmd>FzfLua autocmds<cr>", desc = "Auto Commands" },
|
||||
{ "<leader>sb", "<cmd>FzfLua grep_curbuf<cr>", desc = "Buffer" },
|
||||
{ "<leader>sc", "<cmd>FzfLua command_history<cr>", desc = "Command History" },
|
||||
{ "<leader>sC", "<cmd>FzfLua commands<cr>", desc = "Commands" },
|
||||
{ "<leader>sd", "<cmd>FzfLua diagnostics_document<cr>", desc = "Document Diagnostics" },
|
||||
{ "<leader>sD", "<cmd>FzfLua diagnostics_workspace<cr>", desc = "Workspace Diagnostics" },
|
||||
{ "<leader>sg", LazyVim.pick("live_grep"), desc = "Grep (Root Dir)" },
|
||||
{ "<leader>sG", LazyVim.pick("live_grep", { root = false }), desc = "Grep (cwd)" },
|
||||
{ "<leader>sh", "<cmd>FzfLua help_tags<cr>", desc = "Help Pages" },
|
||||
{ "<leader>sH", "<cmd>FzfLua highlights<cr>", desc = "Search Highlight Groups" },
|
||||
{ "<leader>sj", "<cmd>FzfLua jumps<cr>", desc = "Jumplist" },
|
||||
{ "<leader>sk", "<cmd>FzfLua keymaps<cr>", desc = "Key Maps" },
|
||||
{ "<leader>sl", "<cmd>FzfLua loclist<cr>", desc = "Location List" },
|
||||
{ "<leader>sM", "<cmd>FzfLua man_pages<cr>", desc = "Man Pages" },
|
||||
{ "<leader>sm", "<cmd>FzfLua marks<cr>", desc = "Jump to Mark" },
|
||||
{ "<leader>sR", "<cmd>FzfLua resume<cr>", desc = "Resume" },
|
||||
{ "<leader>sq", "<cmd>FzfLua quickfix<cr>", desc = "Quickfix List" },
|
||||
{ "<leader>sw", LazyVim.pick("grep_cword"), desc = "Word (Root Dir)" },
|
||||
{ "<leader>sW", LazyVim.pick("grep_cword", { root = false }), desc = "Word (cwd)" },
|
||||
{ "<leader>sw", LazyVim.pick("grep_visual"), mode = "v", desc = "Selection (Root Dir)" },
|
||||
{ "<leader>sW", LazyVim.pick("grep_visual", { root = false }), mode = "v", desc = "Selection (cwd)" },
|
||||
{ "<leader>uC", LazyVim.pick("colorschemes"), desc = "Colorscheme with Preview" },
|
||||
{
|
||||
"<leader>ss",
|
||||
function()
|
||||
require("fzf-lua").lsp_document_symbols({
|
||||
regex_filter = symbols_filter,
|
||||
})
|
||||
end,
|
||||
desc = "Goto Symbol",
|
||||
},
|
||||
{
|
||||
"<leader>sS",
|
||||
function()
|
||||
require("fzf-lua").lsp_live_workspace_symbols({
|
||||
regex_filter = symbols_filter,
|
||||
})
|
||||
end,
|
||||
desc = "Goto Symbol (Workspace)",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
3
nvim/lua/plugins/wakatime.lua
Normal file
3
nvim/lua/plugins/wakatime.lua
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
return {
|
||||
{ "wakatime/vim-wakatime", lazy = false },
|
||||
}
|
||||
3
nvim/stylua.toml
Normal file
3
nvim/stylua.toml
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
indent_type = "Spaces"
|
||||
indent_width = 2
|
||||
column_width = 120
|
||||
2
pip.conf
Normal file
2
pip.conf
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
[global]
|
||||
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
|
||||
23
readme.md
Normal file
23
readme.md
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
# .DOTFILES js0ny
|
||||
|
||||
## Navigator
|
||||
|
||||
- [Windows](./win/readme.md)
|
||||
- [Linux](./linux/readme.md)
|
||||
|
||||
- [Neovim](./nvim/readme.md)
|
||||
- [VSCode](./vscode/readme.md)
|
||||
|
||||
- [IdeaVim](./.ideavimrc)
|
||||
|
||||
- [Git](./.gitconfig)
|
||||
|
||||
- [pip](./pip.conf)
|
||||
- [npm](./.npmrc)
|
||||
|
||||
|
||||
### Scripts
|
||||
|
||||
- [Install Neovim *nix](./install_nvim.sh)
|
||||
- [Set Mirror *nix](./set_mirror.sh)
|
||||
- [Set Mirror PowerShell](./set_mirror.ps1)
|
||||
6
set_mirror.ps1
Normal file
6
set_mirror.ps1
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# pip
|
||||
Set-Alias pip pip3
|
||||
Set-Alias python python3
|
||||
python -m pip install --upgrade pip
|
||||
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
|
||||
# npm
|
||||
6
set_mirror.sh
Normal file
6
set_mirror.sh
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# pip
|
||||
alias pip=pip3
|
||||
alias python=python3
|
||||
python -m pip install --upgrade pip
|
||||
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
|
||||
# npm
|
||||
15
vscode/hsnips/c.hsnips
Normal file
15
vscode/hsnips/c.hsnips
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
snippet hio "include stdio.h" iA
|
||||
#include <stdio.h>
|
||||
endsnippet
|
||||
|
||||
snippet hlib "include stdlib.h" iA
|
||||
#include <stdlib.h>
|
||||
endsnippet
|
||||
|
||||
snippet hmath "include math.h" iA
|
||||
#include <math.h>
|
||||
endsnippet
|
||||
|
||||
snippet hstr "include string.h" iA
|
||||
#include <string.h>
|
||||
endsnippet
|
||||
1038
vscode/hsnips/latex.hsnips
Normal file
1038
vscode/hsnips/latex.hsnips
Normal file
File diff suppressed because it is too large
Load diff
1009
vscode/hsnips/markdown.hsnips
Normal file
1009
vscode/hsnips/markdown.hsnips
Normal file
File diff suppressed because it is too large
Load diff
8
vscode/hsnips/readme.md
Normal file
8
vscode/hsnips/readme.md
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# VSCode HyperSnips Snippets
|
||||
|
||||
## Navigator
|
||||
|
||||
- [C](./c.hsnips)
|
||||
- [$\LaTeX$](./latex.hsnips)
|
||||
- [Markdown](./markdown.hsnips)
|
||||
- [Typst](./typst.hsnips)
|
||||
133
vscode/hsnips/typst.hsnips
Normal file
133
vscode/hsnips/typst.hsnips
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
snippet mk "inline Math" iwA
|
||||
$${1}$
|
||||
endsnippet
|
||||
|
||||
snippet dmi "display Math" iwA
|
||||
$ ${1} $
|
||||
endsnippet
|
||||
|
||||
snippet dmm "display Math" iwA
|
||||
$
|
||||
${1}
|
||||
$
|
||||
endsnippet
|
||||
|
||||
snippet pp "parenthesis" iAm
|
||||
(${1})
|
||||
endsnippet
|
||||
|
||||
snippet lim "limit" iAm
|
||||
lim_(${1:n} -> ${2:oo})
|
||||
endsnippet
|
||||
|
||||
snippet derive "derive" iAm
|
||||
derive(${1:f}, ${2:x})
|
||||
endsnippet
|
||||
|
||||
snippet part "partial" iAm
|
||||
(diff ${1:f})/(diff ${3:x})
|
||||
endsnippet
|
||||
|
||||
snippet sb "subscript" iAm
|
||||
_(${1:2})
|
||||
endsnippet
|
||||
|
||||
snippet sr "square" iAm
|
||||
^2
|
||||
endsnippet
|
||||
|
||||
snippet pow "to the ... power" iAm
|
||||
^(${1:3})
|
||||
endsnippet
|
||||
|
||||
snippet veps "epsilon.alt" iAm
|
||||
epsilon.alt
|
||||
endsnippet
|
||||
|
||||
snippet ;; "\;" iAm
|
||||
\;
|
||||
endsnippet
|
||||
|
||||
snippet ,, "\," iAm
|
||||
\,
|
||||
endsnippet
|
||||
|
||||
snippet `([A-Za-z\)])(\d)` "auto subscript" iAm
|
||||
`` rv = m[1] + "_" + m[2]``
|
||||
endsnippet
|
||||
|
||||
snippet `([A-Za-z\)])_(\d{2})` "auto subscript" iAm
|
||||
`` rv = m[1] + "_(" + m[2] + ")" ``
|
||||
endsnippet
|
||||
|
||||
snippet `(?<![A-Za-z])([A-Za-hk-z])([acdijkmnpqrstABCDIJKMNPQRST])\2` "auto subscript" iAm
|
||||
`` rv = m[1] + "_" + m[2] ``
|
||||
endsnippet
|
||||
|
||||
# Custom: Add more greek letters
|
||||
|
||||
snippet `(\)|mu|alpha|sigma|rho|beta|gamma|delta|zeta|eta|varepsilon|epsilon|theta|iota|kappa|vartheta|lambda|nu|pi|rho|tau|upsilon|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)([acdijkmnpqrstABCDIJKMNPQRST])\2` "auto subscript for greek letter" iAm
|
||||
`` rv = m[1] + "_" + m[2].substring(0, 1) ``
|
||||
endsnippet
|
||||
|
||||
snippet `(?<![A-Za-z])([A-Za-hk-z01])(grave|acute|hat|tilde|macron|breve|dot|ddot|dddot|ddddot|diaer|circle|caron|vec|upright|italic|b|sans|frak|mono|bb|cal|ov)` "hat" iAm
|
||||
``
|
||||
const map = { "ddot": "dot.double", "dddot": "dot.triple", "ddddot": "dot.quad", "vec": "arrow", "b": "bold", "ov": "overline" }
|
||||
rv = (map[m[2]] || m[2]) + "(" + m[1] + ")"
|
||||
``
|
||||
endsnippet
|
||||
|
||||
snippet `(mu|alpha|sigma|rho|beta|gamma|delta|zeta|eta|varepsilon|epsilon|theta|iota|kappa|vartheta|lambda|nu|pi|rho|tau|upsilon|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(grave|acute|hat|tilde|macron|breve|dot|ddot|dddot|ddddot|diaer|circle|caron|vec|upright|italic|b|sans|frak|mono|bb|cal|ov)` "hat" iAm
|
||||
``
|
||||
const map = { "ddot": "dot.double", "dddot": "dot.triple", "ddddot": "dot.quad", "vec": "arrow", "b": "bold", "ov": "overline" }
|
||||
rv = (map[m[2]] || m[2]) + "(" + m[1] + ")"
|
||||
``
|
||||
endsnippet
|
||||
|
||||
snippet `((grave|acute|hat|tilde|macron|breve|dot|dot\.double|dot\.triple|dot\.quad|diaer|circle|acute\.double|caron|arrow|arrow\.l|upright|italic|bold|sans|frak|mono|bb|cal)\([a-zA-Z\d]+\))(grave|acute|hat|tilde|macron|breve|dot|ddot|dddot|ddddot|diaer|circle|caron|vec|upright|italic|b|sans|frak|mono|bb|cal|ov)` "hat" iAm
|
||||
``
|
||||
const map = { "ddot": "dot.double", "dddot": "dot.triple", "ddddot": "dot.quad", "vec": "arrow", "b": "bold", "ov": "overline" }
|
||||
rv = (map[m[3]] || m[3]) + "(" + m[1] + ")"
|
||||
``
|
||||
endsnippet
|
||||
|
||||
snippet `(?<!\.)alt` "alt" iAm
|
||||
.alt
|
||||
endsnippet
|
||||
|
||||
snippet invs "inverse" iAm
|
||||
^(-1)
|
||||
endsnippet
|
||||
|
||||
snippet xl "vector" iAm
|
||||
arrow(${1:x})
|
||||
endsnippet
|
||||
|
||||
snippet @< "angle" iAm
|
||||
angle.l ${1:x} angle.r
|
||||
endsnippet
|
||||
|
||||
|
||||
snippet HL "highlight" iA
|
||||
#highlight[${VISUAL}]
|
||||
endsnippet
|
||||
|
||||
snippet iiint "triple integral" iAm
|
||||
integral.triple ${1}
|
||||
endsnippet
|
||||
|
||||
snippet oint "closed line integral" iAm
|
||||
integral.cont ${1}
|
||||
endsnippet
|
||||
|
||||
snippet iint "double integral" iAm
|
||||
integral.double ${1}
|
||||
endsnippet
|
||||
|
||||
snippet int "integral" iAm
|
||||
integral ${1}
|
||||
endsnippet
|
||||
|
||||
snippet // "frac" iAm
|
||||
frac(${1:1}, ${2:2})
|
||||
endsnippet
|
||||
5
vscode/readme.md
Normal file
5
vscode/readme.md
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# VSCode Configs
|
||||
|
||||
## Navigator
|
||||
|
||||
- [HyperSnips](./hsnips/readme.md)
|
||||
10
win/.wslconfig
Normal file
10
win/.wslconfig
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
[wsl2]
|
||||
networkingMode=mirrored
|
||||
dnsTunneling=true
|
||||
firewall=true
|
||||
autoProxy=true
|
||||
|
||||
[experimental]
|
||||
# requires dnsTunneling but are also OPTIONAL
|
||||
bestEffortDnsParsing=true
|
||||
useWindowsDnsCache=true
|
||||
99
win/Microsoft.PowerShell_profile.ps1
Normal file
99
win/Microsoft.PowerShell_profile.ps1
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
### Variables ###
|
||||
|
||||
$DOTFILES = "$HOME\Documents\.dotfiles"
|
||||
|
||||
### PSReadLine ###
|
||||
|
||||
Set-PSReadLineOption -EditMode vi # Vi Keybindings
|
||||
Set-PSReadLineOption -PredictionViewStyle ListView # Prediction View Style
|
||||
Set-PSReadLineOption -PredictionSource HistoryAndPlugin # Prediction Source
|
||||
Set-PSReadLineOption -ContinuationPrompt "`e[36m CR > " # Continuation Prompt
|
||||
|
||||
### Keybindings ###
|
||||
|
||||
Set-PSReadLineKeyHandler -Chord "Ctrl+f" -Function ForwardWord
|
||||
|
||||
### Navigator ###
|
||||
|
||||
# Relative navigation #
|
||||
|
||||
# ${function:~} = { Set-Location -Path ~ } cd is better
|
||||
${function:...} = { Set-Location -Path ..\.. }
|
||||
${function:....} = { Set-Location -Path ..\..\.. }
|
||||
${function:.....} = { Set-Location -Path ..\..\..\.. }
|
||||
${function:......} = { Set-Location -Path ..\..\..\..\.. }
|
||||
|
||||
# Absolute navigation #
|
||||
|
||||
${function:docs} = { Set-Location -Path ~\Documents }
|
||||
${function:down} = { Set-Location -Path ~\Downloads }
|
||||
${function:dt} = { Set-Location -Path ~\Desktop }
|
||||
${function:mytmp} = { Set-Location -Path ~\Temporary }
|
||||
${function:one} = { Set-Location -Path ~\OneDrive }
|
||||
${function:doku} = { Set-Location -Path ~\MyDocuments && Get-ChildItem }
|
||||
|
||||
### Aliases ###
|
||||
|
||||
# Shell Equivalents #
|
||||
|
||||
Set-Alias "touch" "New-Item"
|
||||
Set-Alias "open" "explorer.exe"
|
||||
|
||||
# Dev #
|
||||
|
||||
${function:shcfg} = { code $PROFILE }
|
||||
${function:reload} = { Invoke-Expression $PROFILE }
|
||||
${function:csi} = { dotnet script }
|
||||
${function:pulldots} = { Set-Location -Path $DOTFILES && git pull }
|
||||
Set-Alias "pwshcfg" "shcfg"
|
||||
Set-Alias "python3" "python"
|
||||
Set-Alias "pip3" "pip"
|
||||
Set-Alias "py" "python"
|
||||
Set-Alias "cl" "clang"
|
||||
Set-Alias "cl++" "clang++"
|
||||
Set-Alias "clang" "clang -std=c99"
|
||||
Set-Alias "clang++" "clang++ -std=c++2b"
|
||||
|
||||
# Editors #
|
||||
|
||||
Set-Alias "v" "nvim"
|
||||
Set-Alias "c" "code"
|
||||
Set-Alias "gvi" "neovide"
|
||||
|
||||
# Miscs #
|
||||
|
||||
Set-Alias mcd CreateAndSet-Directory
|
||||
|
||||
### Functions ###
|
||||
|
||||
function tc { param ( [string] $filename)
|
||||
New-Item $filename && code $filename
|
||||
}
|
||||
|
||||
function tv { param ( [string] $filename)
|
||||
New-Item $filename && nvim $filename
|
||||
}
|
||||
|
||||
function cdls { param( [string] $dirname)
|
||||
Set-Location $dirname && Get-ChildItem
|
||||
}
|
||||
|
||||
|
||||
|
||||
### Modules ###
|
||||
|
||||
$ChocolateyProfile = "$env:ChocolateyInstall\helpers\chocolateyProfile.psm1"
|
||||
if (Test-Path($ChocolateyProfile)) { Import-Module "$ChocolateyProfile" }
|
||||
|
||||
Import-Module -Name Microsoft.WinGet.CommandNotFound #f45873b3-b655-43a6-b217-97c00aa0db58
|
||||
|
||||
Import-Module CompletionPredictor
|
||||
|
||||
### Misc ###
|
||||
|
||||
#region conda initialize
|
||||
# !! Contents within this block are managed by 'conda init' !!
|
||||
If (Test-Path "$HOME\miniconda3\Scripts\conda.exe") {
|
||||
(& "$HOME\miniconda3\Scripts\conda.exe" "shell.powershell" "hook") | Out-String | Where-Object{$_} | Invoke-Expression
|
||||
}
|
||||
#endregion
|
||||
468
win/WindowsTerminal.json
Normal file
468
win/WindowsTerminal.json
Normal file
|
|
@ -0,0 +1,468 @@
|
|||
{
|
||||
"$help": "https://aka.ms/terminal-documentation",
|
||||
"$schema": "https://aka.ms/terminal-profiles-schema",
|
||||
"actions":
|
||||
[
|
||||
{
|
||||
"command": "unbound",
|
||||
"keys": "alt+shift+plus"
|
||||
},
|
||||
{
|
||||
"command": "unbound",
|
||||
"keys": "alt+up"
|
||||
},
|
||||
{
|
||||
"command": "unbound",
|
||||
"keys": "alt+down"
|
||||
},
|
||||
{
|
||||
"command": "unbound",
|
||||
"keys": "alt+right"
|
||||
},
|
||||
{
|
||||
"command": "unbound",
|
||||
"keys": "alt+left"
|
||||
},
|
||||
{
|
||||
"command": "unbound",
|
||||
"keys": "alt+shift+up"
|
||||
},
|
||||
{
|
||||
"command": "unbound",
|
||||
"keys": "alt+shift+down"
|
||||
},
|
||||
{
|
||||
"command": "unbound",
|
||||
"keys": "alt+shift+right"
|
||||
},
|
||||
{
|
||||
"command": "unbound",
|
||||
"keys": "alt+shift+left"
|
||||
},
|
||||
{
|
||||
"command":
|
||||
{
|
||||
"action": "copy",
|
||||
"singleLine": false
|
||||
},
|
||||
"keys": "ctrl+c"
|
||||
},
|
||||
{
|
||||
"command":
|
||||
{
|
||||
"action": "moveFocus",
|
||||
"direction": "up"
|
||||
},
|
||||
"keys": "ctrl+k"
|
||||
},
|
||||
{
|
||||
"command":
|
||||
{
|
||||
"action": "resizePane",
|
||||
"direction": "up"
|
||||
},
|
||||
"keys": "ctrl+shift+k"
|
||||
},
|
||||
{
|
||||
"command": "paste",
|
||||
"keys": "ctrl+v"
|
||||
},
|
||||
{
|
||||
"command":
|
||||
{
|
||||
"action": "splitPane",
|
||||
"split": "auto",
|
||||
"splitMode": "duplicate"
|
||||
},
|
||||
"keys": "alt+shift+d"
|
||||
},
|
||||
{
|
||||
"command":
|
||||
{
|
||||
"action": "resizePane",
|
||||
"direction": "left"
|
||||
},
|
||||
"keys": "ctrl+shift+h"
|
||||
},
|
||||
{
|
||||
"command": "find",
|
||||
"keys": "ctrl+shift+f"
|
||||
},
|
||||
{
|
||||
"command":
|
||||
{
|
||||
"action": "moveFocus",
|
||||
"direction": "down"
|
||||
},
|
||||
"keys": "ctrl+j"
|
||||
},
|
||||
{
|
||||
"command":
|
||||
{
|
||||
"action": "splitPane",
|
||||
"split": "right"
|
||||
},
|
||||
"keys": "alt+shift+/"
|
||||
},
|
||||
{
|
||||
"command":
|
||||
{
|
||||
"action": "moveFocus",
|
||||
"direction": "right"
|
||||
},
|
||||
"keys": "ctrl+l"
|
||||
},
|
||||
{
|
||||
"command":
|
||||
{
|
||||
"action": "moveFocus",
|
||||
"direction": "left"
|
||||
},
|
||||
"keys": "ctrl+h"
|
||||
},
|
||||
{
|
||||
"command":
|
||||
{
|
||||
"action": "resizePane",
|
||||
"direction": "down"
|
||||
},
|
||||
"keys": "ctrl+shift+j"
|
||||
},
|
||||
{
|
||||
"command":
|
||||
{
|
||||
"action": "resizePane",
|
||||
"direction": "right"
|
||||
},
|
||||
"keys": "ctrl+shift+l"
|
||||
}
|
||||
],
|
||||
"autoHideWindow": false,
|
||||
"centerOnLaunch": false,
|
||||
"copyFormatting": "none",
|
||||
"copyOnSelect": false,
|
||||
"defaultProfile": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
|
||||
"language": "zh-Hans",
|
||||
"minimizeToNotificationArea": false,
|
||||
"newTabMenu":
|
||||
[
|
||||
{
|
||||
"type": "remainingProfiles"
|
||||
}
|
||||
],
|
||||
"profiles":
|
||||
{
|
||||
"defaults":
|
||||
{
|
||||
"colorScheme": "One Half Dark",
|
||||
"font":
|
||||
{
|
||||
"face": "CaskaydiaCove Nerd Font"
|
||||
}
|
||||
},
|
||||
"list":
|
||||
[
|
||||
{
|
||||
"backgroundImage": null,
|
||||
"colorScheme": "One Half Dark",
|
||||
"experimental.retroTerminalEffect": false,
|
||||
"guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
|
||||
"hidden": false,
|
||||
"name": "PowerShell",
|
||||
"opacity": 100,
|
||||
"scrollbarState": "hidden",
|
||||
"source": "Windows.Terminal.PowershellCore"
|
||||
},
|
||||
{
|
||||
"colorScheme": "One Half Dark",
|
||||
"guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
|
||||
"hidden": false,
|
||||
"name": "Ubuntu",
|
||||
"source": "Windows.Terminal.Wsl"
|
||||
},
|
||||
{
|
||||
"guid": "{3c5d580b-1c52-55ce-89c9-57119457e5a7}",
|
||||
"hidden": false,
|
||||
"name": "CMD VS 2022",
|
||||
"source": "Windows.Terminal.VisualStudio"
|
||||
},
|
||||
{
|
||||
"guid": "{bc7a2d0e-eee9-5401-ae36-b35fa60deb22}",
|
||||
"hidden": false,
|
||||
"name": "PowerShell VS2022",
|
||||
"source": "Windows.Terminal.VisualStudio"
|
||||
},
|
||||
{
|
||||
"colorScheme": "Campbell",
|
||||
"commandline": "\"C:\\Users\\citoy\\AppData\\Local\\Microsoft\\WindowsApps\\Microsoft.PowerShell_8wekyb3d8bbwe\\pwsh.exe\"",
|
||||
"elevate": true,
|
||||
"guid": "{6693d425-c727-46ba-8739-542bcf18769b}",
|
||||
"hidden": false,
|
||||
"icon": "ms-appx:///ProfileIcons/pwsh.png",
|
||||
"name": "PowerShell Administrator",
|
||||
"startingDirectory": "%USERPROFILE%"
|
||||
},
|
||||
{
|
||||
"commandline": "%SystemRoot%\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
|
||||
"guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
|
||||
"hidden": false,
|
||||
"name": "Windows PowerShell"
|
||||
},
|
||||
{
|
||||
"commandline": "%SystemRoot%\\System32\\cmd.exe",
|
||||
"guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
|
||||
"hidden": false,
|
||||
"name": "\u547d\u4ee4\u63d0\u793a\u7b26"
|
||||
},
|
||||
{
|
||||
"guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
|
||||
"hidden": false,
|
||||
"name": "Azure Cloud Shell",
|
||||
"source": "Windows.Terminal.Azure"
|
||||
},
|
||||
{
|
||||
"guid": "{58ad8b0c-3ef8-5f4d-bc6f-13e4c00f2530}",
|
||||
"hidden": false,
|
||||
"name": "Debian",
|
||||
"source": "Windows.Terminal.Wsl"
|
||||
}
|
||||
]
|
||||
},
|
||||
"schemes":
|
||||
[
|
||||
{
|
||||
"background": "#0C0C0C",
|
||||
"black": "#0C0C0C",
|
||||
"blue": "#0037DA",
|
||||
"brightBlack": "#767676",
|
||||
"brightBlue": "#3B78FF",
|
||||
"brightCyan": "#61D6D6",
|
||||
"brightGreen": "#16C60C",
|
||||
"brightPurple": "#B4009E",
|
||||
"brightRed": "#E74856",
|
||||
"brightWhite": "#F2F2F2",
|
||||
"brightYellow": "#F9F1A5",
|
||||
"cursorColor": "#FFFFFF",
|
||||
"cyan": "#3A96DD",
|
||||
"foreground": "#CCCCCC",
|
||||
"green": "#13A10E",
|
||||
"name": "Campbell",
|
||||
"purple": "#881798",
|
||||
"red": "#C50F1F",
|
||||
"selectionBackground": "#FFFFFF",
|
||||
"white": "#CCCCCC",
|
||||
"yellow": "#C19C00"
|
||||
},
|
||||
{
|
||||
"background": "#012456",
|
||||
"black": "#0C0C0C",
|
||||
"blue": "#0037DA",
|
||||
"brightBlack": "#767676",
|
||||
"brightBlue": "#3B78FF",
|
||||
"brightCyan": "#61D6D6",
|
||||
"brightGreen": "#16C60C",
|
||||
"brightPurple": "#B4009E",
|
||||
"brightRed": "#E74856",
|
||||
"brightWhite": "#F2F2F2",
|
||||
"brightYellow": "#F9F1A5",
|
||||
"cursorColor": "#FFFFFF",
|
||||
"cyan": "#3A96DD",
|
||||
"foreground": "#CCCCCC",
|
||||
"green": "#13A10E",
|
||||
"name": "Campbell Powershell",
|
||||
"purple": "#881798",
|
||||
"red": "#C50F1F",
|
||||
"selectionBackground": "#FFFFFF",
|
||||
"white": "#CCCCCC",
|
||||
"yellow": "#C19C00"
|
||||
},
|
||||
{
|
||||
"background": "#282C34",
|
||||
"black": "#282C34",
|
||||
"blue": "#61AFEF",
|
||||
"brightBlack": "#5A6374",
|
||||
"brightBlue": "#61AFEF",
|
||||
"brightCyan": "#56B6C2",
|
||||
"brightGreen": "#98C379",
|
||||
"brightPurple": "#C678DD",
|
||||
"brightRed": "#E06C75",
|
||||
"brightWhite": "#DCDFE4",
|
||||
"brightYellow": "#E5C07B",
|
||||
"cursorColor": "#FFFFFF",
|
||||
"cyan": "#56B6C2",
|
||||
"foreground": "#DCDFE4",
|
||||
"green": "#98C379",
|
||||
"name": "One Half Dark",
|
||||
"purple": "#C678DD",
|
||||
"red": "#E06C75",
|
||||
"selectionBackground": "#FFFFFF",
|
||||
"white": "#DCDFE4",
|
||||
"yellow": "#E5C07B"
|
||||
},
|
||||
{
|
||||
"background": "#FAFAFA",
|
||||
"black": "#383A42",
|
||||
"blue": "#0184BC",
|
||||
"brightBlack": "#4F525D",
|
||||
"brightBlue": "#61AFEF",
|
||||
"brightCyan": "#56B5C1",
|
||||
"brightGreen": "#98C379",
|
||||
"brightPurple": "#C577DD",
|
||||
"brightRed": "#DF6C75",
|
||||
"brightWhite": "#FFFFFF",
|
||||
"brightYellow": "#E4C07A",
|
||||
"cursorColor": "#4F525D",
|
||||
"cyan": "#0997B3",
|
||||
"foreground": "#383A42",
|
||||
"green": "#50A14F",
|
||||
"name": "One Half Light",
|
||||
"purple": "#A626A4",
|
||||
"red": "#E45649",
|
||||
"selectionBackground": "#FFFFFF",
|
||||
"white": "#FAFAFA",
|
||||
"yellow": "#C18301"
|
||||
},
|
||||
{
|
||||
"background": "#002B36",
|
||||
"black": "#002B36",
|
||||
"blue": "#268BD2",
|
||||
"brightBlack": "#073642",
|
||||
"brightBlue": "#839496",
|
||||
"brightCyan": "#93A1A1",
|
||||
"brightGreen": "#586E75",
|
||||
"brightPurple": "#6C71C4",
|
||||
"brightRed": "#CB4B16",
|
||||
"brightWhite": "#FDF6E3",
|
||||
"brightYellow": "#657B83",
|
||||
"cursorColor": "#FFFFFF",
|
||||
"cyan": "#2AA198",
|
||||
"foreground": "#839496",
|
||||
"green": "#859900",
|
||||
"name": "Solarized Dark",
|
||||
"purple": "#D33682",
|
||||
"red": "#DC322F",
|
||||
"selectionBackground": "#FFFFFF",
|
||||
"white": "#EEE8D5",
|
||||
"yellow": "#B58900"
|
||||
},
|
||||
{
|
||||
"background": "#FDF6E3",
|
||||
"black": "#002B36",
|
||||
"blue": "#268BD2",
|
||||
"brightBlack": "#073642",
|
||||
"brightBlue": "#839496",
|
||||
"brightCyan": "#93A1A1",
|
||||
"brightGreen": "#586E75",
|
||||
"brightPurple": "#6C71C4",
|
||||
"brightRed": "#CB4B16",
|
||||
"brightWhite": "#FDF6E3",
|
||||
"brightYellow": "#657B83",
|
||||
"cursorColor": "#002B36",
|
||||
"cyan": "#2AA198",
|
||||
"foreground": "#657B83",
|
||||
"green": "#859900",
|
||||
"name": "Solarized Light",
|
||||
"purple": "#D33682",
|
||||
"red": "#DC322F",
|
||||
"selectionBackground": "#FFFFFF",
|
||||
"white": "#EEE8D5",
|
||||
"yellow": "#B58900"
|
||||
},
|
||||
{
|
||||
"background": "#000000",
|
||||
"black": "#000000",
|
||||
"blue": "#3465A4",
|
||||
"brightBlack": "#555753",
|
||||
"brightBlue": "#729FCF",
|
||||
"brightCyan": "#34E2E2",
|
||||
"brightGreen": "#8AE234",
|
||||
"brightPurple": "#AD7FA8",
|
||||
"brightRed": "#EF2929",
|
||||
"brightWhite": "#EEEEEC",
|
||||
"brightYellow": "#FCE94F",
|
||||
"cursorColor": "#FFFFFF",
|
||||
"cyan": "#06989A",
|
||||
"foreground": "#D3D7CF",
|
||||
"green": "#4E9A06",
|
||||
"name": "Tango Dark",
|
||||
"purple": "#75507B",
|
||||
"red": "#CC0000",
|
||||
"selectionBackground": "#FFFFFF",
|
||||
"white": "#D3D7CF",
|
||||
"yellow": "#C4A000"
|
||||
},
|
||||
{
|
||||
"background": "#FFFFFF",
|
||||
"black": "#000000",
|
||||
"blue": "#3465A4",
|
||||
"brightBlack": "#555753",
|
||||
"brightBlue": "#729FCF",
|
||||
"brightCyan": "#34E2E2",
|
||||
"brightGreen": "#8AE234",
|
||||
"brightPurple": "#AD7FA8",
|
||||
"brightRed": "#EF2929",
|
||||
"brightWhite": "#EEEEEC",
|
||||
"brightYellow": "#FCE94F",
|
||||
"cursorColor": "#000000",
|
||||
"cyan": "#06989A",
|
||||
"foreground": "#555753",
|
||||
"green": "#4E9A06",
|
||||
"name": "Tango Light",
|
||||
"purple": "#75507B",
|
||||
"red": "#CC0000",
|
||||
"selectionBackground": "#FFFFFF",
|
||||
"white": "#D3D7CF",
|
||||
"yellow": "#C4A000"
|
||||
},
|
||||
{
|
||||
"background": "#300A24",
|
||||
"black": "#171421",
|
||||
"blue": "#0037DA",
|
||||
"brightBlack": "#767676",
|
||||
"brightBlue": "#08458F",
|
||||
"brightCyan": "#2C9FB3",
|
||||
"brightGreen": "#26A269",
|
||||
"brightPurple": "#A347BA",
|
||||
"brightRed": "#C01C28",
|
||||
"brightWhite": "#F2F2F2",
|
||||
"brightYellow": "#A2734C",
|
||||
"cursorColor": "#FFFFFF",
|
||||
"cyan": "#3A96DD",
|
||||
"foreground": "#FFFFFF",
|
||||
"green": "#26A269",
|
||||
"name": "Ubuntu-ColorScheme",
|
||||
"purple": "#881798",
|
||||
"red": "#C21A23",
|
||||
"selectionBackground": "#FFFFFF",
|
||||
"white": "#CCCCCC",
|
||||
"yellow": "#A2734C"
|
||||
},
|
||||
{
|
||||
"background": "#000000",
|
||||
"black": "#000000",
|
||||
"blue": "#000080",
|
||||
"brightBlack": "#808080",
|
||||
"brightBlue": "#0000FF",
|
||||
"brightCyan": "#00FFFF",
|
||||
"brightGreen": "#00FF00",
|
||||
"brightPurple": "#FF00FF",
|
||||
"brightRed": "#FF0000",
|
||||
"brightWhite": "#FFFFFF",
|
||||
"brightYellow": "#FFFF00",
|
||||
"cursorColor": "#FFFFFF",
|
||||
"cyan": "#008080",
|
||||
"foreground": "#C0C0C0",
|
||||
"green": "#008000",
|
||||
"name": "Vintage",
|
||||
"purple": "#800080",
|
||||
"red": "#800000",
|
||||
"selectionBackground": "#FFFFFF",
|
||||
"white": "#C0C0C0",
|
||||
"yellow": "#808000"
|
||||
}
|
||||
],
|
||||
"tabWidthMode": "compact",
|
||||
"themes": [],
|
||||
"useAcrylicInTabRow": true,
|
||||
"windowingBehavior": "useNew"
|
||||
}
|
||||
16
win/neovide.toml
Normal file
16
win/neovide.toml
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
fork = false
|
||||
frame = "full"
|
||||
idle = true
|
||||
maximized = false
|
||||
no-multigrid = false
|
||||
srgb = false
|
||||
tabs = true
|
||||
theme = "auto"
|
||||
title-hidden = true
|
||||
vsync = false
|
||||
wsl = true
|
||||
neovim-bin = "/opt/nvim-linux64/bin/nvim"
|
||||
|
||||
[font]
|
||||
normal = ["CaskaydiaCove Nerd Font"] # Will use the bundled Fira Code Nerd Font by default
|
||||
size = 14.0
|
||||
8
win/readme.md
Normal file
8
win/readme.md
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# Configs for Windows
|
||||
|
||||
## Navigator
|
||||
|
||||
- [WSL Config](./.wslconfig)
|
||||
- [Windows Terminal Config](./WindowsTerminal.json)
|
||||
- [PowerShell Config](./Microsoft.PowerShell_profile.ps1)
|
||||
- [Neovide](./neovide.toml)
|
||||
Loading…
Add table
Add a link
Reference in a new issue