Poruszanie się w trybie INSERT

inoremap <C-h> <Left>   " przemieszcza kursor w lewo
inoremap <C-j> <Down>   " przemieszcza kursor w dół
inoremap <C-k> <Up>     " przemieszcza kursor w górę
inoremap <C-l> <Right>  " przemieszcza kursor w prawo

Poruszanie się w trybie COMMAND

cnoremap <C-h> <Left>   " przemieszcza kursor w lewo
cnoremap <C-j> <Down>   " przemieszcza kursor w dół
cnoremap <C-k> <Up>     " przemieszcza kursor w górę
cnoremap <C-l> <Right>  " przemieszcza kursor w prawo

Zapisanie pliku z użyciem sudo

cnoremap sudow w !sudo tee % >/dev/null

Teraz w trybie komand można użyć polecenia sudow

:sudow

Przeładowanie pliku konfiguracyjnego ~/.vim/vimrc

map <leader>r :so ~/.vim/vimrc<cr>

Utworzenie katalogu jeśli go nie ma

if !isdirectory('~/.vim/viminfo')
    call mkdir($HOME . '/.vim/viminfo', 'p')
endif

Łatwiejsze poruszanie się po zawijanych liniach

Zawijanie długich linii, rozkłada jedną linię na kilka linii, nieoddiezlonych znakiem końca linii, żeby poruszać się pomiędzy nimi można użyć klawiszy gj i gk, stąd zmapowanie tych skrótów do j i k.

nnore j gj
nnore k gk

Usunięcie Tabów z pliku

:set expandtab
:retab

Łatwiejszy dostęp do trybu komend

Standardowo do trybu komend można dostać się za pomocą : czyli <Shift-;> ten Shift jest dodatkowym klawiszem, którego chcemy się pozbyć, dlatego zamiast <Shift-;> użyję ;, tutaj pojawia się mała komplikacja, gdyż znak ; jest używany do powtórzenia wyszukiwania w linii, za pomocą komend f, t, F i T, do tego zadania zmapuję kombinację klawiszy f;:

map ; :
noremap f; ;

less vim

Polecenie less służy do przeglądania zawartości pliku, czyli możemy się poruszać po jego treści, co jeśli zdecydujemy się na edycję takiego pliku? Normalnie powinniśmy zakończyć pracę z programem less i uruchomić edycję pliku za pomocą edytora Vim. Jest jednak sposób żeby tego dokonać szybciej, wystarczy nacisnąć kombinację klawiszy vi i przejdziemy do edycji za pomocą standardowego edytora. To oznacza, że nie musi to być edytor Vim może to być na przykład edytor nvi. Standardowy edytor jest ustawiany w zmiennej EDITOR. W BASH ustawiamy w pliku ~/.bashrc natomiast w powłoces ZSH zmienną należy ustawić w pliku ~/.zshrc.

export EDITOR=vim

żeby sprawdzić jaki edytor jest ustawiony jako domyślny można wyświetlić wartość zmiennej EDITOR:

echo $EDITOR

Zawsze warto sprawdzić czy dany program istnieje zanim go użyjemy.

[ -f /usr/bin/vim ] && export EDITOR=/usr/bin/vim

Kopiowanie polecenia z bufora

" <leader>v - kopiuje bieżącą linię i wykonuje w linii komend
nnoremap <leader>v yy:@"<cr>

" <leader>e - kopiuje bieżącą linię i uruchamia polecenie systemowe,
" następnie wynik wkleja do bufora
nnoremap <leader>e !!$SHELL<cr>

Skopiowanie zawartości linii komend

Po wejściu w tryb komend :, naciskamy <Ctrl-f> i pokazuje się historia wykonanych komend wraz z bieżącą komendą, tutaj możemy użyć yy, żeby skopiować komendę. Do wyjścia z historii służy komenda :q.


Date: 2020-10-24T19:14:34+02:00