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

Re: Cannot use gf to go to file, path seems set

Expand Messages
  • Jacobo de Vera
    ... I have a similar situation at work, where stuff is compiled inside a chrooted environment, yet editing happens outside, so full paths in files are really
    Message 1 of 10 , Nov 1, 2011
    • 0 Attachment
      On Tue, Nov 1, 2011 at 13:32, Dotan Cohen <dotancohen@...> wrote:
      > On Tue, Nov 1, 2011 at 01:06, Gary Johnson <garyjohn@...> wrote:
      >> The problem is that that last segment of the path name,
      >> /includes/functions_misc.php,  begins with a "/" which Vim
      >> understands to mean the beginning of an absolute path.  See
      >>
      >>    :help 'path'
      >>
      >
      > i see, Gary, that makes sense. Is there any workaround? This is a huge
      > (>80000 files) application, full of include()s and require()s.
      >
      > Thanks.
      >
      >

      I have a similar situation at work, where stuff is compiled inside a
      chrooted environment, yet editing happens outside, so full paths in
      files are really relative when editing. What I do is to visually
      select the path, excluding the initial slash, and then use gf, which
      will work on the selected text only.

      Perhaps there is a faster way to do this, I'd love to hear about it.

      Regards,

      --
      Jacobo de Vera
      http://www.jacobodevera.com
      @jovianjake

      --
      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
    • Dotan Cohen
      ... Thank you thank you thank you! This is exactly what I need: to know _where_ to find the info, without starting In the beginning ... Thank you! ... I won t
      Message 2 of 10 , Nov 1, 2011
      • 0 Attachment
        On Tue, Nov 1, 2011 at 18:21, Gary Johnson <garyjohn@...> wrote:
        > Right.  Here's how I would approach it.
        >
        > I know that in an ex command, <cfile> is a token that is replaced by
        > the name of the file under the cursor, so I would start there.
        >
        >    :help <cfile>
        >
        > Then I know that the substitute() function will let me delete the
        > leading /.
        >
        >    :help substitute()
        >
        > Finally, I know that the :find command is the ex equivalent of the
        > normal-mode gf command.
        >
        >    :help :find
        >
        > To help put those together into a mapping, there are overviews of
        > mapping here:
        >
        >    :help 05.3
        >    :help 40.1
        >
        > which I found by going to the table of contents for the user manual,
        >
        >    :help toc
        >
        > and searching for "map".
        >
        > A very useful command for executing ex commands with variable
        > arguments is :execute:
        >
        >    :help :execute
        >

        Thank you thank you thank you! This is exactly what I need: to know
        _where_ to find the info, without starting "In the beginning"... Thank
        you!


        > Putting that all together, I came up with this:
        >
        >    nnoremap gf :exe 'find' substitute(expand('<cfile>'), '^/', '', '')<CR>
        >

        I won't look at that just yet! But I will compare notes after I piece
        mine together, or if I get too stuck.

        Again, thank you! I will figure this out and post back.


        --
        Dotan Cohen

        http://gibberish.co.il
        http://what-is-what.com

        --
        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
      • Dotan Cohen
        ... Gary, I am still a bit stuck in creating my own remap, so I am using yours in production until I learn the method. It works perfect. Thank you for both
        Message 3 of 10 , Nov 2, 2011
        • 0 Attachment
          On Tue, Nov 1, 2011 at 18:21, Gary Johnson <garyjohn@...> wrote:
          > Right.  Here's how I would approach it.
          >
          > I know that in an ex command, <cfile> is a token that is replaced by
          > the name of the file under the cursor, so I would start there.
          >
          >    :help <cfile>
          >
          > Then I know that the substitute() function will let me delete the
          > leading /.
          >
          >    :help substitute()
          >
          > Finally, I know that the :find command is the ex equivalent of the
          > normal-mode gf command.
          >
          >    :help :find
          >
          > To help put those together into a mapping, there are overviews of
          > mapping here:
          >
          >    :help 05.3
          >    :help 40.1
          >
          > which I found by going to the table of contents for the user manual,
          >
          >    :help toc
          >
          > and searching for "map".
          >
          > A very useful command for executing ex commands with variable
          > arguments is :execute:
          >
          >    :help :execute
          >
          > Putting that all together, I came up with this:
          >
          >    nnoremap gf :exe 'find' substitute(expand('<cfile>'), '^/', '', '')<CR>
          >

          Gary, I am still a bit stuck in creating my own remap, so I am using
          yours in production until I learn the method. It works perfect. Thank
          you for both giving to me the tools to teach myself and also the
          solution to learn from and to be productive in the meantime. Your help
          and advice is greatly appreciated!


          --
          Dotan Cohen

          http://gibberish.co.il
          http://what-is-what.com

          --
          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
        • Dotan Cohen
          ... A few posts back Gary outlined a remap just for this. It is an excellent post, I recommend going over it rather than just copying the end result here. --
          Message 4 of 10 , Nov 2, 2011
          • 0 Attachment
            On Tue, Nov 1, 2011 at 17:27, Jacobo de Vera <devel@...> wrote:
            > I have a similar situation at work, where stuff is compiled inside a
            > chrooted environment, yet editing happens outside, so full paths in
            > files are really relative when editing. What I do is to visually
            > select the path, excluding the initial slash, and then use gf, which
            > will work on the selected text only.
            >
            > Perhaps there is a faster way to do this, I'd love to hear about it.
            >

            A few posts back Gary outlined a remap just for this. It is an
            excellent post, I recommend going over it rather than just copying the
            end result here.

            --
            Dotan Cohen

            http://gibberish.co.il
            http://what-is-what.com

            --
            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
          Your message has been successfully submitted and would be delivered to recipients shortly.