Przy tej operacji użyjemy funkcji writefile oraz getreg, wysłanie bieżącej linii do innego pliku w tym wypadku oznacza usunięcie linii z bieżącego bufora i wklejenie jej do innego pliku.

W tym wypadku zostanie zmapowana kombinacja klawiszy <leader>sv, która wyśle linię do pliku ~/todo/vim.md.

nnoremap <leader>sv :d<cr>:cd ~/todo/<cr>:call writefile(getreg('@', 1, 1), 'vim.md', 'a')<cr>:cd %:p:h<cr>

Możemy wysłać kilka linii do innego pliku używając trybu VISUAL (Shift+v), także w tym przypadku jest zmapowana ta sama kombinacja klawiszy <leader>sv.

vmap <leader>sv :d<cr>:cd ~/todo/<cr>:call writefile(getreg('@', 1, 1), 'vim.md', 'a')<cr>:cd %:p:h<cr>

PS. Standardowo w edytorze Vim <leader> to klawisz \


wstecz

Date: 2020-10-21T19:05:40+02:00