These two mappings work separately:
```
nnoremap <leader>zs :let @+=substitute(substitute(join(filter(getline(1,'$'),'v:val=~"^source:"'),"\n"),'^\(source:\s*\)\(.*\)$','\2',''),'^\s*\(.*\)$','\1','')<CR><ESC>
nnoremap <leader>zd :let @+=getline('.')<CR>
```

> Note on what the codes need to accomplish: the first leader entry copies into system clipboard the text following "source: "; the second leader entry copies the currently cursored line into system clipboard. I use a clipboard manager thus I prefer to copy multiple items (separately) from a text file into clipboard.

How do I combine them into a single leader entry?

I've tried following [this](https://vi.stackexchange.com/a/12102) to produce:
```
nnoremap <leader>zs :let @+=substitute(substitute(join(filter(getline(1,'$'),'v:val=~"^source:"'),"\n"),'^\(source:\s*\)\(.*\)$','\2',''),'^\s*\(.*\)$','\1','') \| let @+=getline('.')<CR>
```
but this doesn't work. What could I be doing wrong?