Vim Tips Wiki
Register
(Move Category to end)
(Change <tt> to <code>, perhaps also minor tweak.)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
  +
{{TipNew
{{TipProposed
 
|id=0
+
|id=1546
|previous=0
+
|previous=1545
|next=0
+
|next=1547
|created=February 7, 2008
+
|created=2008
 
|complexity=basic
 
|complexity=basic
 
|author=Legner
 
|author=Legner
 
|version=7.0
 
|version=7.0
  +
|subpage=/200802
  +
|category1=Python
  +
|category2=
 
}}
 
}}
I was interested in using <tt>gf</tt> (goto file) in my Python source code to open Python files. To enable this to work, I added the following to my the vim file that is loaded when I start to edit a *.py file:
+
You can use <code>gf</code> (goto file) in Python source code to open an imported Python file.
  +
  +
Put the following in a script in:
  +
*<code>~/.vim/after/ftplugin/python.vim</code> &nbsp;&nbsp; (on Unix systems)
  +
*<code>$HOME/vimfiles/after/ftplugin/python.vim</code> &nbsp;&nbsp; (on Windows systems)
   
 
<pre>
 
<pre>
 
python << EOF
 
python << EOF
 
import os
 
import sys
 
import sys
 
import vim
 
import vim
import os
 
 
 
for p in sys.path:
 
for p in sys.path:
# Check for existance before trying to add.
+
# Add each directory in sys.path, if it exists.
 
if os.path.isdir(p):
 
if os.path.isdir(p):
# Replace spaces in paths to avoid errors.
+
# Command 'set' needs backslash before each space.
 
vim.command(r"set path+=%s" % (p.replace(" ", r"\ ")))
 
vim.command(r"set path+=%s" % (p.replace(" ", r"\ ")))
 
EOF
 
EOF
 
</pre>
 
</pre>
   
This allows you to use gf or CTRL-W_CTRL_F to open the file under the cursor. It works pretty well, particularly for imports of the form:
+
This allows you to use <code>gf</code> or Ctrl-W Ctrl-F to open the file under the cursor. It works pretty well. particularly for imports of the form:
 
 
<pre>
 
<pre>
 
import abc.def.module
 
import abc.def.module
Line 31: Line 36:
   
 
But not so well with:
 
But not so well with:
 
 
<pre>
 
<pre>
 
from abc.def import module
 
from abc.def import module
 
</pre>
 
</pre>
   
==Comments==
+
==References==
  +
*{{help|python}}
  +
*{{help|gf}}
  +
*{{help|CTRL-W_CTRL-F}}
  +
*{{help|after-directory}}
   
  +
==Comments==
----
 
[[Category:Python]]
 

Latest revision as of 06:31, 13 July 2012

Tip 1546 Printable Monobook Previous Next

created 2008 · complexity basic · author Legner · version 7.0


You can use gf (goto file) in Python source code to open an imported Python file.

Put the following in a script in:

  • ~/.vim/after/ftplugin/python.vim    (on Unix systems)
  • $HOME/vimfiles/after/ftplugin/python.vim    (on Windows systems)
python << EOF
import os
import sys
import vim
for p in sys.path:
    # Add each directory in sys.path, if it exists.
    if os.path.isdir(p):
        # Command 'set' needs backslash before each space.
        vim.command(r"set path+=%s" % (p.replace(" ", r"\ ")))
EOF

This allows you to use gf or Ctrl-W Ctrl-F to open the file under the cursor. It works pretty well. particularly for imports of the form:

import abc.def.module

But not so well with:

from abc.def import module

References[]

Comments[]