Как да добавим файлово дърво в Vim?

Повечето хора мислят, че Vim е просто текстов редактор за терминала. Но с правилните добавки, той може да се превърне в мощна среда за програмиране (IDE), без да губи своята скорост. Най-важната стъпка в тази трансформация е добавянето на файлово дърво.
Стъпка 1: Инсталиране на Plugin Manager
За да управляваме лесно добавките във Vim, ни трябва инструмент, наречен vim-plug.
- Отворете терминала си.
- Изпълнете следната команда:Bash
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
Стъпка 2: Конфигуриране на .vimrc
Конфигурационният файл .vimrc е „мозъкът“ на вашия Vim. Той се намира в домашната ви папка (~/.vimrc). Ако го няма, просто го създайте.
Отворете го с vim ~/.vimrc и добавете следното съдържание:
Vim Script
call plug#begin()
Plug 'preservim/nerdtree' " Файлово дърво
call plug#end()
Настройки за удобство
let NERDTreeShowHidden=1 " Покажи скритите файлове (.env, .gitignore)
let g:NERDTreeWinSize=30 " Ширина на панела (30 символа)
" --- НАСТРОЙКИ НА NERDTREE ---
nnoremap <C-n> :NERDTreeToggle<CR> " Ctrl+n отваря дървото
let NERDTreeShowHidden=1 " Покажи скрити файлове
" --- НАВИГАЦИЯ МЕЖДУ ПРОЗОРЦИ (Splits) ---
" Използвай Ctrl + h/j/k/l за преместване между панелите
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l
" --- ТАБОВЕ (Tabs) ---
set showtabline=2 " Винаги показвай лентата с табове
nnoremap <C-t> :tabnew<CR> " Ctrl+t за нов таб
nnoremap <Tab> :tabnext<CR> " Tab за следващ таб
nnoremap <S-Tab> :tabprevious<CR> " Shift+Tab за предишен таб
" Автоматично затваряне, ако остане само дървото
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
Стъпка 3: Активиране на магията
След като сте запазили файла, направете следното:
- Рестартирайте Vim.
- Напишете командата:
:PlugInstallи натиснете Enter. - Изчакайте инсталацията да завърши и излезте от помощния прозорец с
:q.
Бърза справка с команди
| Действие | Клавишна комбинация |
| Отвори/Скрий дървото | Ctrl + n |
| Движение към дървото | Ctrl + h |
| Движение към кода | Ctrl + l |
| Отваряне на файл в нов таб | Посочи файла в дървото и натисни t |
| Смяна на табове | Tab или Shift + Tab |
| Файлови операции | Натисни m докато си върху файл в дървото |
Как се работи с файловото дърво?
Вече имате панел вляво. Ето най-важните команди, за да станете професионалисти:
Основна навигация
Ctrl + n: Отваря или скрива дървото (според настройката ни по-горе).jиk: Движение надолу и нагоре по списъка.Enter: Отваря избрания файл.C: Прави избраната папка „корен“ на проекта (фокусира се само върху нея).u: Връща се една папка нагоре в йерархията.
Работа с прозорци (Splits)
Вместо просто да отваряте файл, можете да го разположите до текущия:
s: Отваря файла във вертикален прозорец (Vertical Split).i: Отваря файла в хоризонтален прозорец (Horizontal Split).
Управление на файлове (Менюто 'm')
Това е най-полезната функция. Посочете папка или файл и натиснете m. Ще се появи меню, от което можете:
a(add): Създаване на нов файл или папка (за папка добавете/накрая, напримерsrc/).d(delete): Изтриване на файл.m(move): Преименуване или преместване на файл.
Защо това е полезно?
- Визуализация: Виждате структурата на проекта си през цялото време.
- Бързина: Създавате и триете файлове, без да излизате от Vim и без да пишете дълги команди в терминала.
- Фокус: Можете лесно да превключвате между десетки файлове в големи проекти.
Съвет: Ако искате иконки (като в истинска програма), инсталирайте си плъгина
ryanoasis/vim-devicons, но помнете, че той изисква инсталиран Nerd Font на вашата операционна система.
Част 2: Работа с табове (Tabs) – Организирай работното си пространство
Във Vim табовете са изключително мощни. Можеш да имаш един таб за Frontend частта на проекта ти и друг за Backend частта, като превключваш между тях мигновено.
1. Основни команди за табове
Тези команди работят във Vim „out of the box“ (без плъгини):
:tabnew filename– Отваря нов таб с конкретен файл.:tabnew– Отваря нов празен таб.:tabclose– Затваря текущия таб (и всички прозорци в него).:tabnext(или клавишgt) – Отива към следващия таб.:tabprev(или клавишgT) – Отива към предишния таб.
2. Как да ги направим „невероятни“ (Конфигурация)
За да не пишеш дълги команди всеки път, добави тези настройки в твоя .vimrc:
Vim Script
" Бързо отваряне на нов празен таб с Ctrl + t
nnoremap <C-t> :tabnew<CR>
" Превключване между табовете с Tab и Shift+Tab
nnoremap <Tab> :tabnext<CR>
nnoremap <S-Tab> :tabprevious<CR>
" Винаги показвай лентата с табовете горе, дори да има само един
set showtabline=2
3. Интеграция с NERDTree
Сега идва най-добрата част. Когато имаш отворено файловото дърво вляво:
- Отиди на някой файл в дървото и натисни
t. - Файлът ще се отвори в нов таб.
- Натисни
T(главно Т), за да го отвориш в нов таб „тихо“ (оставайки в текущия).
Пълният работен процес (Workflow)
Представи си следната ситуация, докато програмираш:
- Отваряш Vim и натискаш
Ctrl + n, за да видиш проекта. - Намираш
index.html, отиваш на него и натискашt. (Вече имаш първия таб). - Връщаш се в дървото, отиваш на
style.cssи натискашs(Vertical Split). Сега в един таб виждаш и HTML-а, и CSS-а. - Искаш да погледнеш документацията или някой скрипт, без да разваляш изгледа? Натискаш
Ctrl + tза нов чист таб. - Превключваш между дизайна и скриптовете само с бутона
Tab.
Защо това е по-добро от стандартните редактори?
Във всеки таб можеш да имаш различна подредба (split-ове). Например:
- Таб 1: Три файла отворени един до друг за сравнение.
- Таб 2: Само един файл на цял екран за писане на код без разсейване.
- Таб 3: Терминал (да, можеш да отвориш терминал вътре във Vim с командата
:term).
Намерихте материала за полезен?
Съдържанието на itpraktika.com е безплатно и ще остане такова.
Ако статията ти е помогнала — можеш да подкрепиш сайта с малка доброволна сума.
Всяко дарение помага за поддръжката и развитието на портала.
