" ███ ▄████████ ▄█ ▀████ ▐████▀ ▄██ ▄ " ▀█████████▄ ███ ███ ███ ███▌ ████▀ ███ ██▄ " ▀███▀▀██ ███ ███ ███▌ ███ ▐███ ███▄▄▄███ " ███ ▀ ▄███▄▄▄▄██▀ ███▌ ▀███▄███▀ ▀▀▀▀▀▀███ " ███ ▀▀███▀▀▀▀▀ ███▌ ████▀██▄ ▄██ ███ " ███ ▀███████████ ███ ▐███ ▀███ ███ ███ " ███ ███ ███ ███ ▄███ ███▄ ███ ███ " ▄████▀ ███ ███ █▀ ████ ███▄ ▀█████▀ " ███ ███ " __ ___ ___ __ " / _` |__ |\ | |__ |__) /\ | " \__> |___ | \| |___ | \ /~~\ |___ set nocompatible set showmatch set hlsearch set incsearch set tabstop=16 set softtabstop=4 set shiftwidth=4 set autoindent set number relativenumber set wildmode=longest,list set cc=80 filetype off let &runtimepath.=',~/.vim/bundle/neoterm' filetype plugin on filetype plugin indent on syntax on set mouse=v set mouse=a set clipboard=unnamedplus set ttyfast set cursorline set splitbelow set undofile set autochdir set signcolumn=yes:1 " __ __ __ " |__) | | | / _` | |\ | /__` " | |___ \__/ \__> | | \| .__/ call plug#begin() Plug 'navarasu/onedark.nvim' Plug 'echasnovski/mini.nvim' Plug 'nvim-tree/nvim-web-devicons' Plug 'NvChad/nvim-colorizer.lua' Plug 'kassio/neoterm' Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} Plug 'folke/noice.nvim' Plug 'MunifTanjim/nui.nvim' Plug 'SirVer/ultisnips' Plug 'lervag/vimtex' Plug 'williamboman/mason.nvim', { 'do': ':MasonUpdate' } Plug 'neovim/nvim-lspconfig' Plug 'hrsh7th/cmp-nvim-lsp' Plug 'hrsh7th/cmp-buffer' Plug 'hrsh7th/cmp-path' Plug 'hrsh7th/cmp-cmdline' Plug 'hrsh7th/nvim-cmp' Plug 'SirVer/ultisnips' Plug 'quangnguyen30192/cmp-nvim-ultisnips' Plug 'bkad/camelcasemotion' Plug 'nvim-neorg/neorg' Plug 'nvim-lua/plenary.nvim' Plug 'tpope/vim-commentary' Plug 'ggandor/lightspeed.nvim' Plug 'gen740/SmoothCursor.nvim' Plug 'folke/twilight.nvim' Plug 'folke/zen-mode.nvim' call plug#end() " __ __ __ ___ ___ __ " /__` |\ | | |__) |__) |__ | /__` " .__/ | \| | | | |___ | .__/ let g:UltiSnipsExpandTrigger="" let g:UltiSnipsJumpForwardTrigger="jk" let g:UltiSnipsJumpBackwardTrigger="kj" let g:UltiSnipsSnippetDirectories = [$HOME.'/.config/nvim/UltiSnips'] let g:UltiSnipsEditSplit = 'context' " __ __ __ __ __ __ ___ ___ " / ` / \ | / \ |__) /__` / ` |__| |__ |\/| |__ " \__, \__/ |___ \__/ | \ .__/ \__, | | |___ | | |___ set termguicolors set background=dark let g:onedark_config = { \ 'style': 'darker', \} colorscheme onedark " ___ __ __ __ " |__/ |__ \ / |__) | |\ | | \ /__` " | \ |___ | |__) | | \| |__/ .__/ let mapleader=" " nnoremap tw lua MiniTrailspace.trim() nnoremap ff lua MiniFiles.open() nnoremap fc lua MiniFiles.close() nnoremap tt 12 split Tnew nnoremap sc TSEnable highlight nnoremap zt Twilight nnoremap zz ZenMode nnoremap v :vsplit ~/.config/nvim/init.vim nnoremap V :source ~/.config/nvim/init.vim nnoremap s :UltiSnipsEdit nnoremap S :call UltiSnips#RefreshSnippets() map w CamelCaseMotion_w map b CamelCaseMotion_b map e CamelCaseMotion_e map ge CamelCaseMotion_ge sunmap w sunmap b sunmap e sunmap ge " inevitable..... " | | | /\ " |___ \__/ /~~\ lua << EOF require('colorizer').setup() require('mini.completion').setup() require('mini.cursorword').setup() require('mini.files').setup() require('mini.pairs').setup() require('mini.starter').setup() require('mini.trailspace').setup() require('mini.statusline').setup() require('mini.trailspace').setup() require('mini.hipatterns').setup() require('mini.indentscope').setup() require('noice').setup() require("mason").setup() require('smoothcursor').setup() -- Neorg SETUP require('neorg').setup { load = { ["core.defaults"] = {}, -- Loads default behaviour ["core.concealer"] = {}, -- Adds pretty icons to your documents ["core.dirman"] = { -- Manages Neorg workspaces config = { workspaces = { notes = "~/notes", }, }, }, }, } -- CMP SETUP -- Set up nvim-cmp. local cmp = require'cmp' cmp.setup({ snippet = { -- REQUIRED - you must specify a snippet engine expand = function(args) --vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users. -- require('luasnip').lsp_expand(args.body) -- For `luasnip` users. -- require('snippy').expand_snippet(args.body) -- For `snippy` users. vim.fn["UltiSnips#Anon"](args.body) -- For `ultisnips` users. end, }, window = { -- completion = cmp.config.window.bordered(), -- documentation = cmp.config.window.bordered(), }, mapping = cmp.mapping.preset.insert({ [''] = cmp.mapping.scroll_docs(-4), [''] = cmp.mapping.scroll_docs(4), [''] = cmp.mapping.complete(), [''] = cmp.mapping.abort(), [''] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. }), sources = cmp.config.sources({ { name = 'nvim_lsp' }, -- { name = 'vsnip' }, -- For vsnip users. -- { name = 'luasnip' }, -- For luasnip users. { name = 'ultisnips' }, -- For ultisnips users. -- { name = 'snippy' }, -- For snippy users. }, { { name = 'buffer' }, }) }) -- Set configuration for specific filetype. cmp.setup.filetype('gitcommit', { sources = cmp.config.sources({ { name = 'git' }, -- You can specify the `git` source if [you were installed it](https://github.com/petertriho/cmp-git). }, { { name = 'buffer' }, }) }) -- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore). cmp.setup.cmdline({ '/', '?' }, { mapping = cmp.mapping.preset.cmdline(), sources = { { name = 'buffer' } } }) -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore). cmp.setup.cmdline(':', { mapping = cmp.mapping.preset.cmdline(), sources = cmp.config.sources({ { name = 'path' } }, { { name = 'cmdline' } }) }) -- Set up lspconfig. local capabilities = require('cmp_nvim_lsp').default_capabilities() -- Replace with each lsp server you've enabled. require('lspconfig')['clangd'].setup { capabilities = capabilities } require('lspconfig')['texlab'].setup { capabilities = capabilities } require('smoothcursor').setup({ autostart = true, cursor = "", -- cursor shape (need nerd font) texthl = "SmoothCursor", -- highlight group, default is { bg = nil, fg = "#FFD400" } linehl = nil, -- highlight sub-cursor line like 'cursorline', "CursorLine" recommended type = "default", -- define cursor movement calculate function, "default" or "exp" (exponential). fancy = { enable = true, -- enable fancy mode head = { cursor = "", texthl = "SmoothCursor", linehl = nil }, body = { { cursor = "", texthl = "SmoothCursorYellow" }, { cursor = "", texthl = "SmoothCursorYellow" }, { cursor = "●", texthl = "SmoothCursorYellow" }, { cursor = "●", texthl = "SmoothCursorYellow" }, { cursor = "•", texthl = "SmoothCursorYellow" }, { cursor = ".", texthl = "SmoothCursorYellow" }, { cursor = ".", texthl = "SmoothCursorYellow" }, }, tail = { cursor = nil, texthl = "SmoothCursor" } }, flyin_effect = nil, -- "bottom" or "top" speed = 50, -- max is 100 to stick to your current position intervals = 25, -- tick interval priority = 10, -- set marker priority timeout = 1500, -- timout for animation threshold = 3, -- animate if threshold lines jump disable_float_win = false, -- disable on float window enabled_filetypes = nil, -- example: { "lua", "vim" } disabled_filetypes = nil, -- this option will be skipped if enabled_filetypes is set. example: { "TelescopePrompt", "NvimTree" } }) EOF