Skip to content
ShoxruxGoPublic

About

Ghostty + tmux + Neovim terminal muhiti — o'zbek tilida to'liq qo'llanma bilan

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Terminal muhiti: Ghostty + tmux + Neovim

Terminalda ishlash uchun to'liq sozlangan muhit. Kodni tahrirlash, git, web dasturlash va sessiyalarni boshqarish — hammasi bitta oynada, sichqonchasiz.

Tarkibi:

Dastur Vazifasi
Ghostty terminal oynasi (tez, shaffof fon bilan)
tmux sessiyalar va panellar: terminalni yopsangiz ham ish saqlanadi
Neovim kod muharriri (LSP, autocomplete, fayl daraxti)
Starship promptdagi papka nomi va ❯ belgisi

Ranglar sxemasi: Catppuccin Mocha — uchala dasturda ham bir xil.


Mundarija

  1. Nima kerak bo'ladi
  2. macOS'ga o'rnatish
  3. Linux'ga o'rnatish
  4. Windows'ga o'rnatish
  5. Sozlamalarni qo'yish
  6. Birinchi ishga tushirish
  7. Foydalanish
  8. Web dasturlash
  9. Sozlamalarni o'zgartirish
  10. Muammolar va yechimlar

1. Nima kerak bo'ladi

Majburiy

Dastur Nima uchun
git plaginlarni yuklab olish uchun
neovim (0.10+) muharrirning o'zi
tmux (3.2+) sessiyalar
Nerd Font shrift ikonkalar ko'rinishi uchun (busiz kvadratchalar chiqadi)

Tavsiya etiladi

Dastur Nima beradi
ripgrep loyiha bo'ylab matn qidirish (Probel fg)
fd fayl qidirishni tezlashtiradi
lazygit git uchun qulay interfeys (Probel gg)
gitmux tmux panelida git branch ko'rinishi
starship prompt
node (18+) web dasturlash uchun til serverlari

2. macOS'ga o'rnatish

Avval Homebrew kerak. Bo'lmasa:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

So'ng hammasini bir buyruq bilan:

# Terminal, muharrir va yordamchilar
brew install --cask ghostty
brew install neovim tmux git ripgrep fd lazygit gitmux starship node

# Nerd Font shrifti (ikonkalar uchun)
brew install --cask font-jetbrains-mono-nerd-font

Keyin 5-bo'limga o'ting.


3. Linux'ga o'rnatish

Ubuntu / Debian

sudo apt update
sudo apt install -y git tmux ripgrep fd-find curl build-essential

# Neovim — apt'dagi versiya ko'pincha eski, shuning uchun rasmiy build:
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz
sudo tar -C /opt -xzf nvim-linux-x86_64.tar.gz
sudo ln -sf /opt/nvim-linux-x86_64/bin/nvim /usr/local/bin/nvim

# Starship
curl -sS https://starship.rs/install.sh | sh

# lazygit
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": *"v\K[^"]*')
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
tar xf lazygit.tar.gz lazygit && sudo install lazygit /usr/local/bin

Arch Linux

sudo pacman -S ghostty neovim tmux git ripgrep fd lazygit starship nodejs npm

Ghostty (Ubuntu/Debian uchun)

Ghostty rasmiy .deb paketini chiqarilmalar sahifasidan yuklab oling yoki manbadan yig'ing. Ghostty bo'lmasa ham muhim emas — sozlama har qanday terminalda ishlaydi (faqat shaffoflik va o'lcham sozlamalari ishlamaydi).

Nerd Font

mkdir -p ~/.local/share/fonts
cd ~/.local/share/fonts
curl -fLO https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.zip
unzip -o JetBrainsMono.zip && rm JetBrainsMono.zip
fc-cache -fv

So'ng terminal sozlamalarida shriftni JetBrainsMono Nerd Font qilib tanlang.


4. Windows'ga o'rnatish

Muhim: Ghostty'ning Windows uchun versiyasi yo'q. Ikki yo'l bor.

Yo'l A — WSL2 (tavsiya etiladi)

Linux muhitini Windows ichida ishga tushirasiz va hamma narsa ishlaydi.

  1. PowerShell'ni administrator sifatida ochib:

    wsl --install -d Ubuntu

    Kompyuterni qayta yoqing.

  2. Ubuntu'ni ochib, 3-bo'limdagi Ubuntu ko'rsatmalarini bajaring.

  3. Terminal sifatida Windows Terminal dan foydalaning (Microsoft Store'da bepul). Uning sozlamalarida:

    • shrift: JetBrainsMono Nerd Font
    • shriftni Windows tomonida ham o'rnatish kerak: nerd-fonts dan JetBrainsMono.zip ni yuklab, ichidagi .ttf fayllarni belgilab, o'ng tugma → Install
  4. Sozlamalarni qo'yish — 5-bo'lim, buyruqlar WSL ichida bajariladi.

Yo'l B — Windows'ning o'zida (tmux'siz)

tmux Windows'da ishlamaydi, ya'ni sessiyalar va yuqoridagi panel bo'lmaydi. Faqat Neovim qismi ishlaydi:

winget install Neovim.Neovim Git.Git BurntSushi.ripgrep.MSVC sharkdp.fd
winget install JesseDuffield.lazygit Starship.Starship OpenJS.NodeJS

Sozlama fayli %LOCALAPPDATA%\nvim\init.lua ga qo'yiladi.


5. Sozlamalarni qo'yish

git clone https://github.com/Go-Dasturchi/Ghostty.git
cd Ghostty
chmod +x install.sh
./install.sh

Skript nima qiladi:

  • sozlamalarni joyiga ko'chiradi (~/.config/ghostty, ~/.config/tmux, ~/.config/nvim, ~/.config/starship)
  • eski sozlamalaringizni zaxiraga oladi — yo'qolmaydi, ekranda zaxira papkasining nomi yoziladi
  • tmux plaginlar menejerini (TPM) o'rnatadi

Qo'lda bajariladigan bitta qadam: zsh/zshrc-qismi.zsh faylini ochib, ichidagini o'zingizning ~/.zshrc faylingiz oxiriga ko'chiring.

Qo'lda qo'ymoqchi bo'lsangiz, fayllar shu joylarga boradi:

Repodagi fayl Qayerga
ghostty/config ~/.config/ghostty/config
tmux/tmux.conf ~/.config/tmux/tmux.conf
tmux/tmux.reset.conf ~/.config/tmux/tmux.reset.conf
nvim/init.lua ~/.config/nvim/init.lua
nvim/QOLLANMA.md ~/.config/nvim/QOLLANMA.md
starship/starship.toml ~/.config/starship/starship.toml

6. Birinchi ishga tushirish

  1. Terminalni butunlay yoping va qayta oching. Ghostty'da: Cmd+Q (macOS). Shundan keyin u avtomatik tmux'ga ulanadi.

  2. tmux plaginlarini o'rnating: Ctrl+A bosing, qo'yib yuboring, keyin katta I (Shift+i). Pastda o'rnatish jarayoni ko'rinadi, bir necha soniya kutasiz.

  3. Neovim'ni oching: nvim. Plaginlar o'zi yuklab olinadi — birinchi safar 1-2 daqiqa ketishi mumkin. Tugagach q bosing.

  4. Til serverlarini o'rnating (kerakli tillarni tanlang):

    # Web (HTML, CSS, JS/TS, Emmet)
    npm install -g vscode-langservers-extracted typescript@5 \
      typescript-language-server @olrtg/emmet-language-server live-server
    
    # Go
    go install golang.org/x/tools/gopls@latest
    
    # Python
    npm install -g pyright
  5. Tekshirish: nvim ichida :checkhealth yozing — nimadir yetishmasa, shu yerda ko'rsatiladi.


7. Foydalanish

Asosiy tushunchalar

tmux sessiyasi — ishingizning saqlangan holati. Terminalni yopsangiz ham, kompyuterni o'chirsangiz ham sessiya saqlanib qoladi va qaytib kelganingizda o'sha joydan davom etasiz (tmux-resurrect + tmux-continuum plaginlari har 5 daqiqada saqlab turadi).

Prefix — tmux buyruqlaridan oldin bosiladigan tugma. Bu sozlamada u Ctrl+A. Ya'ni "Ctrl+A keyin o" degani: Ctrl+A ni bosib qo'yib yuborasiz, so'ng o ni bosasiz.

Leader — Neovim buyruqlaridan oldin bosiladigan tugma. Bu yerda u probel.

tmux

Tugma Nima qiladi
Ctrl+A o sessiyalar ro'yxati (qidiruv bilan)
Ctrl+A p suzuvchi terminal — kod ustida qalqib turadi
Ctrl+A c yangi oyna
Ctrl+A s gorizontal bo'lish
Ctrl+A v vertikal bo'lish
Ctrl+A h/j/k/l qo'shni panelga o'tish
Ctrl+A z panelni kattalashtirish / qaytarish
Ctrl+A d sessiyadan chiqish (fon rejimida qoladi)
Ctrl+A $ sessiya nomini o'zgartirish
Ctrl+A R sozlamani qayta yuklash

Neovim — eng kerakli 10 tasi

Tugma Nima qiladi
i yozishga o'tish. Chiqish — Esc
yy qatorni nusxalash
p qo'yish
dd qatorni o'chirish
u bekor qilish
Ctrl+r bekor qilinganni qaytarish
/so'z qidirish, n — keyingisi
Ctrl+s saqlash
:q chiqish
Probel ? barcha tugmalar ro'yxati

Neovim — asosiy tugmalar

Tugma Nima qiladi
Ctrl+n fayl daraxti
Ctrl+t pastki terminal
Probel ff fayl topish
Probel fg loyiha bo'ylab matn qidirish
Probel fk tugmalarni qidirish
Probel k to'liq qo'llanma (qidiruvli)
Probel gg LazyGit
gd funksiya ta'rifiga o'tish
K hujjat / ma'lumot
Probel rn nomini hamma joyda o'zgartirish

Fayl daraxti ichida

Tugma Nima qiladi
a yangi fayl. Papka uchun oxiriga / qo'ying: yangi/
d o'chirish
r nomini o'zgartirish
x / c / p kesish / nusxalash / qo'yish

Tugmani eslay olmasangiz

Istalgan tugmani bosib 0.4 soniya kuting — which-key o'zi ro'yxat chiqaradi. Masalan d bossangiz, o'chirishning barcha variantlari ko'rinadi. Yoki Probel k — to'liq qo'llanma, qidiruv bilan.

To'liq ro'yxat: nvim/QOLLANMA.md


8. Web dasturlash

HTML, CSS va JavaScript uchun autocomplete, Emmet va brauzerda jonli ko'rish sozlangan.

Emmet

HTML faylida yozib, to'ldirish ro'yxatidan tanlang:

Yozasiz Chiqadi
html:5 to'liq HTML andozasi
div.box <div class="box"></div>
ul>li*3 <ul> ichida 3 ta <li>

CSS'da ham: df → display: flex;, m10 → margin: 10px;

Brauzerda jonli ko'rish

Tugma Nima qiladi
Probel ws brauzerda ochish — fayl saqlansa sahifa o'zi yangilanadi
Probel wq to'xtatish

JavaScript'ni ishga tushirish

Terminalda (Ctrl+t), xuddi boshqa tillardagidek:

node fayl.js        # JavaScript
go run main.go      # Go
python3 fayl.py     # Python

node --watch fayl.js — fayl saqlanganda o'zi qayta ishga tushadi.

Eslatma: brauzer uchun yozilgan JavaScript (document, addEventListener) node bilan ishlamaydi — terminalda sahifa yo'q. Bunday kod faqat brauzerda ishlaydi.


9. Sozlamalarni o'zgartirish

Nimani Qayerda
Shrift o'lchami, shaffoflik ~/.config/ghostty/config
tmux paneli, tugmalari ~/.config/tmux/tmux.conf
Neovim — hammasi ~/.config/nvim/init.lua
Prompt ko'rinishi ~/.config/starship/starship.toml

init.lua ni tezda ochish: Probel f c → Config.

Fayllar ichida o'zbekcha izohlar bor: har bir sozlama nima qilishi va nega shunday yozilgani tushuntirilgan.

Shaffoflikni o'zgartirish

~/.config/ghostty/config ichida:

background-opacity = 0.82    # 1 = qattiq, 0 = ko'rinmas
background-blur = 40         # xiralashtirish kuchi

10. Muammolar va yechimlar

Ikonkalar o'rniga kvadratchalar chiqyapti

Nerd Font o'rnatilmagan yoki terminalda tanlanmagan. Terminal sozlamalarida shriftni JetBrainsMono Nerd Font qiling.

tmux paneli ko'rinmayapti

Plaginlar o'rnatilmagan: Ctrl+A keyin katta I bosing.

Agar Neovim'dan noto'g'ri chiqilgan bo'lsa, panel yashiringancha qolishi mumkin (Neovim ochilganda u ataylab yashiriladi). Qaytarish:

tmux set status on

Neovim sekin ochilyapti

Birinchi ishga tushirishda plaginlar yuklanadi — bu normal. Keyingi safar tez bo'ladi. Tekshirish: nvim ichida :Lazy profile.

Autocomplete ishlamayapti

Til serveri o'rnatilmagan bo'lishi mumkin. Tekshirish: faylni ochib :LspInfo yozing. Bo'sh bo'lsa — 6-bo'limdagi til serverlarini o'rnating.

live-server: command not found

npm install -g live-server

Hammasini qaytarib olmoqchiman

install.sh eski sozlamalaringizni ~/.config-zaxira-<sana> papkasiga saqlab qo'ygan. Undagi fayllarni joyiga qaytaring.


Litsenziya

MIT — xohlagancha foydalaning, o'zgartiring, tarqating.

About

Ghostty + tmux + Neovim terminal muhiti — o'zbek tilida to'liq qo'llanma bilan

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages