راه اندازی وب مدرن (اما یکپارچهسازی با سیستمعامل) من با Vim در ویندوز

سلام! اجازه دهید درباره سفرم به دنیای توسعه وب مینیمالیست (و در عین حال قدرتمند) با Vim در ویندوز به شما بگویم. اگر فکر می کنید این فقط یک راهنمای راه اندازی خسته کننده است، دوباره فکر کنید! این در مورد نوستالژی ملاقات عملی، با پیچ و تاب مدرن است.
My Dotfiles: The Secret Sauce
قبل از اینکه به جزئیات بپردازیم، اجازه دهید به شما اشاره کنم به قلب راه اندازی من: فایل های نقطه من. این افراد برای همه چیز تنظیمات دارند – ترمینال ویندوز، .bashrc
، Neovim، Emacs، WezTerm، شما آن را نام ببرید. این اساساً کل محیط توسعه من در یک مخزن منظم است. اگر کنجکاو هستید که چگونه همه این ابزارها را به هم گره بزنم، اینجا جایی است که باید بررسی کنید. به راحتی می توانید ایده های خود را برای تنظیم خود چنگال یا بدزدید!
چرا Vim؟
اول از همه، چرا من حتی در سال 2025 از Vim استفاده می کنم، در حالی که IDE هایی مانند VSCode وجود دارد که با همه زنگ ها و سوت ها همراه است؟ ساده: سرعت و تمرکز کنید. Vim مانند آن دوست قابل اعتماد قدیمی است که همیشه در کنار شماست، خراب نمی شود و RAM شما را بالا نمی برد. مطمئناً کمی زمان می برد تا به آن عادت کنید، اما زمانی که این کار را انجام دهید، دیگر راه برگشتی وجود ندارد.
ترمینال: وارد WezTerm شوید
قبل از اینکه وارد پیکربندی Vim خود شویم، اجازه دهید شبیه ساز ترمینال انتخابی خود را به شما معرفی کنم: WezTerm. این بهترین ترمینال است که من در ویندوز استفاده کرده ام. این سریع، فوق العاده قابل تنظیم است، و احساس تند و تیز به نظر می رسد. بدون بی احترامی به ترمینال ویندوز یا گزینه های دیگر، اما WezTerm فقط کلیک کرد برای من این برای اجرای Vim، Git، Node.js، و هر چیز دیگری که به آن می پردازم عالی است.
راه اندازی Vim
خوب، اکنون برای رویداد اصلی: پیکربندی Vim من. من آن را تمیز نگه داشته ام و بر روی آنچه که واقعاً برای توسعه وب به آن نیاز دارم تمرکز کرده ام – هیچ یک از آن تنظیمات پلاگین متورم یا پیکربندی های بی پایان. همه چیز در مورد کارآمد نگه داشتن چیزها در عین قدرتمند بودن است.
در اینجا هسته من است .vimrc
:
set runtimepath+=C:\Users\Usuario\.vim\bundle\Vundle.vim
set runtimepath+=%USERPROFILE%\.vim\bundle\YouCompleteMe
syntax on
set nocompatible
set number
set expandtab
set shiftwidth=4
set tabstop=4
set autoindent
set smartindent
set mouse=a
set cursorline
set clipboard=unnamedplus
set guicursor=n-v-c:block,i:block,r-cr:hor20,o:hor50
set history=500
call vundle#begin('C:\Users\Usuario\.vim\bundle\')
Plugin 'VundleVim/Vundle.vim'
Plugin 'neko-night/Vim'
Plugin 'tpope/vim-commentary'
Plugin 'preservim/nerdtree'
Plugin 'jiangmiao/auto-pairs'
Plugin 'pangloss/vim-javascript'
Plugin 'mxw/vim-jsx'
Plugin 'dense-analysis/ale'
Plugin 'prettier/vim-prettier', {'do': 'npm install'}
call vundle#end()
let mapleader = "\\"
set backspace=indent,eol,start
set termguicolors
inoremap jk <ESC>
nnoremap <C-c> :%y+<CR>
nnoremap <C-s> :w<CR>
nnoremap <Leader>t :terminal<CR>
nnoremap <C-v> "+p
nnoremap <C-z> u
vnoremap <C-v> "+p
nnoremap <C-f> :NERDTreeFind<CR>
nnoremap <leader>n :NERDTreeFocus<CR>
nnoremap <C-n> :NERDTree<CR>
nnoremap <C-t> :NERDTreeToggle<CR>
nnoremap <Leader>p :Prettier<CR>
inoremap <C-v> <Esc>"+pa
inoremap <A-Up> <Esc>:m-2<CR>a
inoremap <A-Down> <Esc>:m+<CR>a
inoremap <C-Up> <Esc>v<Up>
inoremap <C-Down> <Esc>v<Down>
colorscheme nekonight-night
let g:ycm_global_ycm_extra_conf = '%USERPROFILE%\.vim\bundle\YouCompleteMe\third_party\ycmd\examples\ycm_extra_conf.py'
set completeopt=menuone,noinsert,noselect
let g:ale_linters = {
\ 'javascript': ['eslint'],
\ 'javascriptreact': ['eslint'],
\}
let g:ale_fixers = {
\ 'javascript': ['prettier'],
\ 'javascriptreact': ['prettier'],
\}
let g:ale_fix_on_save = 1
let g:prettier#exec_cmd_async = 1
let g:prettier#autoformat = 1
let g:prettier#autoformat_require_pragma = 0
نکات برجسته پیکربندی
- کود دهی کنید: حداقل و منظم نگه داشتن افزونه ها. Vundle فقط کار می کند.
- NERDTree: چون گاهی تو انجام دهید نیاز به کاوشگر فایل
- اما: لینتر و فیکس کننده انتخابی من. ESLint + ادغام زیباتر برای جاوا اسکریپت.
- YouCompleteMe: تکمیل خودکار قدرتمند برای کارایی کدنویسی.
- زیباتر: قالب بندی خودکار در ذخیره باعث می شود کد من واضح به نظر برسد.
چرا بدون سرور زنده؟
درست است—در اینجا سرور زنده وجود ندارد. من آن را تکان می دهم. من مرورگر را به صورت دستی رفرش می کنم، بسیار متشکرم. یک چیز عجیب و غریب در مورد کدنویسی به این روش رضایتبخش است—من را مجبور میکند به جای تکیه بر بازخورد فوری، روی نوشتن کد خوب تمرکز کنم.
نقشه برداری های کلیدی برای عشق
یکی از موارد مورد علاقه من در مورد این تنظیم، نگاشت های کلیدی است:
-
jk
برای فرار از حالت درج: دیگر نیازی به دستیابی نیستEsc
! -
ذخیره کردن: حافظه عضلانی از ویرایشگران مدرن. -
برای کپی کردن کل فایل: اشتراک گذاری فوری -
برای ترمینال: حسن ترمینال یکپارچه.t -
و
برای NERDTree: تغییر حالت کاوشگر فایل نمی تواند آسان تر باشد.
تجربه یکپارچهسازی با سیستمعامل
توسعه در Vim در ویندوز حس نوستالژیک و در عین حال مدرن دارد. مطمئنا، من همه ابزارهای فانتزی مانند سرورهای زنده یا برنامه های افزودنی را ندارم که هر ثانیه ظاهر می شوند، اما نکته اینجاست. این یک محیط بدون حواس پرتی است که در آن می توانم روی کدنویسی تمرکز کنم.
افکار بسته
اگر به دنبال راهاندازی توسعهای سبک و سریع در ویندوز هستید، این را امتحان کنید. جفت کردن Vim با WezTerm به شما یک محیط قوی می دهد که استفاده از آن هم کارآمد و هم سرگرم کننده است. مطمئناً کمی عقبگرد است، اما تمام ابزارهای مدرنی را که برای انجام کار نیاز دارید در اختیار دارد. کد نویسی مبارک!