Add initial Neovim configuration
This commit is contained in:
parent
99239732ef
commit
6c84bf7294
90
.config/nvim/init.vim
Normal file
90
.config/nvim/init.vim
Normal file
@ -0,0 +1,90 @@
|
||||
set nocompatible " disable compatibility to old-time vi
|
||||
set showmatch " show matching
|
||||
set hlsearch " highlight search
|
||||
set incsearch " incremental search
|
||||
set tabstop=4 " number of columns occupied by a tab
|
||||
set softtabstop=4 " see multiple spaces as tabstops so <BS> does the right thing
|
||||
set expandtab " converts tabs to white space
|
||||
set shiftwidth=4 " width for autoindents
|
||||
set autoindent " indent a new line the same amount as the line just typed
|
||||
set number " add line numbers
|
||||
set wildmode=longest,list " get bash-like tab completions
|
||||
filetype plugin indent on "allow auto-indenting depending on file type
|
||||
syntax on " syntax highlighting
|
||||
set mouse=a " enable mouse click
|
||||
set clipboard=unnamedplus " using system clipboard
|
||||
filetype plugin on
|
||||
set cursorline " highlight current cursorline
|
||||
set ttyfast " Speed up scrolling in Vim
|
||||
|
||||
:imap jk <Esc>
|
||||
|
||||
" Set up colors
|
||||
colorscheme murphy
|
||||
highlight clear SignColumn
|
||||
|
||||
" Open and close terminal with shortcut
|
||||
nnoremap <F4> :call vimterm#toggle() <CR>
|
||||
tnoremap <F4> <C-\><C-n>:call vimterm#toggle() <CR>
|
||||
|
||||
" Find files using Telescope command-line sugar.
|
||||
nnoremap <leader>ff <cmd>Telescope find_files<cr>
|
||||
nnoremap <leader>fg <cmd>Telescope live_grep<cr>
|
||||
nnoremap <leader>fb <cmd>Telescope buffers<cr>
|
||||
nnoremap <leader>fh <cmd>Telescope help_tags<cr>
|
||||
|
||||
" Configure how we Git blame people
|
||||
nnoremap <leader>gb <cmd>GitBlameToggle<cr>
|
||||
let g:gitblame_enabled = 0
|
||||
let g:gitblame_date_format = '%x'
|
||||
let g:gitblame_highlight_group = "SignColumn"
|
||||
|
||||
call plug#begin()
|
||||
" Fuzzy finder
|
||||
Plug 'nvim-lua/plenary.nvim'
|
||||
Plug 'nvim-telescope/telescope.nvim'
|
||||
|
||||
" Git blame
|
||||
Plug 'f-person/git-blame.nvim'
|
||||
|
||||
" Marks plugin
|
||||
Plug 'chentoast/marks.nvim'
|
||||
call plug#end()
|
||||
|
||||
" Set up Marks plugin
|
||||
lua << EOF
|
||||
require'marks'.setup {
|
||||
-- whether to map keybinds or not. default true
|
||||
default_mappings = true,
|
||||
-- which builtin marks to show. default {}
|
||||
builtin_marks = { ".", "<", ">", "^" },
|
||||
-- whether movements cycle back to the beginning/end of buffer. default true
|
||||
cyclic = true,
|
||||
-- whether the shada file is updated after modifying uppercase marks. default false
|
||||
force_write_shada = false,
|
||||
-- how often (in ms) to redraw signs/recompute mark positions.
|
||||
-- higher values will have better performance but may cause visual lag,
|
||||
-- while lower values may cause performance penalties. default 150.
|
||||
refresh_interval = 250,
|
||||
-- sign priorities for each type of mark - builtin marks, uppercase marks, lowercase
|
||||
-- marks, and bookmarks.
|
||||
-- can be either a table with all/none of the keys, or a single number, in which case
|
||||
-- the priority applies to all marks.
|
||||
-- default 10.
|
||||
sign_priority = { lower=10, upper=15, builtin=8, bookmark=20 },
|
||||
-- disables mark tracking for specific filetypes. default {}
|
||||
excluded_filetypes = {},
|
||||
-- marks.nvim allows you to configure up to 10 bookmark groups, each with its own
|
||||
-- sign/virttext. Bookmarks can be used to group together positions and quickly move
|
||||
-- across multiple buffers. default sign is '!@#$%^&*()' (from 0 to 9), and
|
||||
-- default virt_text is "".
|
||||
bookmark_0 = {
|
||||
sign = "⚑",
|
||||
virt_text = "hello world"
|
||||
},
|
||||
mappings = {}
|
||||
}
|
||||
EOF
|
||||
|
||||
" Set syntax highlighting
|
||||
au BufNewFile,BufRead *.f set syntax=verilog
|
Loading…
Reference in New Issue
Block a user