aboutsummaryrefslogtreecommitdiff
path: root/.vim/vimrc
diff options
context:
space:
mode:
authorsrdusr <trevorgray@srdusr.com>2025-08-30 19:22:59 +0200
committersrdusr <trevorgray@srdusr.com>2025-08-30 19:22:59 +0200
commit19120d4f9761c67d99ed1ce3da6084b83f5a49c9 (patch)
treef234cad1bdad88114a63c9702144da487024967a /.vim/vimrc
parent5928998af5404ae2be84c6cecc10ebf84bd3f3ed (diff)
downloaddotfiles-19120d4f9761c67d99ed1ce3da6084b83f5a49c9.tar.gz
dotfiles-19120d4f9761c67d99ed1ce3da6084b83f5a49c9.zip
Linux-specific dotfiles
Diffstat (limited to '.vim/vimrc')
-rw-r--r--.vim/vimrc296
1 files changed, 0 insertions, 296 deletions
diff --git a/.vim/vimrc b/.vim/vimrc
deleted file mode 100644
index ce034e9..0000000
--- a/.vim/vimrc
+++ /dev/null
@@ -1,296 +0,0 @@
-"===============================================================================
-" Mappings/Keybindings/Commands
-"===============================================================================
-
-let mapleader = ";" " map leader to Semi colon
-
-inoremap jk <Esc> " Use <jk> to escape
-
-" Easier split navigations, just ctrl-j instead of ctrl-w then j
-nnoremap <C-J> <C-W><C-J>
-nnoremap <C-K> <C-W><C-K>
-nnoremap <C-L> <C-W><C-L>
-nnoremap <C-H> <C-W><C-H>
-
-" Recent files (MRU)
-nnoremap <leader>m :browse old<cr>
-" Search files by name
-"nnoremap <leader>p :find **/**<left>
-" browse files from same dir as current file
-nnoremap <leader>e :e %:p:h<CR>
-
-" Combine buffers list with buffer name
-"nnoremap <Leader>b :buffers<CR>:buffer<Space>
-
-" Jump to a buffer
-nnoremap <leader>b :ls t<cr>:b
-
-" Map buffer next, prev and delete to <leader+(n/p/d)>
-map <leader>n :bn<cr>
-map <leader>p :bp<cr>
-map <leader>d :bd<cr>
-
-" tab navigation
-noremap <C-t>h :tabprevious<CR>
-noremap <C-t>l :tabnext<CR>
-noremap <C-t>k :tabfirst<CR>
-noremap <C-t>j :tablast<CR>
-noremap <C-t>n :tabnew<CR>
-noremap <C-t>e :tabedit<Space>
-noremap <C-t>c :tabclose<CR>
-noremap <C-t>m :tabm<Space>
-
-" Swap two pieces of text, use x to cut in visual mode, then use Ctrl-x in
-" visual mode to select text to swap with
-:vnoremap <C-X> <Esc>`.``gvP``P
-
-" To resize in different steps, you can create maps that will adjust the window
-" size differently. For example to increase the window size by a factor of 1.5
-" and decrease the window size by 0.67, you can map this:
-"nnoremap <silent> <Leader>+ :exe "resize " . (winheight(0) * 3/2)<CR>
-"nnoremap <silent> <Leader>- :exe "resize " . (winheight(0) * 2/3)<CR>
-nnoremap <Leader>+ :resize +5<CR>
-nnoremap <Leader>- :resize -5<CR>
-nnoremap <Leader>> :vertical resize +5<CR>
-nnoremap <Leader>< :vertical resize -5<CR>
-
-" Toggle set number
-"nnoremap <leader>$ :NumbersToggle<CR>
-"nnoremap <leader>% :NumbersOnOff<CR>
-
-" Copy and Paste with <C-c> and <C-v>
-"vmap <C-c> y:call system("xclip -i -selection clipboard", getreg("\""))<CR>:call system("xclip -i", getreg("\""))<CR>
-"nmap <C-v> :call setreg("\"",system("xclip -o -selection clipboard"))<CR>p
-nnoremap <expr> p (v:register == '"' && &clipboard =~ 'unnamed' ? '"*p' : '"' . v:register . 'p')
-
-" Use command :Vb for Visual Block or <C-q> since <C-v> is used for Copy
-command! Vb normal! <C-v>
-
-" Map <w!!> to save/edit a root permission/read-only file, only works in
-" traditional vim and not neovim
-cmap w!! %!sudo tee > /dev/null
-
-nnoremap <leader>x :silent !chmod +x %<CR>
-
-"nnoremap <[-p> m`o<ESC>p``
-" Paste on next line
-"nnoremap <]-p> m`O<ESC>p``
-
-"inoremap <C-CR> <C-R>"
-"set keywordprg=:help
-"runtime ftplugin/man.vim
-
-
-"===============================================================================
-" Settings
-"===============================================================================
-
-" Neovim requires xclip, check if normal vim has +clipboard by
-" <:echo has('clipboard')> from within Vim (if the output is 1, good to
-" go otherwise 0 then need a build that has it
-" Next two commands make vim use X11 clipboard
-set clipboard+=unnamedplus
-let g:clipbrdDefaultReg = '+'
-
-"let g:loaded_clipboard_provider = 1
-" <:e %:h/filename> will create a new file named filename in the same
-" directory as the currently open file, and write it.
-set autochdir " or use this to use <:e> to create a file in current directory
-set splitright " make vsplit put the new buffer on the right of the current buffer
-set splitbelow " make split put the new buffer below the current buffer
-" :Bclose script (delete a buffer without closing the window) sourced as a
-" plugin in ~/.config/nvim/plugin/bclose.vim | keymap: <leader>bd
-"let bclose_multiple = 1
-"set syntax
-" Compute syntax highlighting from beginning of file. (By default, vim only
-" looks 200 lines back, which can make it highlight code incorrectly in some
-" long files.)
-autocmd BufEnter * :syntax sync fromstart
-" Don't syntax highlight markdown because it's often wrong
-autocmd! FileType mkd setlocal syn=off
-set ttyfast
-set lazyredraw
-" Set lazyredraw to false
-"let &lazyredraw = 0
-set timeout timeoutlen=1000 ttimeoutlen=100 " fix slow O inserts
-set scrolloff=8 sidescrolloff=8
-set tabstop=4 softtabstop=4 shiftwidth=4 expandtab
-set autoindent
-set smartindent
-" Also load indent files, to automatically do language-dependent indenting.
-filetype plugin indent on
-set exrc
-set relativenumber
-set hidden
-set noerrorbells
-set nowrap
-set ignorecase
-set smartcase
-set noswapfile
-set nobackup
-set incsearch
-"set cursorline
-set showmatch
-set showcmd
-set incsearch
-set hlsearch
-set laststatus=2
-let g:python3_host_prog = '/usr/bin/python3'
-"let g:loaded_python3_provider = 1
-let g:sh_noisk=1
-set modeline
-set modelines=3 " modelines (comments that set vim options on a per-file basis)
-set foldmethod=manual
-set nofoldenable " turn folding off
-" Insert only one space when joining lines that contain sentence-terminating
-" punctuation like `.`.
-set nojoinspaces
-set autoread " if a file is changed outside of vim, automatically reload it without asking
-set diffopt=vertical " diffs are shown side-by-side not above/below
-set signcolumn=no " always show the sign column
-set textwidth=80
-set mouse=a
-
-" FILE BROWSING:
-let g:netrw_banner=0 " disable annoying banner
-let g:netrw_browse_split=4 " open in prior window
-let g:netrw_altv=1 " open splits to the right
-let g:netrw_liststyle=3 " tree view
-let g:netrw_fastbrowse = 0
-autocmd FileType netrw setl bufhidden=wipe
-
-" Faster vimgrep/grep via ripgrep
-if executable("rg")
- set grepprg=rg\ --vimgrep\ --no-heading
- set grepformat=%f:%l:%c:%m,%f:%l:%m
-endif
-
-
-"===============================================================================
-" Colorscheme
-"===============================================================================
-
-" enable syntax, plugins (for netrw) and indentation
-syntax enable
-
-"set shell=zsh
-set termguicolors
-set guicursor=
-let &t_SI = "\e[6 q"
-let &t_EI = "\e[2 q"
-
-"colorscheme desert
-"colorscheme city-lights
-set background=dark
-highlight Normal guibg=NONE ctermbg=NONE
-highlight EndOfBuffer ctermfg=NONE ctermbg=NONE
-
-
-"-------------------------------------------------------------------------------
-
-
-"===============================================================================
-" Functions/Scripts
-"===============================================================================
-
-" Enable mouse scrollback
-"---------------------------------------
-set mouse=a
-tnoremap <Esc> <C-\><C-n>
-tnoremap <c-b> <c-\><c-n>
-function! ClearTerminal()
- set scrollback=1
- let &g:scrollback=1
- echo &scrollback
- call feedkeys("\i")
- call feedkeys("clear\<CR>")
- call feedkeys("\<C-\>\<C-n>")
- call feedkeys("\i")
- sleep 100m
- let &scrollback=s:scroll_value
-endfunction
-
-"-------------------------------------------------------------------------------
-
-" :Rename {newname}
-"---------------------------------------
-function! RenameFile()
- let old_name = expand('%')
- let new_name = input('New file name: ', expand('%'), 'file')
- if new_name != '' && new_name != old_name
- exec ':saveas ' . new_name
- exec ':silent !rm ' . old_name
- redraw!
- endif
-endfunction
-map <leader>r :call RenameFile()<cr>
-
-"-------------------------------------------------------------------------------
-
-" Return to the same line when we reopen a file
-"---------------------------------------
- augroup line_return
- au!
- au BufReadPost *
- \ if line("'\"") > 0 && line("'\"") <= line("$") |
- \ execute 'normal! g`"zvzz' |
- \ endif
- augroup END
-
-"-------------------------------------------------------------------------------
-"
-" Function to update tmux status and .vi-mode file
-"---------------------------------------
-function! UpdateTmuxStatus() abort
- " Check if the current buffer has a man filetype
- if &filetype ==# 'man'
- return
- endif
-
- " Determine the mode name based on the mode value
- let mode = mode()
- let mode_name = ''
- if mode ==# 'n'
- let mode_name = '-- NORMAL --'
- elseif mode ==# 'i' || mode ==# 'ic'
- let mode_name = '-- INSERT --'
- else
- let mode_name = '-- NORMAL --'
- endif
-
- " Write the mode name to the file
- call writefile([mode_name], expand('$HOME') . '/.vi-mode')
-
-endfunction
-
-" Function to refresh tmux status
-function! s:UpdateTmux() abort
- call system('tmux refresh-client -S')
-endfunction
-
-" Set up autocommands for tmux status update
-if !empty($TMUX) && system('command -v tmux >/dev/null 2>&1') == 0
-augroup TmuxStatus
- autocmd!
- autocmd ModeChanged * call UpdateTmuxStatus() | call s:UpdateTmux()
-augroup END
-endif
-
-"-------------------------------------------------------------------------------
-
-
-"===============================================================================
-" Statusline Configuration
-"===============================================================================
-
-" Autoload statusline
-"---------------------------------------
-" Load statusline script
-if filereadable(expand("~/.vim/autoload/statusline.vim"))
- source ~/.vim/autoload/statusline.vim
-endif
-
-" Call the statusline activation function
-call autoload#statusline#ActivateStatusline()
-
-"-------------------------------------------------------------------------------