" Heh filetype plugin indent on syntax on set runtimepath+=~/.config/vim,~/.config/vim/after set viminfo+=n~/.config/vim/viminfo " Plugins " s;https://github.com/\(.*\);Plug '\1'; call plug#begin('~/.config/vim/plugged') Plug 'LordTlasT/live-server' Plug 'airblade/vim-gitgutter' Plug 'arcticicestudio/nord-vim' Plug 'godlygeek/tabular' Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } Plug 'junegunn/fzf.vim' Plug 'michaeljsmith/vim-indent-object' Plug 'tpope/vim-capslock' Plug 'tpope/vim-commentary' Plug 'tpope/vim-endwise' Plug 'tpope/vim-fugitive' Plug 'tpope/vim-repeat' Plug 'tpope/vim-surround' Plug 'tpope/vim-vinegar' Plug 'yuezk/vim-js' Plug 'theRealCarneiro/hyprland-vim-syntax' call plug#end() set termguicolors " amazing! set signcolumn=yes " GitGutter set updatetime=100 set tabstop=4 shiftwidth=4 " Turn tab to spaces set backspace=2 backspace=indent,eol,start " Turn backspaces into tabspaces set clipboard=unnamed " Use system primary clipboard set number " Set (absolute) line numbers set relativenumber " make them hybrid set showmatch " Show matching bracket set showcmd " Show partial command in status line set laststatus=2 " show more status/file info set cursorline " Highlight line at cursor set ruler " Show cursor and progress in file set wildmenu " Show command options (autocomplete) set hlsearch set incsearch set smartcase ignorecase set path=** set scrolloff=8 set smartindent set mouse= "nomouse set encoding=utf-8 " Set encoding set history=200 " Keep a lot more command history set noswapfile nobackup set formatoptions = "cqrnj" """"""""""""COLORSCHEME""""""""""""""""""""""" colo nord hi! Normal ctermbg=NONE guibg=NONE hi! NonText ctermbg=NONE guibg=NONE """"""""""""""""""""""""""""""""""""""""""""" let &t_SI = "\e[6 q" " Insert cursor let &t_EI = "\e[2 q" " Normal cursor let ghregex='\(^\|\s\s\)\zs\.\S\+' " Start netrw with dotfiles hidden let g:netrw_list_hide=ghregex """"""""""""""""""" FUNCTIONS AND COMMANDS " autocomment z80 autocmd FileType z80 setlocal commentstring=;\ %s " Return to last edit position autocmd BufReadPost * \ if line("'\"") > 1 && line("'\"") <= line("$") | \ exe "normal! g`\"" | \ endif " Absolute numbers if window isn't focused augroup numbertoggle autocmd! autocmd BufEnter,FocusGained,WinEnter * if &nu | set rnu | endif autocmd BufLeave,FocusLost,WinLeave * if &nu | set nornu | endif augroup END " Toggle status bar let s:hidden_all = 0 function! ToggleHiddenAll() if s:hidden_all == 0 let s:hidden_all = 1 set noshowmode noruler nonu nornu laststatus=0 noshowcmd signcolumn=no else let s:hidden_all = 0 set showmode ruler nu rnu laststatus=2 showcmd signcolumn=yes endif endfunction """"""""""""""""""""" MAPPINGS """""""""""""""""""""""" let mapleader = ' ' " Windows noremap h noremap j noremap k noremap l noremap o nnoremap :call ToggleHiddenAll() " goto buffer nnoremap gb :buffers:buffer let mapleader = " " let maplocalleader = "\\" " -- vinegar is already doing this nnoremap - Ex " moving inoremap I inoremap A inoremap D " buffers nnoremap gb buffers:buffer nnoremap q q! nnoremap Q qa! " Windows nnoremap h nnoremap j nnoremap k nnoremap l nnoremap o " command line cnoremap cnoremap cnoremap " clipboard nnoremap y \ " templates nnoremap rt :-1r " utils inoremap r r!echo -n $RANDOMkJA " ordered list nnoremap n I0. gvg vnoremap u '<,'>s/^[0-9]\\+\\. // " scripts nnoremap x !chmod +x % " replace nnoremap sf yiw:%s/\<"\>//gI nnoremap sl yiw:s/\<"\>//gI " write nnoremap w write nnoremap W write! nnoremap e edit " Packer nnoremap P PackerSync " spelling nnoremap setlocal spell!