sponsor Vim development Vim logo Vim Book Ad

python tag import : guesses the import path of a python tag

 script karma  Rating 0/0, Downloaded by 2639  Comments, bugs, improvements  Vim wiki

created by
Michael Brown
 
script type
ftplugin
 
description
(Note this plugin is superceded by rope.vim).

repo: http://github.com/mjbrownie/Python-Tag-Import/tree/master. bugs/suggestions welcome

visual example here http://ttyshare.com/rec/michael/77604285/

This is for when you remember the name of a library function/class but not the module.path it is under

Eg. on a new line type. (control-b in insert mode is the default key but can be changed. see below)

funcname<c-b>
to get complete import  options eg

from foo.bar.module import funcname
import foo.bar.module as module

etc.

In normal mode <leader>i will create an import for the current word

You can customise the import statements to your style preferences in your .vimrc eg

let g:pythontagimport_from = 0
turns off
from  foo.bar.module import funcname

let g:pythontagimport_from_mod = 0
turns off
from foo.bar import module #module.funcname

let g:pythontagimport_as = 0
turns off
import foo.bar.module as module #module.funcname

let g:pythontagimport_full  = 0
turns off
import foo.bar.module #foo.bar.module.funcname


" Usage:
"
"           You need a ctags file with the --fields=+i
"           option set
"
"           on a new line type the function you want to import
"           then hit the complete key
"          
"           eg. type on a line
"          
"           some_func
"           hit <c-b>in insert mode and get
"           from some.app.module.path import some_func
"
"           hotkey:
"               insert mode map.
"               <c-b> is the current default.
"
"           variables:
"
"               g:pythontagimportkey
"                   the key used to complete function
"                   parameters and key words.
"
"Limitations:
"
"           This plugin is only as smart as your tags file.
"           Completion is created through inspecting the filename
"           in the tags file so functions that are rereferenced will not be
"           picked up. I put this out there in the hope someone can do
"           some fancy introspective alternative.
"
"Options:
"           Setting the path can keep options relevant. At tht moment
"           it defaults to sys.path. It can come up with some bad guesses
"           Eg.
"           let g:python_path = ['/usr/lib/python2.4/site-packages/']

 
install details
 

rate this script Life Changing Helpful Unfulfilling 
script versions (upload new version)

Click on the package to download.

package script version date Vim version user release notes
python_tag_import.vim 0.3.1 2010-02-26 7.0 Michael Brown Uses getline for better expansion. Added a normal mode mapping to get the import statement forthe <cword>
python_tag_import.vim 0.3 2009-11-12 7.0 Michael Brown Added support for variations in python import statements. Eg. from ? import ?, import ? as ?, etc
python_tag_import.vim 0.1.1 2009-09-10 7.0 Michael Brown Fixed a bug introduced affecting relative directories
python_tag_import.vim 0.1 2009-09-09 7.2 Michael Brown Initial upload
ip used for rating: 216.73.216.208

Questions about Vim should go to the maillist. Help Uganda.     Vim at Github