Refactor .vimrc into config.vim and support nvim only

This commit is contained in:
mitchell 2024-07-02 19:38:01 -04:00
parent 8be2f42aba
commit a2b223784f
5 changed files with 159 additions and 216 deletions

114
.config/nvim/config.vim Normal file
View file

@ -0,0 +1,114 @@
set colorcolumn=100
set cursorline
set showmatch
set hlsearch
set mouse=a
set mousemodel=extend
set number
set noshowmode
set background=dark
set nowrap
set tabstop=2
set shiftwidth=0
set expandtab
set textwidth=100
set cmdheight=2
set ignorecase
set smartcase
set shortmess+=c
set foldmethod=expr
set foldexpr=nvim_treesitter#foldexpr()
set nofoldenable " Disable folding at startup.
inoremap jj <Esc>
let mapleader = ','
nnoremap <leader>f <cmd>ALEFix<cr>
nnoremap <leader>a <cmd>ALEToggle<cr>
nnoremap <leader>n <cmd>Neotree<cr>
nnoremap <leader>t <cmd>Telescope<cr>
nnoremap <leader>p <cmd>Telescope git_files<cr>
nnoremap <C-p> <cmd>Telescope find_files<cr>
nnoremap <leader>s <cmd>Telescope treesitter<cr>
nnoremap <leader>ga <cmd>Telescope grep_string<cr>
nnoremap <leader>gg <cmd>Telescope lsp_definitions<cr>
nnoremap <leader>gr <cmd>Telescope lsp_references<cr>
nnoremap <leader>gi <cmd>Telescope lsp_implementations<cr>
nnoremap <leader>gd <cmd>Telescope lsp_type_definitions<cr>
nnoremap <leader>o <cmd>SymbolsOutline<cr>
nnoremap <leader>z <cmd>ZenMode<cr>
nnoremap <leader>l <cmd>Twilight<cr>
nnoremap <leader>c <cmd>COQnow<cr>
tnoremap <Esc> <C-\><C-n>
" Allows you to use // in order to search for the visually selected text
vnoremap // y/\V<C-R>=escape(@",'/\')<CR><CR>
colorscheme gruvbox
let g:neovide_scale_factor = 0.7
let g:ale_linters_explicit = 1
let g:ale_completion_enabled = 0
let g:pencil#map#suspend_af = 'K'
let g:lightline = {
\ 'colorscheme': 'wombat',
\ }
let g:ale_linters = {
\ 'javascript': ['eslint', 'stylelint'],
\ 'typescript': ['eslint', 'stylelint'],
\ 'javascriptreact': ['eslint', 'stylelint'],
\ 'typescriptreact': ['eslint', 'stylelint'],
\ 'go': ['golint', 'go vet'],
\ 'vue': ['eslint', 'stylelint'],
\ 'make': ['checkmake'],
\ 'proto': ['protoc-gen-lint'],
\ 'dockerfile': ['hadolint'],
\ 'dart': ['dartanalyzer'],
\ 'fish': ['fish'],
\ 'vim': ['vint'],
\ 'elixir': ['credo'],
\ 'cs': ['OmniSharp'],
\ 'terraform': ['tflint'],
\ 'ruby': ['rubocop'],
\ 'css': ['stylelint'],
\ 'sh': ['shellcheck'],
\ 'python': ['pylint'],
\ }
let g:ale_fixers = {
\ 'go': ['goimports', 'remove_trailing_lines', 'trim_whitespace'],
\ 'graphql': ['prettier'],
\ 'javascript': ['prettier'],
\ 'typescript': ['prettier'],
\ 'javascriptreact': ['prettier'],
\ 'typescriptreact': ['prettier'],
\ 'vue': ['prettier'],
\ 'css': ['prettier'],
\ 'yaml': ['prettier'],
\ 'json': ['prettier'],
\ 'dart': ['dartfmt'],
\ 'html': ['prettier'],
\ 'markdown': ['prettier'],
\ 'make': ['remove_trailing_lines', 'trim_whitespace'],
\ 'elixir': ['mix_format'],
\ 'terraform': ['terraform'],
\ 'ruby': ['rubocop'],
\ 'python': ['black'],
\ 'lua': ['stylua'],
\ }
augroup ft_fish
au!
autocmd FileType fish set tabstop=4
augroup END
augroup term
au!
autocmd TermOpen * set nonumber
augroup END

View file

@ -1,22 +1,53 @@
vim.cmd("set runtimepath^=~/.vim runtimepath+=~/.vim/after")
vim.cmd("let &packpath = &runtimepath")
vim.cmd("source ~/.vimrc")
local plug = vim.fn["plug#"]
vim.call("plug#begin")
vim.g.coq_settings = { auto_start = true }
-- Contains lots of sensible configurations, which I have in turn omitted from here
plug("tpope/vim-sensible")
plug("tpope/vim-eunuch")
plug("tpope/vim-surround")
plug("tpope/vim-endwise")
plug("itchyny/lightline.vim")
plug("edkolev/tmuxline.vim")
plug("airblade/vim-gitgutter")
plug("reedes/vim-pencil", { ["on"] = { "HardPencil", "SoftPencil" } })
plug("w0rp/ale")
plug("tpope/vim-fugitive", { ["on"] = { "G", "Git" }, ["for"] = "gitcommit" })
plug("mileszs/ack.vim", { ["on"] = "Ack" })
plug("nvim-treesitter/nvim-treesitter", { ["do"] = ":TSUpdate" })
plug("nvim-treesitter/nvim-treesitter-context")
plug("BurntSushi/ripgrep")
plug("MunifTanjim/nui.nvim")
plug("rcarriga/nvim-notify")
plug("nvim-lua/plenary.nvim")
plug("nvim-tree/nvim-web-devicons")
plug("ms-jpq/coq_nvim")
plug("folke/noice.nvim")
plug("ggandor/leap.nvim")
plug("folke/zen-mode.nvim")
plug("folke/twilight.nvim")
plug("neovim/nvim-lspconfig")
plug("ellisonleao/gruvbox.nvim")
plug("nvim-neo-tree/neo-tree.nvim")
plug("nvim-telescope/telescope.nvim")
plug("simrat39/symbols-outline.nvim")
plug("nvim-telescope/telescope-fzf-native.nvim", {
["do"] = "cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build",
})
plug("pmizio/typescript-tools.nvim")
vim.call("plug#end")
vim.g.neovide_scale_factor = 0.7
vim.opt.guifont = { "JetBrainsMono Nerd Font", "h13" }
vim.keymap.set("t", "<Esc>", "<C-\\><C-n>")
vim.api.nvim_create_autocmd("TermOpen", {
pattern = "*",
command = "set nonumber",
})
vim.g.coq_settings = { auto_start = true }
require("gruvbox").setup({
transparent_mode = true,
})
vim.cmd("colorscheme gruvbox")
require("twilight").setup()
require("zen-mode").setup({
@ -165,3 +196,5 @@ for _, lsp in ipairs(servers) do
flags = lsp_flags,
}))
end
vim.cmd("source ~/.config/nvim/config.vim")