> For the complete documentation index, see [llms.txt](https://bytistan.gitbook.io/baytistan/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bytistan.gitbook.io/baytistan/vim/yeni-baslayanlar-icin-vim.md).

# Yeni Başlayanlar İçin Vim

## Vim Yükleme

Aşağıdaki komut terminale yapıştırılarak `vim` yüklenebilir.

<pre class="language-sh"><code class="lang-sh"><strong>sudo apt-get install vim
</strong></code></pre>

## `.vimrc` Nedir?

`.vimrc` vim editörünü özelleştirmek için kullanılan bir konfigürasyon dosyasıdır.  Genellikle vim yüklendiği zaman işletim sisteminin `home` dizininde kendiliğinden oluştur.&#x20;

Eğer elinde halihazırda bir `.vimrc` dosyası yok ve `vim` kullanmaya yeni başlamışsan , hazır bir `.vimrc` dosyası kullanmak biraz mantıklı olabilir. `vim`  ediötürünü deneyimledikçe kişisel kullanımına uygun kendi ayarlarını yapabilirsin.

### Hazır `.vimrc` Dosyası

Benim başka bir yerden alıp özelleştirdiğim bir `.vimrc` dosyam var, istersen şimdilik bunu kullanabilir veya internet üzerinden başka `.vimrc` dosyaları araştırabilirsin. Ama ben bu içerikte bu dosya kurulumu üzeirnden gideceğim.

### `.vimrc` Dosyası İndirme

Eğer bilgisayarında `git` kurulu değilse aşağıdaki komutu kullanarak kurabilirsin.

```bash
sudo apt-get install git
```

Dosyayı aşağıdaki komutu kullanarak indirebilirsin.

```bash
git clone https://github.com/bytistan/vimrc
```

Veya aşağıdan kopyalayabilirsin.

<details>

<summary><code>.vimrc</code></summary>

```vim
call plug#begin('~/.vim/plugged')

Plug 'preservim/nerdtree'
Plug 'turbio/bracey.vim'
Plug 'alvan/vim-closetag'

call plug#end()

nnoremap <leader>n :NERDTreeFocus<CR>
nnoremap <C-n> :NERDTree<CR>
nnoremap <C-t> :NERDTreeToggle<CR>
nnoremap <C-f> :NERDTreeFind<CR>

" Enable type file detection. Vim will be able to try to detect the type of file in use.
filetype on

" Enable plugins and load plugin for the detected file type.
filetype plugin on

" Load an indent file for the detected file type.
filetype indent on

" Turn syntax highlighting on.
syntax on

" Add numbers to each line on the left-hand side.
set number

" Highlight cursor line underneath the cursor horizontally.
" set cursorline

" Highlight cursor line underneath the cursor vertically.
" set cursorcolumn

" Set shift width to 4 spaces.
set shiftwidth=4

" Set tab width to 4 columns.
set tabstop=4

" Use space characters instead of tabs.
set expandtab

" Do not save backup files.
set nobackup

" While searching though a file incrementally highlight matching characters as you type.
set incsearch

" Ignore capital letters during search.
set ignorecase

" Override the ignorecase option if searching for capital letters.
" This will allow you to search specifically for capital letters.
set smartcase

" Show partial command you type in the last line of the screen.
set showcmd

" Show the mode you are on the last line.
set showmode

" Show matching words during a search.
set showmatch

" Use highlighting when doing a search.
set hlsearch

" Set the commands to save in history default number is 20.
set history=1000

" Enable auto completion menu after pressing TAB.
set wildmenu

" Make wildmenu behave like similar to Bash completion.
set wildmode=list:longest

" There are certain files that we would never want to edit with Vim.
" Wildmenu will ignore files with these extensions.
set wildignore=*.docx,*.jpg,*.png,*.gif,*.pdf,*.pyc,*.exe,*.flv,*.img,*.xlsx

set relativenumber
```

</details>

İndirdiğimiz klasörün içerisine girelim.

```bash
cd vimrc
```

`.vimrc` dosyasını bilgisayarın home dizinine ekleyelim.

```bash
mv .vimrc ~/home/username
```

Artık her `vim` açıldığında bu özellikler otomatik olarak editörde çalışıcak.

## Vim-Plug

Vim editörü diğer editörler gibi üçüncü kişiler tarafından yazılmış paketlere sahip, bu paketleri indirip kullanabilmek için `vim-plug` veya başka bir paket yöneticisi yüklenmeli en popüler olanı bu ve indirilen `.vimrc` dosyası ile uyumlu.

### Vim-Plug Kurulumu

Aşağıdaki komutu terminale yapıştırıldığında kurulumu otomatik olarak yapıyor.

```bash
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
```

Vim-Plug çalışabilmesi `git` yüklü olması lazım eğer yüklü değilse alt kısımdaki komut kullanarak yüklenebilir.

```bash
sudo apt-get install git
```

### Vim-Plug ile Paket İndirme

Eğer `.vimrc` dosyasını incelediysen başlangıç kısmında şuna benzer bir şey görmüş olman lazım.

```vim
call plug#begin('~/.vim/plugged')

Plug 'preservim/nerdtree'
Plug 'turbio/bracey.vim'
Plug 'alvan/vim-closetag'

call plug#end()
```

`begin` ve `end` kısımlarının arasına yazılan github depoları yani paketler yüklenebilir. Burada benim bir kaç tane favori paketim var.

#### `PlugInstall` ile Paket Yükleme

Terminale vim yazıyorum.

```bash
vim
```

`Shift + :` basıldığında, amaç iki nokta oluşturmak.

Açılan `vim` komut satırına `PlugInstall` yazıldığında otomatik olarak paketler iniyor.

```vim
PlugInstall
```

`Shift + :` basıldıktan sonra `q` yazarak çıkılabilir.

## Test

Bir dosya oluşturup deneme yapalım.

```bash
vim test.py
```

&#x20;`NerdThree` çalışıyor ve alt kısımdaki görsele benzer bir görüntü ile karşılamışsan kurulumu doğru yapmışssın demektir.

`NerdThree` penceresini açmak için `ctrl + n` komutu kullanılabilr.

<figure><img src="https://1410862737-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9aHzax96GWKIgzf4IcRN%2Fuploads%2FgRGKl5kcR5k6Xh54iwZy%2FScreenshot%20from%202024-10-05%2015-34-22.png?alt=media&amp;token=e8a41e44-b54e-4207-bb52-ca6a0e4de95a" alt=""><figcaption><p>1.0</p></figcaption></figure>
