diff options
Diffstat (limited to 'minimal/.config')
| -rw-r--r-- | minimal/.config/nvim/init.vim | 56 | ||||
| -rw-r--r-- | minimal/.config/tmux/tmux.conf | 62 |
2 files changed, 118 insertions, 0 deletions
diff --git a/minimal/.config/nvim/init.vim b/minimal/.config/nvim/init.vim new file mode 100644 index 0000000..7451e7c --- /dev/null +++ b/minimal/.config/nvim/init.vim @@ -0,0 +1,56 @@ +colorscheme industry +filetype plugin on + +" Command line: +set cmdheight=1 +set wildmenu +set wildignore+=*.o,.git,*.class + +" Search +set ignorecase +set smartcase + +" Screen +set nonumber +set scrolloff=5 " show a few lines of context +set colorcolumn=+1 " highlight column after 'textwidth' +" Add buffer number to the default status line with ruler +set statusline=%<%f\ %h%m%r%=b%02n\ \ %-14.(%l,%c%V%)\ %P + +" Indentation: 4 spaces +" See also: autoindent, smartindent, cindent, indentexpr +set tabstop=4 " Each '\t' takes 8 virtual (screen) columns +set shiftwidth=0 " (Auto)indentation. Also affects: >>, i_C-T, i_C-D +set expandtab " Expand inserted <Tab>s with <Space> +set smartindent " Smart indenting when starting a new line + +" Formatting: See fo-table +set formatoptions+=t " auto-wrap text (when inserting) +set formatoptions+=c " auto-wrap comments (when inserting) +set formatoptions+=q " Allow formatting of comments with "gq" +set formatoptions+=j " Removes comment leader when joining lines +set formatoptions+=l " Don't break long lines that are already typed +set formatoptions+=r " Insert current leader after <Enter> in Insert mode +set formatoptions+=p " Don't break honorifics like Prof. Smith +set formatoptions+=n " Recognize numbered lists +set formatoptions+=o " Automatically insert the current comment + " leader after `o`. + +" Wrap: Auto-break lines longer than 80 colums +set textwidth=80 +set wrap +set linebreak " Don't break words + +" Mouse +set mouse=a " Enable mouse for all modes + +" Buffers +set hidden " Allow for hidden modified buffers + +set splitbelow splitright + +" Mappings (F13 is <S-F1>, don't ask me why) +map <F7> :tabp<CR> +map <F8> :tabn<CR> +map <F19> :bNext<LF> +map <F20> :bnext<LF> diff --git a/minimal/.config/tmux/tmux.conf b/minimal/.config/tmux/tmux.conf new file mode 100644 index 0000000..be38e4c --- /dev/null +++ b/minimal/.config/tmux/tmux.conf @@ -0,0 +1,62 @@ +# Minimal tmux config +# Ref.: https://thevaluable.dev/tmux-config-mouseless/ + +# remap prefix from 'C-b' to 'C-a' +set-option -g prefix C-a +bind-key C-a send-prefix +unbind C-b + +# Start window numbering at 1 +set -g base-index 1 +setw -g pane-base-index 1 + +# Navigate history with vi keybindings +set-window-option -g mode-keys vi +set -g history-limit 10000 + +# From NeoVim advice: +# Fix 'escape-time' from 500ms to 10ms (better experience in Vim) +set-option -sg escape-time 10 +# focus-events (idk what this does) +set-option -g focus-events on + +# Vim friendly tmux config +# Ref.: https://gist.github.com/Lartza/6a7a62466a8a3e436234412d9b1c5066 + +setw -g monitor-activity on +set -g visual-activity on + +# FIXME: https://unix.stackexchange.com/a/131187/347754 +# y and p as in vim +bind Escape copy-mode +unbind p +bind p paste-buffer +bind-key -T copy-mode-vi 'v' send -X begin-selection +bind-key -T copy-mode-vi 'y' send -X copy-selection +#bind-key -T copy-mode-vi 'Space' send -X halfpage-down +#bind-key -T copy-mode-vi 'Bspace' send -X halfpage-up + +# extra commands for interacting with the ICCCM clipboard +#bind C-c run "tmux save-buffer - | xclip -i -sel clipboard" +#bind C-v run "tmux set-buffer \"$(xclip -o -sel clipboard)\"; tmux paste-buffer" + +# New panes in the same window maintain the current path +# Thanks: https://unix.stackexchange.com/a/109255/347754 +bind % split-window -h -c "#{pane_current_path}" +bind '"' split-window -v -c "#{pane_current_path}" + +# moving between panes with vim movement keys +bind h select-pane -L +bind j select-pane -D +bind k select-pane -U +bind l select-pane -R + +# moving between windows with vim movement keys +bind -r C-h select-window -t :- +bind -r C-l select-window -t :+ + +# resize panes with vim movement keys +bind -r H resize-pane -L 5 +bind -r J resize-pane -D 5 +bind -r K resize-pane -U 5 +bind -r L resize-pane -R 5 |
