You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

82 lines
3.4 KiB
VimL

set noerrorbells
set history=500
set autoread
set ruler
set number
set expandtab
set smarttab
set smartindent
set nowrap
set smartcase
set noswapfile
set nobackup
set undodir=~/.nvim/undodir
set undofile
set incsearch
set shiftwidth=4
set tabstop=4 softtabstop=4
set encoding=utf-8
set fileencoding=utf-8
set relativenumber
set scrolloff=8
set hidden
set signcolumn=yes
set colorcolumn=110
set list
call plug#begin("~/.nvim/plugged")
Plug 'rust-lang/rust.vim' " Rust filetype support
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} " Tree-sitter highlighting
Plug 'neovim/nvim-lspconfig' " LSP client configs
Plug 'mbbill/undotree' " Undo history browser
Plug 'sbdchd/neoformat' " Formatter fallback
Plug 'folke/tokyonight.nvim', { 'branch': 'main' } " Active colour scheme
Plug 'nvim-lua/plenary.nvim' " Lua utility library
Plug 'nvim-telescope/telescope.nvim' " Fuzzy finder UI
Plug 'nvim-telescope/telescope-fzy-native.nvim' " Telescope sorter
Plug 'nvim-telescope/telescope-ui-select.nvim' " Telescope vim.ui.select bridge
Plug 'debugloop/telescope-undo.nvim' " Undo history picker
Plug 'psliwka/vim-smoothie' " Smooth scrolling
Plug 'darrikonn/vim-gofmt', { 'do': ':GoUpdateBinaries' } " Go formatting helpers
Plug 'stevearc/oil.nvim' " Primary file explorer
Plug 'nvim-tree/nvim-web-devicons' " Filetype icons
Plug 'udalov/kotlin-vim' " Kotlin syntax support
Plug 'hrsh7th/cmp-nvim-lsp' " LSP completion source
Plug 'hrsh7th/cmp-buffer' " Buffer completion source
Plug 'hrsh7th/cmp-path' " Path completion source
Plug 'hrsh7th/cmp-cmdline' " Command-line completion source
Plug 'hrsh7th/nvim-cmp' " Completion engine
Plug 'L3MON4D3/LuaSnip' " Snippet engine
Plug 'rafamadriz/friendly-snippets' " Community snippet pack
Plug 'lervag/vimtex' " LaTeX workflow plugin
Plug 'windwp/nvim-autopairs' " Auto-close brackets and quotes
Plug 'numToStr/Comment.nvim' " Comment toggles
Plug 'folke/flash.nvim' " Fast jump motions
Plug 'tpope/vim-surround' " Surround text objects
Plug 'itchyny/lightline.vim' " Statusline
Plug 'tpope/vim-fugitive' " Git commands
Plug 'simrat39/rust-tools.nvim' " Extra Rust tooling
let maplocalleader = ","
let g:tex_flavor = 'latex'
let g:vimtex_compiler_method = 'latexmk'
let g:vimtex_quickfix_method = 'latexlog'
if executable('zathura')
let g:vimtex_view_method = 'zathura'
elseif executable('xdg-open')
let g:vimtex_view_method = 'general'
let g:vimtex_view_general_viewer = 'xdg-open'
let g:vimtex_view_general_options = '@pdf'
endif
call plug#end()
colorscheme tokyonight
syntax off
let mapleader = " "
lua require("init")