Loading ...
Sorry, an error occurred while loading the content.
 

Copy the full path of the file opened in my current buffer.

Expand Messages
  • Arup Rakshit
    Hi, How can I copy the output of Ctrl-G ? I want to get the and copy the full path of the file opened in my current buffer. I got Ctrl-G from the
    Message 1 of 7 , May 29 5:01 AM
      Hi,

      How can I copy the output of Ctrl-G ? I want to get the and copy the full path of the file opened in my current buffer. I got Ctrl-G from the http://vim.wikia.com/wiki/Get_the_name_of_the_current_file, which is showing the output as I want. But how to copy the output ?

      --
      --
      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 vim_use+unsubscribe@....
      For more options, visit https://groups.google.com/d/optout.
    • Ellis Kenyo
      From the page you showed, %y should. ... -- -- You received this message from the vim_use maillist. Do not top-post! Type your reply below the text you are
      Message 2 of 7 , May 29 6:16 AM

        From the page you showed, "%y should.

        On 29 May 2014 13:02, "Arup Rakshit" <tuka.08@...> wrote:
        Hi,

        How can I copy the output of Ctrl-G ? I want to get the and copy the full path of the file opened in my current buffer. I got Ctrl-G from the http://vim.wikia.com/wiki/Get_the_name_of_the_current_file, which is showing the output as I want. But how to copy the output ?

        --
        --
        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 vim_use+unsubscribe@....
        For more options, visit https://groups.google.com/d/optout.

        --
        --
        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 vim_use+unsubscribe@....
        For more options, visit https://groups.google.com/d/optout.
      • Tim Chase
        ... and then paste it with ap -tim -- -- You received this message from the vim_use maillist. Do not top-post! Type your reply below the text you are
        Message 3 of 7 , May 29 6:38 AM
          On 2014-05-29 05:01, Arup Rakshit wrote:
          > How can I copy the output of Ctrl-G ? I want to get the and copy
          > the full path of the file opened in my current buffer.

          You can assign it to a register such as "a":

          :let @a=expand('%:p')

          and then paste it with

          "ap

          -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 vim_use+unsubscribe@....
          For more options, visit https://groups.google.com/d/optout.
        • Arup Rakshit
          ... Thanks. I am away from my PC, so not able to test it. Just wanted to know ap will copy the file path to *clipboard* right ? Basically I want it to copy
          Message 4 of 7 , May 29 6:51 AM
            On Thursday, May 29, 2014 08:38:51 AM Tim Chase wrote:
            > On 2014-05-29 05:01, Arup Rakshit wrote:
            > > How can I copy the output of Ctrl-G ? I want to get the and copy
            > > the full path of the file opened in my current buffer.
            >
            > You can assign it to a register such as "a":
            > :let @a=expand('%:p')
            >
            > and then paste it with
            >
            > "ap

            Thanks. I am away from my PC, so not able to test it. Just wanted to know "ap
            will copy the file path to *clipboard* right ? Basically I want it to copy and
            paste in my console for my project related works.


            --
            ================
            Regards,
            Arup Rakshit

            --
            --
            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 vim_use+unsubscribe@....
            For more options, visit https://groups.google.com/d/optout.
          • David Fishburn
            ... I do this so often that I added the following to my .vimrc: if has( win32 ) nnoremap fn :let @*=substitute(expand( %:p ), / , , g ) else
            Message 5 of 7 , May 29 7:15 AM
              On Thu, May 29, 2014 at 9:38 AM, Tim Chase <vim@...> wrote:
              On 2014-05-29 05:01, Arup Rakshit wrote:
              > How can I copy the output of Ctrl-G ? I want to get the and copy
              > the full path of the file opened in my current buffer.

              You can assign it to a register such as "a":

                :let @a=expand('%:p')

              I do this so often that I added the following to my .vimrc:

              if has('win32')
                  nnoremap <Leader>fn :let @*=substitute(expand("%:p"), "/", "\\", "g")<cr>
              else
                  nnoremap <Leader>fn :let @*=expand("%:p")<cr>
              endif

              So on Windows (primary platform), when I use the mapping it converts to backslashes so that I can for example attach the file to an email, or whatever.  When on *nix, just use the filename.

              But I copy the filename into the system clipboard.

              HTH,
              David

              --
              --
              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 vim_use+unsubscribe@....
              For more options, visit https://groups.google.com/d/optout.
            • Ben Fritz
              ... Um...no. This command is two parts. a specifies register a , which is internal to Vim. This is NOT the system clipboard. p is the put or paste
              Message 6 of 7 , May 29 8:31 AM
                On Thursday, May 29, 2014 9:52:15 AM UTC-5, Arup Rakshit wrote:
                >
                > Thanks. I am away from my PC, so not able to test it. Just wanted to know "ap
                >
                > will copy the file path to *clipboard* right ? Basically I want it to copy and
                >
                > paste in my console for my project related works.
                >
                >

                Um...no.

                This command is two parts. '"a' specifies register 'a', which is internal to Vim. This is NOT the system clipboard. 'p' is the "put" or "paste" command. So this command pastes from an internal register, it does not copy to the system clipboard.

                For that, instead of :let @a=expand("%:p") you need to specify the system clipboard:

                :let @+=expand("%:p")

                This assumes your Vim is compiled to be capable of copy-paste with the system clipboard.

                --
                --
                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 vim_use+unsubscribe@....
                For more options, visit https://groups.google.com/d/optout.
              • Tony Mechelynck
                ... Note: On Unix (and similar), unlike on Windows, there are two system clipboards . + is used for Edit→Copy, Edit→Cut and Edit→Paste in most programs
                Message 7 of 7 , Jun 7, 2014
                  On 29/05/14 16:15, David Fishburn wrote:
                  > On Thu, May 29, 2014 at 9:38 AM, Tim Chase <vim@...
                  > <mailto:vim@...>> wrote:
                  >
                  > On 2014-05-29 05:01, Arup Rakshit wrote:
                  > > How can I copy the output of Ctrl-G ? I want to get the and copy
                  > > the full path of the file opened in my current buffer.
                  >
                  > You can assign it to a register such as "a":
                  >
                  > :let @a=expand('%:p')
                  >
                  >
                  > I do this so often that I added the following to my .vimrc:
                  >
                  > if has('win32')
                  > nnoremap <Leader>fn :let @*=substitute(expand("%:p"), "/", "\\",
                  > "g")<cr>
                  > else
                  > nnoremap <Leader>fn :let @*=expand("%:p")<cr>
                  > endif
                  >
                  > So on Windows (primary platform), when I use the mapping it converts to
                  > backslashes so that I can for example attach the file to an email, or
                  > whatever. When on *nix, just use the filename.
                  >
                  > But I copy the filename into the system clipboard.
                  >
                  > HTH,
                  > David
                  >

                  Note: On Unix (and similar), unlike on Windows, there are two "system
                  clipboards". "+ is used for Edit→Copy, Edit→Cut and Edit→Paste in most
                  programs (including in gvim when you use its menus). "* is used for
                  middle-click paste, and is replaced by something else as soon as you
                  select anything in any program's window. On Windows both are one and the
                  same. So if you want to copy the filename where another program can get
                  it by Edit→Paste, use "+ and not "* so it will work even when you aren't
                  on Windows.


                  Best regards,
                  Tony.
                  --
                  Friendships last when each friend thinks he has a slight superiority
                  over the other.
                  -- Honoré de Balzac

                  --
                  --
                  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 vim_use+unsubscribe@....
                  For more options, visit https://groups.google.com/d/optout.
                Your message has been successfully submitted and would be delivered to recipients shortly.