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 \
Date: 2020-10-21T19:05:40+02:00 |