From 80936dca39924292c0a9d0999064e648bf20e124 Mon Sep 17 00:00:00 2001 From: Edith Boles Date: Thu, 27 Aug 2026 22:44:58 -0700 Subject: [PATCH] Fix link --- .vimrc | 282 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 281 insertions(+), 1 deletion(-) mode change 120000 => 100644 .vimrc diff --git a/.vimrc b/.vimrc deleted file mode 120000 index fe45900..0000000 --- a/.vimrc +++ /dev/null @@ -1 +0,0 @@ -/home/edith/.vimrc \ No newline at end of file diff --git a/.vimrc b/.vimrc new file mode 100644 index 0000000..c474d63 --- /dev/null +++ b/.vimrc @@ -0,0 +1,281 @@ +set nocompatible " be iMproved, required +filetype off " required +let mapleader = ";" +let install = 0 + +if empty(glob("~/.vim/autoload/plug.vim")) + silent execute '!mkdir -p ~/.vim/autoload' + silent execute '!mkdir -p ~/.vim/undodir' + silent execute '!mkdir -p ~/.vim/swapdir' + silent execute '!curl -fLo ~/.vim/autoload/plug.vim https://raw.github.com/junegunn/vim-plug/master/plug.vim' + let install = 1 +endif + +call plug#begin() + +Plug 'tpope/vim-fugitive' +Plug 'puremourning/vimspector' +Plug 'vim-scripts/DrawIt' +Plug 'Bercio/vim-inkscape-insert' +Plug 'rstacruz/sparkup', {'rtp': 'vim/'} + +Plug 'vim-pandoc/vim-pandoc' +Plug 'vim-pandoc/vim-pandoc-syntax' + +Plug 'MarcWeber/vim-addon-mw-utils' +Plug 'tomtom/tlib_vim' +Plug 'cespare/vim-toml' +Plug 'SirVer/ultisnips' +Plug 'honza/vim-snippets' + +Plug 'mhartington/oceanic-next' + +Plug 'preservim/nerdtree' + +Plug 'farmergreg/vim-lastplace' + +Plug 'sk1418/HowMuch' + +Plug 'godlygeek/tabular' +Plug 'vim-crystal/vim-crystal' +Plug 'stephpy/vim-yaml' +Plug 'MaxMEllon/vim-jsx-pretty' +Plug 'arrufat/vala.vim' +Plug 'chaimleib/vim-renpy' +Plug 'vhda/verilog_systemverilog.vim' +Plug 'gregkh/kernel-coding-style' + +Plug 'dense-analysis/ale' +Plug 'PenguinOwl/lsp' +Plug 'editorconfig/editorconfig-vim' + +Plug '907th/vim-auto-save' + +call plug#end() " required + +if install + set number + PlugInstall + q +endif + +filetype plugin indent on " required + +set number +set tabstop=2 shiftwidth=2 expandtab +set ai +nnoremap gp '`[' . strpart(getregtype(), 0, 1) . '`]' +" tnoremap +tnoremap N +tnoremap N +set timeout timeoutlen=500 " Default +set ttimeout ttimeoutlen=100 " Set by defaults.vim +set undofile +set undodir=~/.vim/undodir +set directory=~/.vim/swapdir +set ignorecase +set smartcase +set nomodeline +set exrc +set secure +set cursorline +set wildmode=longest,list +set wildmenu + +let g:solarized_termcolors=256 + +let g:pandoc#folding#fold_yaml=1 +let g:pandoc#folding#mode = ['manual'] +let g:pandoc#folding#fdc = 0 +let g:pandoc#syntax#conceal#use=0 +let g:UltiSnipsExpandTrigger="" +let g:UltiSnipsJumpForwardTrigger="" +let g:UltiSnipsJumpBackwardTrigger="" +let g:UltiSnipsListSnippets="" +if (has("termguicolors")) + set termguicolors +endif + +" Theme +syntax enable +colorscheme OceanicNext +let g:airine_theme='oceanicnext' +let g:airline_powerline_fonts = 1 +autocmd FileType help setlocal nospell + +set laststatus=2 +set statusline=%m\ %F\ %y\ %{&fileencoding?&fileencoding:&encoding}\ %=%(C:%c\ L:%l\ %P%) + +autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") + \ && b:NERDTree.isTabTree()) | q | endif +autocmd FileType gitcommit setlocal spell + +set viminfo='20,<1000,s1000 + +hi CursorLineNr term=bold cterm=bold ctermfg=012 gui=bold +hi EndOfBuffer ctermfg=bg guifg=#404950 +hi ALEError ctermbg=DarkRed +hi ALEWarning ctermbg=DarkBlue +hi SpellBad ctermbg=88 +hi SpellCap ctermbg=97 guibg=#c65d34 +hi SpellRare ctermbg=52 +hi SpellLocal ctermbg=19 +hi Pmenu ctermfg=145 ctermbg=233 guifg=#a7adba guibg=#263956 +hi PmenuSel ctermfg=145 ctermbg=233 guifg=#ffffff guibg=#0d6221 +hi Search ctermfg=243 ctermbg=221 guifg=#dfdd99 guibg=#715910 +hi! def link DiffAdded DiffAdd +hi! def link DiffRemoved DiffDelete +hi! def link ALEError SpellBad +hi! def link ALEWarning SpellCap + +inoremap pumvisible() ? "\" : "\" +inoremap pumvisible() ? "\" : "\" + +noremap = :Tab /^[^=]\zs=* +noremap p +noremap ; +noremap l +noremap ' +noremap t :NERDTree % +noremap 2 :botright terminal10_ +noremap q :qa +noremap Q :qa! +noremap a :xa +noremap r :w:!%:p +noremap 9 :%!xxd +noremap 0 :%!xxd -r +noremap e :diffput RE]c +noremap r :diffg RE]c +noremap f :ALEFix +noremap i :ALEImport +noremap x :LspCodeAction +noremap d :LspGotoDefinition +noremap D :LspGotoDeclaration +noremap w :LspShowReferences +noremap z :LspRename +noremap s :ALEDetail +noremap ]e :ALENext +noremap [e :ALEPrevious +noremap kb VimspectorToggleBreakpoint +noremap kr VimspectorRestart +noremap kc VimspectorContinue +noremap ks VimspectorStepInto +noremap kd VimspectorStepOver +noremap ka VimspectorStepOut +noremap kw VimspectorBalloonEval +noremap kx :VimspectorReset +noremap :tab split + +let g:vimspector_sidebar_width = 40 +let g:vimspector_bottombar_height = 3 +let g:vimspector_code_minwidth = 120 +"let g:vimspector_terminal_maxwidth = 80 +"let g:vimspector_terminal_minwidth = 10 + +set mouse=a + +set foldmethod=indent +set foldlevel=1 +set foldclose=all +set nofoldenable +set foldlevel=99 +set scrolloff=7 +set noballoonevalterm + +let g:ale_linters = #{ +\ cs: [], +\ c: [], +\ ruby: [] +\ } + +let g:ale_fixers = #{ +\ python: [ +\ 'remove_trailing_lines', +\ 'trim_whitespace', +\ 'autoimport', +\ 'autoflake', +\ 'isort', +\ 'black', +\ ], +\ crystal: ['crystal'], +\ javascript: ['prettier', 'eslint'], +\ typescript: ['prettier', 'eslint'], +\ javascriptreact: ['prettier', 'eslint'], +\ typescriptreact: ['prettier', 'eslint'], +\ c: ['clang-format'], +\ } + +function SetupALEBuffer() + if wordcount().chars > 50000 + let g:ale_enabled=0 + else + let g:ale_enabled=1 + endif +endfunction + +set pumheight=10 +let lang_server_path = $VIRTUAL_ENV.'/bin/pyright-langserver' +let lspOpts = #{ +\ aleSupport: 1, +\ snippetSupport: 1, +\ } +let lsp_configs = [#{name: 'pyright', + \ filetype: ['python'], + \ path: lang_server_path, + \ args: ['--stdio'], + \ workspaceConfig: #{ + \ python: #{ + \ pythonPath: $VIRTUAL_ENV.'/bin/python' + \ }} + \ }, + \ #{name: 'tsserver', + \ filetype: ['javascript', 'typescript', 'javascriptreact', 'typescriptreact'], + \ path: '/usr/bin/typescript-language-server', + \ args: ['--stdio'] + \ }, + \ #{name: 'vscode-css', + \ filetype: ['css', 'scss', 'less'], + \ path: 'vscode-css-language-server', + \ args: ['--stdio'], + \ initializationOptions: #{ + \ provideFormatter: 0 + \ } + \ }, + \ #{name: 'omnisharp', + \ filetype: ['cs'], + \ path: '/usr/lib/omnisharp/OmniSharp', + \ args: ['-z', '--languageserver', '--encoding', 'utf-8'] + \ }, + \ #{name: 'crystalline', + \ filetype: ['crystal'], + \ path: '/usr/bin/crystalline', + \ args: ['--stdio'], + \ rootSearch: ['shard.yml', '.git'] + \ }, + \ #{name: 'ruby-lsp', + \ filetype: ['ruby'], + \ path: '/usr/bin/ruby-lsp', + \ rootSearch: ['Gemfile', '.git'] + \ }, + \ #{name: 'clangd', + \ filetype: ['c', 'cpp'], + \ path: '/usr/bin/clangd', + \ args: ['--background-index', '--clang-tidy'] + \ } + \ ] + +let lsp_list = [] + +for config in lsp_configs + if executable(config["path"]) + let lsp_list = add(lsp_list, config) + endif +endfor + +autocmd BufEnter * call SetupALEBuffer() +autocmd BufEnter *.log setlocal autoread +autocmd User LspSetup call LspAddServer(lsp_list) +autocmd User LspSetup call LspOptionsSet(lspOpts) +autocmd User LspAttached let b:ale_disable_lsp = 1 +"autocmd BufEnter *.jsx call UltiSnipsAddFiletypes(["html", "javascript"]) +