diff options
author | adamstuck <adam.moloney.stuck@gmail.com> | 2021-10-01 00:23:52 +0200 |
---|---|---|
committer | adamstuck <adam.moloney.stuck@gmail.com> | 2021-10-01 00:23:52 +0200 |
commit | 8b053433850a51fdf46dc23698e4f3e5e85b1b9e (patch) | |
tree | 65514ad532fd35198b14800b855da4e0ea9287bc | |
parent | 6a3196a2452895ae20c349ce237f39e4a6c9cd4b (diff) |
setup neovim
-rw-r--r-- | .bashrc | 1 | ||||
-rw-r--r-- | .config/nvim/init.vim | 172 | ||||
-rw-r--r-- | .vimrc | 6 |
3 files changed, 176 insertions, 3 deletions
@@ -126,6 +126,7 @@ alias rm='rm -i' alias gs='git status' alias cs='config status' alias config='/usr/bin/git --git-dir=/home/adam/.cfg/ --work-tree=/home/adam' +alias vim='nvim' # PATH export PATH="$HOME/bin:$PATH" diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim new file mode 100644 index 0000000..87701e0 --- /dev/null +++ b/.config/nvim/init.vim @@ -0,0 +1,172 @@ +" URL: https://vim.wikia.com/wiki/Example_vimrc +" Authors: https://vim.wikia.com/wiki/Vim_on_Libera_Chat +" Description: A minimal, but feature rich, example .vimrc. If you are a +" newbie, basing your first .vimrc on this file is a good choice. +" If you're a more advanced user, building your own .vimrc based +" on this file is still a good idea. + +"------------------------------------------------------------ +" Features {{{1 +" +" These options and commands enable some very useful features in Vim, that +" no user should have to live without. + +" Set 'nocompatible' to ward off unexpected things that your distro might +" have made, as well as sanely reset options when re-sourcing .vimrc +set nocompatible + +" Attempt to determine the type of a file based on its name and possibly its +" contents. Use this to allow intelligent auto-indenting for each filetype, +" and for plugins that are filetype specific. +if has('filetype') + filetype indent plugin on +endif + +" Enable syntax highlighting +if has('syntax') + syntax on +endif + +"------------------------------------------------------------ +" Must have options {{{1 +" +" These are highly recommended options. + +" Vim with default settings does not allow easy switching between multiple files +" in the same editor window. Users can use multiple split windows or multiple +" tab pages to edit multiple files, but it is still best to enable an option to +" allow easier switching between files. +" +" One such option is the 'hidden' option, which allows you to re-use the same +" window and switch from an unsaved buffer without saving it first. Also allows +" you to keep an undo history for multiple files when re-using the same window +" in this way. Note that using persistent undo also lets you undo in multiple +" files even in the same window, but is less efficient and is actually designed +" for keeping undo history after closing Vim entirely. Vim will complain if you +" try to quit without saving, and swap files will keep you safe if your computer +" crashes. +set hidden + +" Note that not everyone likes working this way (with the hidden option). +" Alternatives include using tabs or split windows instead of re-using the same +" window as mentioned above, and/or either of the following options: +" set confirm +" set autowriteall + +" Better command-line completion +set wildmenu + +" Show partial commands in the last line of the screen +set showcmd + +" Highlight searches (use <C-L> to temporarily turn off highlighting; see the +" mapping of <C-L> below) +set hlsearch + +" Modelines have historically been a source of security vulnerabilities. As +" such, it may be a good idea to disable them and use the securemodelines +" script, <http://www.vim.org/scripts/script.php?script_id=1876>. +" set nomodeline + + +"------------------------------------------------------------ +" Usability options {{{1 +" +" These are options that users frequently set in their .vimrc. Some of them +" change Vim's behaviour in ways which deviate from the true Vi way, but +" which are considered to add usability. Which, if any, of these options to +" use is very much a personal preference, but they are harmless. + +" Use case insensitive search, except when using capital letters +set ignorecase +set smartcase + +" Allow backspacing over autoindent, line breaks and start of insert action +set backspace=indent,eol,start + +" When opening a new line and no filetype-specific indenting is enabled, keep +" the same indent as the line you're currently on. Useful for READMEs, etc. +set autoindent + +" Stop certain movements from always going to the first character of a line. +" While this behaviour deviates from that of Vi, it does what most users +" coming from other editors would expect. +set nostartofline + +" Display the cursor position on the last line of the screen or in the status +" line of a window +set ruler +set laststatus=0 + +" Instead of failing a command because of unsaved changes, instead raise a +" dialogue asking if you wish to save changed files. +set confirm + +" Use visual bell instead of beeping when doing something wrong +set visualbell + +" And reset the terminal code for the visual bell. If visualbell is set, and +" this line is also included, vim will neither flash nor beep. If visualbell +" is unset, this does nothing. +set t_vb= + +" Enable use of the mouse for all modes +if has('mouse') + set mouse=a +endif + +" Set the command window height to 2 lines, to avoid many cases of having to +" "press <Enter> to continue" +set cmdheight=2 + +" Display line numbers on the left +set number +set relativenumber + +" Quickly time out on keycodes, but never time out on mappings +set notimeout ttimeout ttimeoutlen=200 + +" Use <F11> to toggle between 'paste' and 'nopaste' +set pastetoggle=<F11> + + + +"------------------------------------------------------------ +" Indentation options {{{1 +" +" Indentation settings according to personal preference. + +" Indentation settings for using 4 spaces instead of tabs. +" Do not change 'tabstop' from its default value of 8 with this setup. +set shiftwidth=4 +set softtabstop=4 +set expandtab + +" Indentation settings for using hard tabs for indent. Display tabs as +" four characters wide. +"set shiftwidth=4 +"set tabstop=4 + + +"------------------------------------------------------------ +" Mappings {{{1 +" +" Useful mappings + +" Map Y to act like D and C, i.e. to yank until EOL, rather than act as yy, +" which is the default +map Y y$ + +" Map <C-L> (redraw screen) to also turn off search highlighting until the +" next search +nnoremap <C-L> :nohl<CR><C-L> + +nnoremap n nzzzv +nnoremap N Nzzzv + +colorscheme default +highlight CursorLineNr cterm=bold ctermfg=Yellow +highlight LineNr ctermfg=Brown + +"------------------------------------------------------------ + @@ -96,6 +96,7 @@ set nostartofline " Display the cursor position on the last line of the screen or in the status " line of a window set ruler +set laststatus=0 " Instead of failing a command because of unsaved changes, instead raise a " dialogue asking if you wish to save changed files. @@ -164,8 +165,7 @@ nnoremap n nzzzv nnoremap N Nzzzv colorscheme default -highlight CursorLine cterm=NONE ctermbg=NONE ctermfg=NONE guibg=NONE guifg=NONE -highlight CursorLineNr cterm=bold ctermbg=NONE ctermfg=Yellow -set cursorline +highlight CursorLineNr cterm=bold ctermfg=Yellow +highlight LineNr ctermfg=Brown "------------------------------------------------------------ |