Pydiction Version: 0.5 Author: Ryan (gt3) Kulla. ambiod@sbcglobal.net Date: Jan 2004 Description: pydiction is a special dictionary file of Python modules for use with vim's completion feature. Pydiction.py is a program that generates the pydiction file and you can use it to add your project's own modules to it. When you supply a module name to pydiction.py it will generate the modules contents in 2 forms. The first form will be a list of the modules contents with the module name prefixed such as: module.function1( module.function1( module.nonfunction1 module.nonfunction2 ... The first format is useful when you "import module" and are required to type the module prefix. The second form will be a list of just the module's method names without the module prefix: function1( function2( nonfunction1 nonfunction2 ... The second form is useful when you "from module import functions". "pydiction.py" Usage: pydiction.py module1 module2.. Example: The following will append all the time and math module's attributes to the file "pydiction" with and without the "time." and "math." prefixes: pydiction.py time math If you supply the -v option to pydiction.py it will dump the output to your screen instead of appending it to the pydiction file: pydiction.py -v time math "pydiction dictionary file" Usage: Put the following lines in your vimrc file: if has("autocmd") autocmd FileType python set complete+=k/path/to/pydiction iskeyword+=.,( endif " has("autocmd") Now you can simply hit Control-n (n=next) or Control-p (p=previous) to complete Python code. (type ":help completion" in vim for more details) Example: Typing the following (in insert mode): os.lis will expand to: os.listdir( You can also leave out the module. Example: lis will expand to: listdir( More examples: la = lambda wx = wxPython twisted.pr = twisted.protocols (Keep hitting Ctrl-n to see twisted.protocols.*) __b = __builtin__ (Ctrl-n again = __builtins__) sys.getr = sys.getrecursionlimit( sy = sys.getrecursionlimit( (Vim remembers you've just used it) If there are multiple entries for an abbreviation, you'll be givin a list of names to choose from. Currently Supported Python Modules: __builtin__, __main__, __future__, os, os.walk, sys, datetime, time, locale, atexit, readline, rlcompleter, types, UserDict, UserList, UserString, operator, inspect, traceback, linecache, pickle, cPickle, copy_reg, shelve, copy, marshal, warnings, imp, pkgutil, code, codeop, pprint, repr, new, site, user, string, re, struct, difflib, fpformat, StringIO, cStringIO, textwrap, codecs, encodings, unicodedata, stringprep, pydoc, doctest, unittest, test, math, cmath, random, whrandom, bisect, heapq, array, sets, itertools, ConfigParser, fileinput, xreadlines, cmd, shlex, dircache, stat, statcache, statvfs, filecmp, popen2, sched, mutex, getpass, curses, getopt, optparse, tempfile, errno, glob, fnmatch, shutil, gettext, logging, signal, socket, select, thread, threading, dummy_thread, dummy_threading, Queue, mmap, anydbm, dbhash, whichdb, bsddb, dumbdbm, zlib, gzip, bz2, zipfile, tarfile, posix, pwd, grp, crypt, dl, gdbm, termios, tty, pty, fcntl, pipes, resource, syslog, commands, pdb, profile, hotshot, timeit, webbrowser, cgi, cgitb, urllib, urllib2, httplib, ftplib, gopherlib, poplib, imaplib, nntplib, smtplib, telnetlib, urlparse, SocketServer, BaseHTTPServer, SimpleHTTPServer, CGIHTTPServer, Cookie, xmlrpclib, SimpleXMLRPCServer, DocXMLRPCServer, asyncore, asynchat, formatter, email, mailcap, mailbox, mhlib, mimetools, mimetypes, MimeWriter, mimify, multifile, rfc822, base64, binascii, binhex, quopri, uu, xdrlib, netrc, robotparser, csv, HTMLParser, sgmllib, htmllib, htmlentitydefs, xml.parsers.expat, xml.dom, xml.dom.minidom, xml.dom.pulldom, xml.sax, xml.sax.handler, xml.sax.saxutils, xml.sax.xmlreader, xmllib, audioop, imageop, aifc, sunau, wave, chunk, colorsys, rgbimg, imghdr, sndhdr, hmac, md5, sha, rotor, Tkinter, Tix, ScrolledText, turtle, rexec, Bastion, parser, symbol, token, keyword, tokenize, tabnanny, pyclbr, py_compile, compileall, dis, distutils, compiler, compiler.ast, compiler.visitor, msvcrt, _winreg, winsound, pygame, wxPython, twisted, Numeric, numarray, ldap Currently Supported Keywords: and del for is raise assert elif from lambda return break else global not try class except if or while continue exec import pass yield def finally in print --- Other modules will be supported in future versions