how to get file fullpath to vim register?

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

how to get file fullpath to vim register?

Sand Glass
Sometimes I need to copy my editing file's full path to my vim register, how can I get it?

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: how to get file fullpath to vim register?

Ni Va
Le samedi 7 avril 2018 08:02:45 UTC+2, Sand Glass a écrit :
> Sometimes I need to copy my editing file's full path to my vim register, how can I get it?



:let @" = expand('%:p') | norm p

you can map this command.


Nota: I do daily release of last Vim/Gvim ver on windows 64 bits by job_starting  git clone, and nmake build if it can help.

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.

current_filepath_to_register.gif (116K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: how to get file fullpath to vim register?

Sand Glass
On Saturday, April 7, 2018 at 2:21:50 PM UTC+8, Ni Va wrote:

> Le samedi 7 avril 2018 08:02:45 UTC+2, Sand Glass a écrit :
> > Sometimes I need to copy my editing file's full path to my vim register, how can I get it?
>
>
>
> :let @" = expand('%:p') | norm p
>
> you can map this command.
>
>
> Nota: I do daily release of last Vim/Gvim ver on windows 64 bits by job_starting  git clone, and nmake build if it can help.
I try to map this command in _vimrc like this:
nnoremap cP :let @"=expand('%:p') | norm p
Is here somthing wrong?

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: how to get file fullpath to vim register?

Sand Glass
In reply to this post by Ni Va
On Saturday, April 7, 2018 at 2:21:50 PM UTC+8, Ni Va wrote:

> Le samedi 7 avril 2018 08:02:45 UTC+2, Sand Glass a écrit :
> > Sometimes I need to copy my editing file's full path to my vim register, how can I get it?
>
>
>
> :let @" = expand('%:p') | norm p
>
> you can map this command.
>
>
> Nota: I do daily release of last Vim/Gvim ver on windows 64 bits by job_starting  git clone, and nmake build if it can help.
I try to map this command in _vimrc like this:
nnoremap cP :let @"=expand('%:p') | norm p
But does not work, Is here somthing wrong?

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: how to get file fullpath to vim register?

Tony Mechelynck
On Sun, Aug 19, 2018 at 11:14 AM, Sand Glass <[hidden email]> wrote:

> On Saturday, April 7, 2018 at 2:21:50 PM UTC+8, Ni Va wrote:
>> Le samedi 7 avril 2018 08:02:45 UTC+2, Sand Glass a écrit :
>> > Sometimes I need to copy my editing file's full path to my vim register, how can I get it?
>>
>>
>>
>> :let @" = expand('%:p') | norm p
>>
>> you can map this command.
>>
>>
>> Nota: I do daily release of last Vim/Gvim ver on windows 64 bits by job_starting  git clone, and nmake build if it can help.
>
> I try to map this command in _vimrc like this:
> nnoremap cP :let @"=expand('%:p') | norm p
> But does not work, Is here somthing wrong?

In what manner does it "not work"? What happens when you hit cP in
Normal mode then? Nothing? Or something else than what you expected?
And what did you expect? The above mapping should insert the file's
full path into the file itself immediately after the cursor. It won't
work if you haven't yet given a name to the file.

If you want instead to get the file's full path into the clipboard so
you can paste it into a different application, then replace @" by @+
and remove the " | norm p" at the end. For this you need access to the
clipboard, e.g. running in gvim (of any flavour), or in a GUI-enabled
Linux vim, or probably also on a Windows vim.exe but's been so long
I've quit Windows I can't be sure in the latter case.

Best regards,
Tony.

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: how to get file fullpath to vim register?

Sand Glass
On Sunday, August 19, 2018 at 5:50:00 PM UTC+8, Tony Mechelynck wrote:

> On Sun, Aug 19, 2018 at 11:14 AM, Sand Glass <[hidden email]> wrote:
> > On Saturday, April 7, 2018 at 2:21:50 PM UTC+8, Ni Va wrote:
> >> Le samedi 7 avril 2018 08:02:45 UTC+2, Sand Glass a écrit :
> >> > Sometimes I need to copy my editing file's full path to my vim register, how can I get it?
> >>
> >>
> >>
> >> :let @" = expand('%:p') | norm p
> >>
> >> you can map this command.
> >>
> >>
> >> Nota: I do daily release of last Vim/Gvim ver on windows 64 bits by job_starting  git clone, and nmake build if it can help.
> >
> > I try to map this command in _vimrc like this:
> > nnoremap cP :let @"=expand('%:p') | norm p
> > But does not work, Is here somthing wrong?
>
> In what manner does it "not work"? What happens when you hit cP in
> Normal mode then? Nothing? Or something else than what you expected?
> And what did you expect? The above mapping should insert the file's
> full path into the file itself immediately after the cursor. It won't
> work if you haven't yet given a name to the file.
>
> If you want instead to get the file's full path into the clipboard so
> you can paste it into a different application, then replace @" by @+
> and remove the " | norm p" at the end. For this you need access to the
> clipboard, e.g. running in gvim (of any flavour), or in a GUI-enabled
> Linux vim, or probably also on a Windows vim.exe but's been so long
> I've quit Windows I can't be sure in the latter case.
>
> Best regards,
> Tony.
I expect that after I hit 'cP' in normal mode, insert file's full path into the file itself immediately after the cursor.
But when I restart my gvim after I added this remap in _vimrc.
    nnoremap cP :let @p=expand('%:p') | norm "pp
The started message hits me 'E353:Nothing in register p'
I try to remove '| norm "pp', and restart my gvim, no start error, and hit cP in normal mode. Command line show me the command:
    :let @p=expand('%:p')
I need hit enter, and hit '"pp', to what I want.
How can I simply use 'cP' to get what I want?

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: how to get file fullpath to vim register?

Tony Mechelynck
On Sun, Aug 19, 2018 at 12:50 PM, Sand Glass <[hidden email]> wrote:

> On Sunday, August 19, 2018 at 5:50:00 PM UTC+8, Tony Mechelynck wrote:
>> On Sun, Aug 19, 2018 at 11:14 AM, Sand Glass <[hidden email]> wrote:
>> > On Saturday, April 7, 2018 at 2:21:50 PM UTC+8, Ni Va wrote:
>> >> Le samedi 7 avril 2018 08:02:45 UTC+2, Sand Glass a écrit :
>> >> > Sometimes I need to copy my editing file's full path to my vim register, how can I get it?
>> >>
>> >>
>> >>
>> >> :let @" = expand('%:p') | norm p
>> >>
>> >> you can map this command.
>> >>
>> >>
>> >> Nota: I do daily release of last Vim/Gvim ver on windows 64 bits by job_starting  git clone, and nmake build if it can help.
>> >
>> > I try to map this command in _vimrc like this:
>> > nnoremap cP :let @"=expand('%:p') | norm p
>> > But does not work, Is here somthing wrong?
>>
>> In what manner does it "not work"? What happens when you hit cP in
>> Normal mode then? Nothing? Or something else than what you expected?
>> And what did you expect? The above mapping should insert the file's
>> full path into the file itself immediately after the cursor. It won't
>> work if you haven't yet given a name to the file.
>>
>> If you want instead to get the file's full path into the clipboard so
>> you can paste it into a different application, then replace @" by @+
>> and remove the " | norm p" at the end. For this you need access to the
>> clipboard, e.g. running in gvim (of any flavour), or in a GUI-enabled
>> Linux vim, or probably also on a Windows vim.exe but's been so long
>> I've quit Windows I can't be sure in the latter case.
>>
>> Best regards,
>> Tony.
> I expect that after I hit 'cP' in normal mode, insert file's full path into the file itself immediately after the cursor.
> But when I restart my gvim after I added this remap in _vimrc.
>     nnoremap cP :let @p=expand('%:p') | norm "pp
> The started message hits me 'E353:Nothing in register p'
> I try to remove '| norm "pp', and restart my gvim, no start error, and hit cP in normal mode. Command line show me the command:
>     :let @p=expand('%:p')
> I need hit enter, and hit '"pp', to what I want.
> How can I simply use 'cP' to get what I want?

Oh, I see it now: the {rhs} of this mapping is an ex-command, so you
need <CR> at the very end to make Vim execute the ex-command (both
:let and :normal) and go back to Normal mode.

Best regards,
Tony.

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: how to get file fullpath to vim register?

Sand Glass
On Sunday, August 19, 2018 at 7:01:23 PM UTC+8, Tony Mechelynck wrote:

> On Sun, Aug 19, 2018 at 12:50 PM, Sand Glass <[hidden email]> wrote:
> > On Sunday, August 19, 2018 at 5:50:00 PM UTC+8, Tony Mechelynck wrote:
> >> On Sun, Aug 19, 2018 at 11:14 AM, Sand Glass <[hidden email]> wrote:
> >> > On Saturday, April 7, 2018 at 2:21:50 PM UTC+8, Ni Va wrote:
> >> >> Le samedi 7 avril 2018 08:02:45 UTC+2, Sand Glass a écrit :
> >> >> > Sometimes I need to copy my editing file's full path to my vim register, how can I get it?
> >> >>
> >> >>
> >> >>
> >> >> :let @" = expand('%:p') | norm p
> >> >>
> >> >> you can map this command.
> >> >>
> >> >>
> >> >> Nota: I do daily release of last Vim/Gvim ver on windows 64 bits by job_starting  git clone, and nmake build if it can help.
> >> >
> >> > I try to map this command in _vimrc like this:
> >> > nnoremap cP :let @"=expand('%:p') | norm p
> >> > But does not work, Is here somthing wrong?
> >>
> >> In what manner does it "not work"? What happens when you hit cP in
> >> Normal mode then? Nothing? Or something else than what you expected?
> >> And what did you expect? The above mapping should insert the file's
> >> full path into the file itself immediately after the cursor. It won't
> >> work if you haven't yet given a name to the file.
> >>
> >> If you want instead to get the file's full path into the clipboard so
> >> you can paste it into a different application, then replace @" by @+
> >> and remove the " | norm p" at the end. For this you need access to the
> >> clipboard, e.g. running in gvim (of any flavour), or in a GUI-enabled
> >> Linux vim, or probably also on a Windows vim.exe but's been so long
> >> I've quit Windows I can't be sure in the latter case.
> >>
> >> Best regards,
> >> Tony.
> > I expect that after I hit 'cP' in normal mode, insert file's full path into the file itself immediately after the cursor.
> > But when I restart my gvim after I added this remap in _vimrc.
> >     nnoremap cP :let @p=expand('%:p') | norm "pp
> > The started message hits me 'E353:Nothing in register p'
> > I try to remove '| norm "pp', and restart my gvim, no start error, and hit cP in normal mode. Command line show me the command:
> >     :let @p=expand('%:p')
> > I need hit enter, and hit '"pp', to what I want.
> > How can I simply use 'cP' to get what I want?
>
> Oh, I see it now: the {rhs} of this mapping is an ex-command, so you
> need <CR> at the very end to make Vim execute the ex-command (both
> :let and :normal) and go back to Normal mode.
>
> Best regards,
> Tony.
I got it. Need <CR>/enter to normal mode.
    nnoremap cP :let @p=expand('%:p')<CR>:norm "pp<CR>

By the way, I find another my environment operation bug.
For example, I need add the 'cP' shortcut function into my _vimrc. I am not sure the first time I will do it right. So I need save my editing file status into a file by using 'mksession' command. Now I have two files 'test.txt' and '_vimrc' in editing.
But mksession will save the gvim startup _vimrc contents, not the _vimrc file that I changed it. So next time when I open gvim, still load the old _vimrc. My _vimrc changes not affected.

When I write a vim script, how can I debug quickly?
I will open a new topic.

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: how to get file fullpath to vim register?

Tim Chase
On 2018-08-19 05:04, Sand Glass wrote:
> I got it. Need <CR>/enter to normal mode.
>     nnoremap cP :let @p=expand('%:p')<CR>:norm "pp<CR>

Alternatively, you can simplify that by pasting the expression
register itself:

  nnoremap cP "=expand('%:p')<cr>p

which saves you from tromping over a register with the temporary
results.

-tim


--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
For more options, visit https://groups.google.com/d/optout.