{"id":27257821,"url":"https://github.com/amitdev/vimpy","last_synced_at":"2025-04-11T03:18:42.931Z","repository":{"id":66080302,"uuid":"2179847","full_name":"amitdev/vimpy","owner":"amitdev","description":"A plugin to make managing python project easier with Vim.","archived":false,"fork":false,"pushed_at":"2011-12-08T13:39:26.000Z","size":122,"stargazers_count":15,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-08-25T00:55:04.894Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.vim.org/scripts/script.php?script_id=3752","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amitdev.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-08-09T14:58:42.000Z","updated_at":"2024-08-25T00:55:04.895Z","dependencies_parsed_at":"2023-02-19T22:10:16.518Z","dependency_job_id":null,"html_url":"https://github.com/amitdev/vimpy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amitdev%2Fvimpy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amitdev%2Fvimpy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amitdev%2Fvimpy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amitdev%2Fvimpy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amitdev","download_url":"https://codeload.github.com/amitdev/vimpy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248333598,"owners_count":21086225,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-11T03:18:42.299Z","updated_at":"2025-04-11T03:18:42.922Z","avatar_url":"https://github.com/amitdev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"VimPy\n=====\n\nThis Vim plugin is to make navigation of Python files easier with Vim. If you have a large python project, navigating to multiple files may not be easy. There are various ways to make it easier like using ctags/ptags, gf over the python path etc. But it does not work well with multiple files with same name, going to a praticular class/function etc.\n\nFeatures\n========\n\nCurrently it provides two functions - Open and Goto.\nOpen can be used to open any python module in the project by module name, class name or function.\nGoto can be used to goto a module name, class name or function based on token in a file.\n\nUsage\n=====\nUsage is similar to how ctags/ptags work in Vim. Basically there are 2 steps:\n\n1. Create the index file.\n   Use `:VimpyCreate \u003cproject-name\u003e path [exclude-path]` to create index. (Alternatively, the vimpy.py script can be invoked using python to create the index file. See 'python vimpy.py' for usage.)\n   This is a one time operation. The index will be automatically updated if you edit the files using vim, otherwise this can be rerun and only the changed files will be updated.\n\n2. Load the index file in Vim. This can be done using ':VimpyLoad \u003cfile-name\u003e' inside Vim. This can automated by adding in the vimrc.\nNow it is ready to use! Following commands (the Keybindings can be changed in vimpy.vim) can be used to navigate to any desired module:\n\n    - \u003cleader\u003e om : Open Module. Go to a module with a given name. \n    - \u003cleader\u003e oc : Open Class. Go to a class with a given name. \n    - \u003cleader\u003e of : Open Function. Go to a funtion with a given name. \n    - \u003cleader\u003e gm : Goto Module given by word under cursor (Eg. use this to navigate to a module under an 'import' statement).\n    - \u003cleader\u003e gc : Goto Class given by word under cursor. \n    - \u003cleader\u003e gf : Goto Function given by word under cursor. \n\nAll of them has auto completion support, so you just need to type in few characters and press \u003ctab\u003e.\n[\u003cleader\u003e is typically the '\\' character, but you can change it to anything (One good option is ',')].\n\nTODO\n====\n\nThere are lots of things to do. Major ones being:\n\n - Support packages\n - Make the goto option more intelligent\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famitdev%2Fvimpy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famitdev%2Fvimpy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famitdev%2Fvimpy/lists"}