mirror of
https://oauth2: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@github.com/m1ngsama/chopsticks.git
synced 2026-05-10 19:10:59 +08:00
Replace the monolithic 1268-line .vimrc with a thin loader that sources 12 modules under modules/ (env, plugins, core, ui, editing, navigation, lsp, lint, git, writing, languages, tools). Each module is independently readable and can be toggled by commenting one line. Add interactive tutorial (tutor/chopsticks.tutor) with 10 lessons covering all features. Users can run :ChopsticksLearn to start.
65 lines
3.1 KiB
VimL
65 lines
3.1 KiB
VimL
" plugins.vim — vim-plug declarations
|
|
|
|
let data_dir = has('nvim') ? stdpath('data') . '/site' : '~/.vim'
|
|
if empty(glob(data_dir . '/autoload/plug.vim'))
|
|
silent execute '!curl -fLo '.data_dir.'/autoload/plug.vim --create-dirs '
|
|
\ . 'https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
|
|
augroup PlugBootstrap
|
|
autocmd!
|
|
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
|
|
augroup END
|
|
endif
|
|
|
|
call plug#begin('~/.vim/plugged')
|
|
|
|
" ── Navigation & Search ──────────────────────────────────────────────────────
|
|
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
|
|
Plug 'junegunn/fzf.vim'
|
|
|
|
" ── Git ──────────────────────────────────────────────────────────────────────
|
|
Plug 'tpope/vim-fugitive'
|
|
Plug 'airblade/vim-gitgutter'
|
|
|
|
" ── Editing ──────────────────────────────────────────────────────────────────
|
|
Plug 'tpope/vim-surround'
|
|
Plug 'tpope/vim-commentary'
|
|
Plug 'tpope/vim-repeat'
|
|
Plug 'tpope/vim-unimpaired'
|
|
Plug 'tpope/vim-sleuth'
|
|
Plug 'wellle/targets.vim'
|
|
Plug 'jiangmiao/auto-pairs'
|
|
Plug 'easymotion/vim-easymotion'
|
|
|
|
" ── Linting & Formatting ────────────────────────────────────────────────────
|
|
Plug 'dense-analysis/ale'
|
|
|
|
" ── LSP + Completion (no Node.js required) ──────────────────────────────────
|
|
Plug 'prabirshrestha/vim-lsp'
|
|
Plug 'mattn/vim-lsp-settings'
|
|
Plug 'prabirshrestha/asyncomplete.vim'
|
|
Plug 'prabirshrestha/asyncomplete-lsp.vim'
|
|
|
|
" ── Language Syntax ──────────────────────────────────────────────────────────
|
|
Plug 'pangloss/vim-javascript'
|
|
Plug 'HerringtonDarkholme/yats.vim'
|
|
Plug 'preservim/vim-markdown'
|
|
Plug 'fatih/vim-go'
|
|
|
|
" ── Markdown Preview & Writing ───────────────────────────────────────────────
|
|
Plug 'previm/previm'
|
|
Plug 'junegunn/goyo.vim'
|
|
Plug 'junegunn/limelight.vim'
|
|
|
|
" ── UI ───────────────────────────────────────────────────────────────────────
|
|
Plug 'mbbill/undotree'
|
|
Plug 'mhinz/vim-startify'
|
|
Plug 'lifepillar/vim-solarized8'
|
|
if !g:is_tty
|
|
Plug 'Yggdroot/indentLine'
|
|
endif
|
|
|
|
" ── Session & Navigation ────────────────────────────────────────────────────
|
|
Plug 'tpope/vim-obsession'
|
|
Plug 'christoomey/vim-tmux-navigator'
|
|
|
|
call plug#end()
|