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")