Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there a vim plugin or other program that copy-pastes a selected text to a permanent file in one keystroke? E.g. You select a text, do Ctrl + s and instead of copying to clipboard, it copies to a permanent file.

It can be via a vim plugin because I'll always do this action from inside a vim session. Ultimately I would want to first paste the relative path of the current file I'm in, then paste the selected text and then insert a blank line to separate for the next entry.

I am using Ubuntu 11.10 btw.

share|improve this question
up vote 2 down vote accepted

That's basically a simple mapping:

:vnoremap <C-s> :write! >> file<CR>

To prepend the file name, I'd invoke an external command, though it could be done with readfile() / writefile(), too.

:vnoremap <C-s> :<C-u>execute '!echo "%" >> file'<Bar>'<,'>write! >> file<CR>
share|improve this answer
When I select a text in visual mode and do :write! >> ~/myfile.txt<CR> it works. But when I put :vnoremap <C-s> :write! >> ~/mytext.txt in my .vimrc and press <C-s> after restarting a vim session it doesn't do anything strangely. – Bentley4 Apr 2 '13 at 10:14
Also, when executing :<C-u>execute '!echo "%" >> ~/myfile.txt'<Bar>'<,'>write! >> ~/myfile.txt<CR> after selecting a text I get an error message trailing characters, seems it's not correctly formatted. – Bentley4 Apr 2 '13 at 10:14
The mappings must include the trailing <CR>, but if you type it as commands, instead of <Bar> type the literal |. Failure may also be due to your settings, see :help map-special. – Ingo Karkat Apr 2 '13 at 10:18
I did :noremap <C-s> :write! >> ~/Desktop/ho.txt<CR> and :noremap <special> <C-s> :write! >> ~/Desktop/ho.txt<CR> confer to the example in :help map-special, still the same thing. Do you recognise anything in my .vimrc that could interfere with this command? – Bentley4 Apr 2 '13 at 10:34
No, looks fine. Can you try another key, e.g. <F9>? Maybe it's this issue. – Ingo Karkat Apr 2 '13 at 11:17

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .