Last active
January 29, 2021 09:50
-
-
Save op8867555/5b13df17b8800336726c203e7be32719 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Xft.dpi: 180 */ | |
XTerm*locale: true | |
XTerm*reverseVideo: on | |
xterm*faceName: Source Code Pro | |
xterm*faceNameDoublesize: Source Han Sans | |
XTerm*metaSendsEscape: true | |
xterm*termName: xterm-256color | |
xterm*faceSize: 12 | |
URxvt*buffered: false | |
URxvt.scrollBar: false | |
URxvt*font: xft:Source Code Pro:size=12, \ | |
xft:DejaVu Sans Mono:size=12, \ | |
xft:Source Han Sans:style=Normal:size=12, \ | |
xft:Symbola:pixelsize=12:antialias=true:hinting=slight, \ | |
xfg:Awesome, \ | |
xft:unifont:style=Medium | |
URxvt*letterspace: 4 | |
URxvt.perl-ext-common: resize-font | |
URxvt.reverseVideo: on | |
/* URxvt*depth: 32 */ | |
/* URxvt*background: [95]#000000 */ | |
! urxvt-resize-font-git | |
URxvt.resize-font.smaller: C-minus | |
URxvt.resize-font.bigger: C-equal | |
URxvt.resize-font.reset: C-plus | |
URxvt.resize-font.show: C-question | |
! ------------------------------------------------------------------------------ | |
! ROFI Color theme | |
! ------------------------------------------------------------------------------ | |
! Use extended color scheme | |
rofi.color-enabled: true | |
rofi.color-window: argb:EE373B47, #373B47 | |
rofi.color-normal: argb:00373B47, #737783, argb:00373B47, argb:00373B47, #f9f9f9 | |
rofi.color-urgent: argb:00373B47, #cc6666, argb:e54b5160, argb:00373B47, #f9f9f9 | |
rofi.color-active: argb:00373B47, #65acff, argb:e44b5160, argb:00373B47, #f9f9f9 | |
rofi.width: 30 | |
rofi.lines: 16 | |
rofi.font: Source Code Pro 24 | |
rofi.bw: 0 | |
rofi.padding: 40 | |
rofi.eh: 1 | |
rofi.sidebar-mode: false | |
rofi.separator-style: none | |
rofi.hide-scrollbar: true | |
rofi.show-icons: true | |
rofi.location: 4 | |
rofi.modi: window,run,drun |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ZPLUG | |
# ===== | |
source ~/.zplug/init.zsh | |
# Make sure to use double quotes | |
# Add a bunch more of your favorite packages! | |
zplug "zsh-users/zsh-autosuggestions" | |
zplug "zsh-users/zsh-completions" | |
zplug "zsh-users/zsh-syntax-highlighting", defer:2 | |
zplug "zsh-users/zsh-history-substring-search", defer:3 | |
zplug "chriskempson/base16-shell", use:"scripts/base16-ir-black.sh", defer:0 | |
zplug "themes/frisk", from:oh-my-zsh, as:theme | |
zplug "plugins/git", from:oh-my-zsh, as:plugin | |
zplug "plugins/stack", from:oh-my-zsh, as:plugin | |
zplug "plugins/docker-compose", from:oh-my-zsh, as:plugin | |
zplug "plugins/ssh-agent", from:oh-my-zsh, as:plugin | |
# Install packages that have not been installed yet | |
if ! zplug check --verbose; then | |
printf "Install? [y/N]: " | |
if read -q; then | |
echo; zplug install | |
else | |
echo | |
fi | |
fi | |
zplug load | |
# CONFIG | |
# ====== | |
# CONFIG | |
# ====== | |
HISTFILE=~/.histfile | |
HISTSIZE=10000 | |
SAVEHIST=10000 | |
# beep | |
setopt beep notify | |
# pushd when cd | |
setopt auto_pushd | |
# completion menu | |
zstyle ':completion:*' menu select | |
# keybindings | |
# =========== | |
bindkey '^[[Z' reverse-menu-complete | |
bindkey "\e[A" history-search-backward | |
bindkey "\e[B" history-search-forward | |
bindkey -M vicmd 'k' history-substring-search-up | |
bindkey -M vicmd 'j' history-substring-search-down | |
bindkey "^r" history-incremental-pattern-search-backward | |
# bind `v` to edit the command line | |
zle -N edit-command-line | |
autoload -Uz edit-command-line | |
bindkey -M vicmd 'v' edit-command-line |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#################################################################################### | |
set -g default-terminal "screen-256color" | |
#################################################################################### | |
set -ga terminal-overrides ',*:Ss=\E[%p1%d q:Se=\E[2 q' | |
set-option -g allow-rename off | |
set-option -g renumber-windows on | |
set-option -g -q mouse on | |
#### statusbar #### | |
set -g status-interval 1 | |
set -g status-justify centre # center align window list | |
set -g status-left '#[fg=green] #S #[default]' | |
## set -g status-right '#[fg=blue,bright]Up#(uptime | cut -f 4-5 -d " " | cut -f 1 -d ",") #[default]:: #[fg=cyan]#(cut -d " " -f 1-4 /proc/loadavg) ' | |
set -g status-right '#[fg=yellow] %m/%d %H:%M #[fg=blue]Up#(uptime | cut -f 4-5 -d " " | cut -f 1 -d ",")' | |
# # default statusbar colors | |
# set -g status-fg white | |
# set -g status-bg default | |
# set -g status-attr bright | |
# # default window title colors | |
# set-window-option -g window-status-fg white | |
# set-window-option -g window-status-bg default | |
# set-window-option -g window-status-attr dim | |
# # active window title colors | |
# set-window-option -g window-status-current-fg white | |
# set-window-option -g window-status-current-bg default | |
# set-window-option -g window-status-current-attr bright | |
# # command/message line colors | |
# set -g message-fg white | |
# set -g message-bg black | |
# set -g message-attr bright | |
# | |
# Set the prefix to ^A. | |
unbind C-b | |
set -g prefix ^A | |
bind a send-prefix | |
# screen ^C c | |
unbind ^C | |
bind ^C new-window | |
unbind c | |
bind c new-window | |
# detach ^D d | |
unbind ^D | |
bind ^D detach | |
unbind n | |
bind n next-window | |
# title A | |
unbind A | |
bind A command-prompt "rename-window %%" | |
# other ^A | |
unbind ^A | |
bind ^A last-window | |
# windows ^W w | |
unbind ^W | |
bind ^W choose-window | |
unbind w | |
bind w choose-window | |
# kill K k | |
unbind K | |
bind K confirm-before "kill-window" | |
# redisplay ^L l | |
unbind ^L | |
bind ^L refresh-client | |
# split -v | | |
unbind | | |
bind | split-window | |
# :kB: focus up | |
unbind Tab | |
bind Tab select-pane -t:.+ | |
unbind BTab | |
bind BTab select-pane -t:.- | |
# " windowlist -b | |
unbind '"' | |
bind '"' choose-window | |
# split new window with current path | |
bind s split-window -v -c "#{pane_current_path}" | |
bind v split-window -h -c "#{pane_current_path}" | |
# move around panes with hjkl, as one would in vim after pressing ctrl-w | |
bind h select-pane -L | |
bind j select-pane -D | |
bind k select-pane -U | |
bind l select-pane -R | |
bind < swap-window -t -1 | |
bind > swap-window -t +1 | |
# bind : to command-prompt like vim | |
# this is the default in tmux already | |
bind : command-prompt | |
# vi-style controls for copy mode | |
setw -g mode-keys vi | |
set -sg escape-time 0 | |
# List of plugins | |
set -g @plugin 'tmux-plugins/tpm' | |
set -g @plugin 'tmux-plugins/tmux-sensible' | |
set -g @plugin 'jimeh/tmux-themepack' | |
set -g @themepack 'powerline/block/cyan' | |
run -b '~/.tmux/plugins/tpm/tpm' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This file has been auto-generated by i3-config-wizard(1). | |
# It will not be overwritten, so edit it as you like. | |
# | |
# Should you change your keyboard layout some time, delete | |
# this file and re-run i3-config-wizard(1). | |
# | |
# i3 config file (v4) | |
# | |
# Please see http://i3wm.org/docs/userguide.html for a complete reference! | |
set $mod Mod4 | |
# Font for window titles. Will also be used by the bar unless a different font | |
# is used in the bar {} block below. | |
font pango:Source Code Pro, FontAwesome, Awesome 8 | |
# This font is widely installed, provides lots of unicode glyphs, right-to-left | |
# text rendering and scalability on retina/hidpi displays (thanks to pango). | |
#font pango:DejaVu Sans Mono 8 | |
# Before i3 v4.8, we used to recommend this one as the default: | |
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1 | |
# The font above is very space-efficient, that is, it looks good, sharp and | |
# clear in small sizes. However, its unicode glyph coverage is limited, the old | |
# X core fonts rendering does not support right-to-left and this being a bitmap | |
# font, it doesn’t scale on retina/hidpi displays. | |
# exec --no-startup-id nitrogen --restore | |
exec_always --no-startup-id ~/bin/i3sub.py | |
exec_always --no-startup-id ~/playground/i3-ws-osd-py/osd.py | |
exec_always --no-startup-id ~/playground/i3-wpd/i3wpd.py --bg-fill ~/playground/i3-wpd/bg png | |
exec --no-startup-id tint2 | |
# Use Mouse+$mod to drag floating windows to their wanted position | |
floating_modifier $mod | |
workspace_layout tabbed | |
workspace_auto_back_and_forth yes | |
# start a terminal | |
bindsym $mod+Return exec i3-sensible-terminal | |
# kill focused window | |
bindsym $mod+Shift+q kill | |
# start dmenu (a program launcher) | |
# bindsym $mod+Shift+d exec dmenu_run | |
bindsym $mod+Shift+d exec rofi -no-kb-row-select -show run | |
bindsym $mod+Shift+w exec rofi -no-kb-row-select -show window | |
bindsym $mod+Shift+t exec i3-input -F 'title_format %s' -P 'New Title: ' | |
bindsym $mod+Control+d exec rofi -no-kb-row-select -show drun | |
bindsym $mod+F8 exec ~/bin/rofi-netctl/rofi-netctl.sh | |
# change focus | |
bindsym $mod+h focus left | |
bindsym $mod+j focus down | |
bindsym $mod+k focus up | |
bindsym $mod+l focus right | |
# alternatively, you can use the cursor keys: | |
bindsym $mod+Left focus left | |
bindsym $mod+Down focus down | |
bindsym $mod+Up focus up | |
bindsym $mod+Right focus right | |
# move focused window | |
bindsym $mod+Shift+h move left | |
bindsym $mod+Shift+j move down | |
bindsym $mod+Shift+k move up | |
bindsym $mod+Shift+l move right | |
# alternatively, you can use the cursor keys: | |
bindsym $mod+Shift+Left move left | |
bindsym $mod+Shift+Down move down | |
bindsym $mod+Shift+Up move up | |
bindsym $mod+Shift+Right move right | |
# split in horizontal orientation | |
bindsym $mod+semicolon split h | |
# split in vertical orientation | |
bindsym $mod+v split v | |
# enter fullscreen mode for the focused container | |
bindsym $mod+f fullscreen toggle | |
# enter fullscreen mode for the focused container | |
# bindsym $mod+f exec ~/bin/i3-maximize.sh | |
# make window sticky | |
bindsym $mod+Control+f sticky toggle | |
# change container layout (stacked, tabbed, toggle split) | |
bindsym $mod+s layout stacking | |
bindsym $mod+w layout tabbed | |
bindsym $mod+e layout toggle split | |
# toggle tiling / floating | |
bindsym $mod+Shift+space floating toggle | |
# change focus between tiling / floating windows | |
bindsym $mod+space focus mode_toggle | |
# focus the parent container | |
bindsym $mod+a focus parent | |
# focus the child container | |
bindsym $mod+d focus child | |
# focus urgent window | |
bindsym $mod+x [urgent=latest] focus | |
set $ws1 workspace "1: " | |
set $ws2 workspace "2: " | |
set $ws3 workspace "3: " | |
set $ws4 workspace "4: " | |
# set $ws1 workspace 1 | |
# set $ws2 workspace 2 | |
# set $ws3 workspace 3 | |
# set $ws4 workspace 4 | |
set $ws5 workspace 5 | |
set $ws6 workspace 6 | |
set $ws7 workspace 7 | |
set $ws8 workspace 8 | |
set $ws9 workspace 9 | |
set $ws10 workspace 10 | |
# switch to workspace | |
bindsym $mod+1 $ws1 | |
bindsym $mod+2 $ws2 | |
bindsym $mod+3 $ws3 | |
bindsym $mod+4 $ws4 | |
bindsym $mod+5 $ws5 | |
bindsym $mod+6 $ws6 | |
bindsym $mod+7 $ws7 | |
bindsym $mod+8 $ws8 | |
bindsym $mod+9 $ws9 | |
bindsym $mod+0 $ws10 | |
bindsym $mod+comma workspace prev_on_output | |
bindsym $mod+period workspace next_on_output | |
bindsym $mod+Escape workspace back_and_forth | |
bindsym $mod+Shift+Escape move container to workspace back_and_forth | |
bindsym $mod+Tab [con_mark="_last"] focus | |
bindsym $mod+minus scratchpad show | |
bindsym $mod+Shift+minus move scratchpad | |
# move focused container to workspace | |
bindsym $mod+Shift+1 move container to $ws1 | |
bindsym $mod+Shift+2 move container to $ws2 | |
bindsym $mod+Shift+3 move container to $ws3 | |
bindsym $mod+Shift+4 move container to $ws4 | |
bindsym $mod+Shift+5 move container to $ws5 | |
bindsym $mod+Shift+6 move container to $ws6 | |
bindsym $mod+Shift+7 move container to $ws7 | |
bindsym $mod+Shift+8 move container to $ws8 | |
bindsym $mod+Shift+9 move container to $ws9 | |
bindsym $mod+Shift+0 move container to $ws10 | |
# reload the configuration file | |
bindsym $mod+Shift+c reload | |
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) | |
bindsym $mod+Shift+r restart | |
# exit i3 (logs you out of your X session) | |
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" | |
bindsym Shift+XF86MonBrightnessUp exec xbacklight -inc 5 | |
bindsym Shift+XF86MonBrightnessDown exec xbacklight -dec 5 | |
bindsym XF86MonBrightnessUp exec xbacklight -inc 10 | |
bindsym XF86MonBrightnessDown exec xbacklight -dec 10 | |
# Pulse Audio controls | |
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% #increase sound volume | |
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% #decrease sound volume | |
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle # mute sound | |
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle # mute mic sound | |
bindsym XF86Display exec --no-startup-id randrctl auto | |
bindsym Shift+XF86Display exec --no-startup-id randrctl-match | |
bindsym $mod+F11 exec --no-startup-id /home/requiem/bin/toggle_touchpad | |
assign [title="Messenger.*- Chromium"] $ws4 | |
assign [title=".* - Gitter - Chromium"] $ws4 | |
assign [title=".*Google Hangouts.* - Chromium"] $ws4 | |
assign [title=".*Skype.* - Chromium"] $ws4 | |
assign [title=".*Habitica.* - Chromium"] $ws4 | |
assign [title=".*Inbox.* - Chromium"] $ws4 | |
assign [title="^LINE$"] $ws4 | |
assign [instance="^crx_knipolnnllmklapflnccelgolnpehhpl$"] $ws4 | |
assign [title="^Rambox$"] $ws4 | |
assign [title=".* - YouTube - Chromium"] $ws2 | |
assign [title=".* - ニコニコ動画 - Chromium"] $ws2 | |
assign [title="VLC-*"] $ws2 | |
for_window [instance="^crx_knipolnnllmklapflnccelgolnpehhpl$"] floating disable | |
for_window [title="^Tab Organizer \(.+\)$"] floating enable | |
for_window [title="歌詞" instance="OSD Lyrics"] floating enable | |
for_window [class="^.* - openalpr"] floating enable, move window to $ws6 | |
for_window [title="feh_float"] floating enable | |
for_window [title="tk_float"] floating enable | |
# resize window (you can also use the mouse for that) | |
mode "resize" { | |
# These bindings trigger as soon as you enter the resize mode | |
# Pressing left will shrink the window’s width. | |
# Pressing right will grow the window’s width. | |
# Pressing up will shrink the window’s height. | |
# Pressing down will grow the window’s height. | |
bindsym h resize shrink width 5 px or 5 ppt | |
bindsym j resize grow height 5 px or 5 ppt | |
bindsym k resize shrink height 5 px or 5 ppt | |
bindsym l resize grow width 5 px or 5 ppt | |
bindsym Shift+h resize shrink width 10 px or 10 ppt | |
bindsym Shift+j resize grow height 10 px or 10 ppt | |
bindsym Shift+k resize shrink height 10 px or 10 ppt | |
bindsym Shift+l resize grow width 10 px or 10 ppt | |
# back to normal: Enter or Escape | |
bindsym Return mode "default" | |
bindsym Escape mode "default" | |
} | |
bindsym $mod+r mode "resize" | |
bindsym $mod+F2 exec "scrlck" | |
bindsym $mod+F4 exec "suslck" | |
mode "power" { | |
bindsym $mod+f2 exec "scrlck", mode "default" | |
bindsym $mod+o exec "scroff", mode "default" | |
bindsym $mod+Shift+s exec "suslck", mode "default" | |
bindsym $mod+s exec "scrlck", mode "default" | |
bindsym $mod+a exec "scroff", mode "default" | |
bindsym Return mode "default" | |
bindsym Escape mode "default" | |
} | |
bindsym $mod+Shift+s mode "power" | |
mode "screen" { | |
bindsym --release $mod+Print exec "maim -d 0.5 /tmp/$(date '+%Y%m%d-%H%M%S').png", mode "default" | |
bindsym --release $mod+Shift+Print exec "maim -d 0.5 -s /tmp/$(date '+%Y%m%d-%H%M%S').png", mode "default" | |
bindsym --release Print exec "maim -d 3 -s /tmp/$(date '+%Y%m%d-%H%M%S').png", mode "default" | |
bindsym --release c exec "maim -s | feh --title feh_float -", mode "default" | |
bindsym Return mode "default" | |
bindsym Escape mode "default" | |
} | |
bindsym --release $mod+Print mode "screen" | |
mode "move" { | |
bindsym $mod+h move container to output left, focus output left, mode "default" | |
bindsym $mod+j move container to output down, focus output down, mode "default" | |
bindsym $mod+k move container to output up, focus output up, mode "default" | |
bindsym $mod+l move container to output right, focus output right, mode "default" | |
bindsym $mod+Shift+h move workspace to output left, mode "default" | |
bindsym $mod+Shift+j move workspace to output down, mode "default" | |
bindsym $mod+Shift+k move workspace to output up, mode "default" | |
bindsym $mod+Shift+l move workspace to output right, mode "default" | |
bindsym Return mode "default" | |
bindsym Escape mode "default" | |
} | |
bindsym $mod+m mode "move" | |
bindsym $mod+Control+h focus output left | |
bindsym $mod+Control+l focus output right | |
bindsym $mod+Control+j focus output up | |
bindsym $mod+Control+k focus output down | |
# Color Scheme | |
# copy & paste™ from [Arc-Dark] theme | |
# [Arc-Dark]: https://github.com/horst3180/arc-theme | |
set $ad_base_color #404552 | |
set $ad_text_color #D3DAE3 | |
set $ad_bg_color #383C4A | |
set $ad_fg_color #D3DAE3 | |
set $ad_tooltip_bg_color #4B5162 | |
set $ad_tooltip_fg_color #FFFFFF | |
set $ad_selected_bg_color #5294E2 | |
set $ad_selected_fg_color #FFFFFF | |
set $ad_insensitive_bg_color #3E4350 | |
set $ad_insensitive_fg_color #7C818C | |
set $ad_notebook_bg #404552 | |
set $ad_dark_sidebar_bg #353945 | |
set $ad_link_color #5294E2 | |
set $ad_menu_bg #383C4A | |
set $ad_btn_close_color #CC575D | |
# class border background text indicator | |
client.focused $ad_selected_bg_color $ad_selected_bg_color $ad_selected_fg_color $ad_btn_close_color | |
client.unfocused $ad_insensitive_bg_color $ad_insensitive_bg_color $ad_insensitive_fg_color $ad_btn_close_color | |
client.focused_inactive $ad_bg_color $ad_bg_color $ad_fg_color $ad_btn_close_color | |
client.urgent $ad_insensitive_fg_color $ad_insensitive_bg_color $ad_insensitive_fg_color $ad_btn_close_color | |
client.background $ad_bg_color $ad_bg_color $ad_text_color $ad_btn_close_color | |
# Start i3bar to display a workspace bar (plus the system information i3status | |
# finds out, if available) | |
# bar { | |
# # status_command i3status | |
# status_command SCRIPT_DIR=~/bin/i3blocks/ i3blocks | |
# tray_output primary | |
# # tray_output none | |
# strip_workspace_numbers yes | |
# colors { | |
# background $ad_insensitive_bg_color | |
# statusline $ad_text_color | |
# separator $ad_insensitive_fg_color | |
# focused_background $ad_bg_color | |
# focused_statusline $ad_fg_color | |
# focused_workspace $ad_selected_bg_color $ad_selected_bg_color $ad_selected_fg_color | |
# active_workspace $ad_bg_color $ad_bg_color $ad_fg_color | |
# inactive_workspace $ad_insensitive_bg_color $ad_insensitive_bg_color $ad_insensitive_fg_color | |
# urgent_workspace $ad_btn_close_color $ad_btn_close_color #FFFFFF | |
# } | |
# } | |
reflow_docks no |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
call plug#begin('~/.vim/plugged') | |
Plug 'editorconfig/editorconfig-vim' | |
" Status | |
Plug 'bling/vim-airline' | |
Plug 'lilydjwg/fcitx.vim' | |
" Bars, panels, and files | |
Plug 'scrooloose/nerdtree' | |
" Plug 'bling/vim-airline' | |
Plug 'autozimu/LanguageClient-neovim', { 'branch': 'next', 'do': './install.sh' } | |
" Plug 'roxma/nvim-completion-manager' | |
Plug 'ncm2/ncm2' | |
" Plug 'ctrlpvim/ctrlp.vim' | |
Plug 'majutsushi/tagbar' | |
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } | |
Plug 'junegunn/fzf.vim' | |
Plug 'benmills/vimux' | |
Plug 'neomake/neomake' | |
Plug 'vim-scripts/DrawIt' | |
" Git | |
Plug 'tpope/vim-fugitive' | |
Plug 'airblade/vim-gitgutter' | |
Plug 'int3/vim-extradite' | |
" Haskell | |
Plug 'neovimhaskell/haskell-vim', { 'for': 'haskell' } | |
Plug 'parsonsmatt/intero-neovim', { 'for': 'haskell' } | |
Plug 'enomsg/vim-haskellConcealPlus', { 'for': 'haskell' } | |
" Theme | |
Plug 'Josheriff/semantic-highlight.vim' | |
" Plug 'IngoHeimbach/semantic-highlight.vim' | |
" Plug 'jaxbot/semantic-highlight.vim' | |
Plug 'vim-scripts/tir_black' | |
Plug 'chriskempson/base16-vim' | |
" Python | |
Plug 'davidhalter/jedi-vim', {'for': 'python'} | |
" Go | |
Plug 'fatih/vim-go', {'for': 'go'} | |
" Rust | |
Plug 'rust-lang/rust.vim', {'for': 'rust'} | |
Plug 'racer-rust/vim-racer', {'for': 'rust'} | |
" Pandoc | |
Plug 'vim-scripts/VOoM' | |
Plug 'vim-pandoc/vim-pandoc' | |
Plug 'vim-pandoc/vim-pandoc-syntax' | |
Plug 'rhysd/vim-grammarous', {'for': 'markdown'} | |
" GLSL | |
Plug 'tikhomirov/vim-glsl' | |
" Text manipulation | |
Plug 'vim-scripts/Align' | |
Plug 'simnalamburt/vim-mundo' | |
Plug 'tpope/vim-commentary' | |
Plug 'godlygeek/tabular' | |
Plug 'michaeljsmith/vim-indent-object' | |
Plug 'easymotion/vim-easymotion' | |
Plug 'tpope/vim-surround' | |
Plug 'tpope/vim-abolish' | |
Plug 'tmhedberg/matchit' | |
Plug 'dhruvasagar/vim-table-mode' | |
call plug#end() | |
" }}} | |
set clipboard=unnamed | |
try | |
colorscheme base16-default-dark | |
if filereadable(expand("~/.vimrc_background")) | |
let base16colorspace=256 | |
source ~/.vimrc_background | |
endif | |
catch | |
endtry | |
" Set 7 lines to the cursor - when moving vertically using j/k | |
set so=7 | |
" Turn on the Wild menu | |
set wildmenu | |
" Tab-complete files up to longest unambiguous prefix | |
set wildmode=list:longest,full | |
" Always show current position | |
set ruler | |
set relativenumber | |
set number | |
set cursorline | |
autocmd InsertEnter * set rnu | |
autocmd InsertLeave * set nu | |
let g:airline_powerline_fonts=1 | |
" Show trailing whitespace | |
set list | |
" But only interesting whitespace | |
if &listchars ==# 'eol:$' | |
set listchars=tab:>\ ,trail:_,extends:>,precedes:<,nbsp:+ | |
endif | |
" Use par for prettier line formatting | |
set formatprg="PARINIT='rTbgqR B=.,?_A_a Q=_s>|' par\ -w72" | |
" Use indentation for folds | |
set foldmethod=indent | |
set foldnestmax=5 | |
set foldlevelstart=99 | |
set foldcolumn=0 | |
augroup vimrcFold | |
" fold vimrc itself by categories | |
autocmd! | |
autocmd FileType vim set foldmethod=marker | |
autocmd FileType vim set foldlevel=0 | |
augroup END | |
set nocompatible | |
syntax on | |
filetype plugin indent on | |
" speedup marcos | |
set lazyredraw | |
" | |
" Ignore case when searching | |
set ignorecase | |
" When searching try to be smart about cases | |
set smartcase | |
" Highlight search results | |
set hlsearch | |
" C-L to clean highlight | |
nnoremap <C-L> :nohlsearch<CR><C-L> | |
map <F9> :TagbarToggle<CR> | |
map <F12> :SemanticHighlightToggle<CR> | |
" modern search | |
set incsearch | |
" Kill the damned Ex mode. | |
nnoremap Q <nop> | |
" Open file prompt with current path | |
nmap <leader>e :e <C-R>=expand("%:p:h") . '/'<CR> | |
" Show undo tree | |
nmap <silent> <leader>u :MundoToggle<CR> | |
" don't close buffers when you aren't displaying them | |
set hidden | |
" makeview on each file | |
" autocmd BufWinLeave *.* mkview! | |
" autocmd BufWinEnter *.* silent loadview | |
set mouse=a | |
let g:NERDCustomDelimiters = {} | |
" Text, tab and indent related {{{ | |
" Use spaces instead of tabs | |
set expandtab | |
" Be smart when using tabs ;) | |
set smarttab | |
" 1 tab == 2 spaces | |
set shiftwidth=2 | |
set tabstop=2 | |
" Linebreak on 500 characters | |
set lbr | |
set tw=500 | |
set ai "Auto indent | |
set si "Smart indent | |
set wrap "Wrap lines | |
" }}} | |
" digraph {{{ | |
digraph [[ 10214 | |
digraph ]] 10215 | |
" }}} | |
" fzf {{{ | |
" Mapping selecting mappings | |
nmap <leader><tab> <plug>(fzf-maps-n) | |
xmap <leader><tab> <plug>(fzf-maps-x) | |
omap <leader><tab> <plug>(fzf-maps-o) | |
" | |
" Insert mode completion | |
imap <c-x><c-k> <plug>(fzf-complete-word) | |
imap <c-x><c-f> <plug>(fzf-complete-path) | |
imap <c-x><c-j> <plug>(fzf-complete-file-ag) | |
imap <c-x><c-l> <plug>(fzf-complete-line) | |
" Advanced customization using autoload functions | |
inoremap <expr> <c-x><c-k> fzf#vim#complete#word({'left': '15%'}) | |
" | |
nmap <leader><space> :Files<CR> | |
nmap <leader>t :Tags<CR> | |
nmap <leader>; :Buffers<CR> | |
" }}} | |
map <F7> :Neomake<CR> | |
" {{{ LanguageClient | |
let g:LanguageClient_serverCommands = {} | |
" let g:LanguageClient_loadSettings = 1 | |
nnoremap <silent> K :call LanguageClient_textDocument_hover()<CR> | |
nnoremap <silent> gd :call LanguageClient_textDocument_definition()<CR> | |
nnoremap <silent> <F2> :call LanguageClient_textDocument_rename()<CR> | |
nnoremap <silent> <leader>k :call LanguageClient_textDocument_codeAction()<CR> | |
nnoremap <silent> <leader>= :call LanguageClient_textDocument_formatting()<CR> | |
nnoremap <silent> <leader>t :call LanguageClient#textDocument_signatureHelp()<CR> | |
" }}} | |
" let g:LanguageClient_serverCommands.pytest = ['tcp://127.0.0.1:8080'] | |
let g:LanguageClient_serverCommands.pytest = ['nc', '0.0.0.0', '8080'] | |
" {{{ C/C++ | |
autocmd FileType c let g:LanguageClient_settingsPath = '/home/requiem/.config/nvim/settings-c.json' | |
autocmd FileType cpp let g:LanguageClient_settingsPath = '/home/requiem/.config/nvim/settings-cpp.json' | |
let g:LanguageClient_serverCommands.c = ['ccls', '--log-file=/tmp/cq.log'] | |
let g:LanguageClient_serverCommands.cpp = ['ccls', '--log-file=/tmp/cq-cpp.log'] | |
" }}} | |
" {{{ Rust | |
set hidden | |
let g:racer_cmd = "~/.cargo/bin/racer" | |
let g:racer_experimental_completer = 1 | |
" When writing a buffer, and on normal mode changes (after 750ms). | |
autocmd FileType rust call neomake#configure#automake('nw', 750) | |
au FileType rust nmap gd <Plug>(rust-def) | |
autocmd FileType rust nmap K <Plug>(rust-doc) | |
" }}} | |
" Pandoc {{{ | |
" add CJK to spell langs | |
let g:pandoc#spell#default_langs=['en_us', 'cjk'] | |
let g:pandoc#syntax#use_definition_lists = 0 | |
autocmd FileType pandoc set iskeyword+=\- | |
autocmd FileType pandoc map <F9> :VoomToggle pandoc<CR> | |
" }}} | |
" Haskell {{{ | |
autocmd FileType haskell setlocal ts=4 sts=4 sw=4 ex | |
let g:LanguageClient_serverCommands.haskell = ['hie-wrapper', '--lsp'] | |
" {{{{ | |
" autocmd FileType haskell map <silent> <leader>t <Plug>InteroGenericType | |
" let g:LanguageClient_serverCommands.haskell = ['hie', '--lsp'] | |
" call SetLanguageClientKeys() | |
augroup interoMaps | |
au! | |
" Maps for intero. Restrict to Haskell buffers so the bindings don't collide. | |
" Background process and window management | |
au FileType haskell nnoremap <silent> <leader>is :InteroStart<CR> | |
au FileType haskell nnoremap <silent> <leader>ik :InteroKill<CR> | |
" Open intero/GHCi split horizontally | |
au FileType haskell nnoremap <silent> <leader>io :InteroOpen<CR> | |
" Open intero/GHCi split vertically | |
au FileType haskell nnoremap <silent> <leader>iov :InteroOpen<CR><C-W>H | |
au FileType haskell nnoremap <silent> <leader>ih :InteroHide<CR> | |
" Reloading (pick one) | |
" Automatically reload on save | |
"au BufWritePost *.hs InteroReload | |
" Manually save and reload | |
au FileType haskell nnoremap <silent> <leader>wr :w \| :InteroReload<CR> | |
" Load individual modules | |
au FileType haskell nnoremap <silent> <leader>il :InteroLoadCurrentModule<CR> | |
au FileType haskell nnoremap <silent> <leader>if :InteroLoadCurrentFile<CR> | |
" Type-related information | |
" Heads up! These next two differ from the rest. | |
au FileType haskell map <silent> <leader>t <Plug>InteroGenericType | |
au FileType haskell map <silent> <leader>T <Plug>InteroType | |
au FileType haskell nnoremap <silent> <leader>it :InteroTypeInsert<CR> | |
" Navigation | |
au FileType haskell nnoremap <silent> <leader>jd :InteroGoToDef<CR> | |
" Managing targets | |
" Prompts you to enter targets (no silent): | |
au FileType haskell nnoremap <leader>ist :InteroSetTargets<SPACE> | |
augroup END | |
" Intero starts automatically. Set this if you'd like to prevent that. | |
let g:intero_start_immediately = 0 | |
" }}}} | |
let g:haskell_enable_quantification = 1 | |
let g:haskell_enable_recursivedo = 1 | |
let g:haskell_enable_arrowsyntax = 1 | |
let g:haskell_enable_pattern_synonyms = 1 | |
let g:haskell_enable_typeroles = 1 | |
let g:haskell_enable_static_pointers = 1 | |
let g:haskell_backpack = 1 | |
let g:haskell_indent_if = 0 | |
let g:haskell_indent_do = 4 | |
let g:haskell_indent_in = 0 | |
let g:haskell_indent_let = 4 | |
" Turn off *Pretty unicode haskell symbols* | |
let g:haskell_conceal = 0 | |
let g:haskell_conceal_wide = 0 | |
let g:haskell_conceal_enumerations = 0 | |
let hscoptions="𝐒𝐓𝐄𝐌xRtB𝔻w" | |
" }}} | |
" {{{ Table | |
let g:table_mode_corner_corner='+' | |
let g:table_mode_header_fillchar='=' | |
" }}} | |
" {{{ Python | |
au FileType python let g:neomake_python_enabled_makers = ['flake8'] | |
let g:LanguageClient_serverCommands.python = ['pyls', '-v'] | |
" }}} | |
""" {{{ Java | |
let g:LanguageClient_serverCommands.java = ['jdtls', '-data', getcwd()] | |
""" }}} | |
""" {{{ Fortran | |
let fortran_free_source=1 | |
let fortran_have_tabs=1 | |
let fortran_more_precise=1 | |
let fortran_do_enddo=1 | |
""" }}} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment