{"id":13898302,"url":"https://github.com/LucHermitte/vim-refactor","last_synced_at":"2025-07-17T15:32:59.240Z","repository":{"id":28787007,"uuid":"32309764","full_name":"LucHermitte/vim-refactor","owner":"LucHermitte","description":"Generic Refactoring Plugin for Vim","archived":false,"fork":false,"pushed_at":"2021-08-10T10:42:16.000Z","size":274,"stargazers_count":109,"open_issues_count":1,"forks_count":1,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-08-07T18:45:56.708Z","etag":null,"topics":["refactorings","vim","vim-plugins"],"latest_commit_sha":null,"homepage":"","language":"Vim script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LucHermitte.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"License.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-16T08:03:00.000Z","updated_at":"2024-04-30T08:55:57.000Z","dependencies_parsed_at":"2022-07-24T12:00:05.126Z","dependency_job_id":null,"html_url":"https://github.com/LucHermitte/vim-refactor","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LucHermitte%2Fvim-refactor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LucHermitte%2Fvim-refactor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LucHermitte%2Fvim-refactor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LucHermitte%2Fvim-refactor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LucHermitte","download_url":"https://codeload.github.com/LucHermitte/vim-refactor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226274763,"owners_count":17598860,"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":["refactorings","vim","vim-plugins"],"created_at":"2024-08-06T18:04:13.232Z","updated_at":"2024-11-25T04:31:09.298Z","avatar_url":"https://github.com/LucHermitte.png","language":"Vim script","readme":"# vim-refactor v2.0.0 [![Last release](https://img.shields.io/github/tag/LucHermitte/vim-refactor.svg)](https://github.com/LucHermitte/vim-refactor/releases) [![Project Stats](https://www.openhub.net/p/21020/widgets/project_thin_badge.gif)](https://www.openhub.net/p/21020)\n## Features\n\nlh-refactor is a generic refactoring plugin.\n\nSo far it supports the following refactorings (v0.2.2):\n  * Extract Function,\n  * Extract Variable,\n  * Extract Type,\n  * Extract Getter \u0026 Extract Setter, _(it's more a generate than an extract actually)_\nand the following languages: C, C++, Java, Pascal, VimL.\n\nThe list of languages supported can be extended (however some refactoring work in the plugin is required to simplify that part)\n\nThe complete documentation can be browsed [in the repository](doc/refactor.txt)\n\n## Mappings\n### Visual-mode Mappings (not available in Select-mode)\n  * `\u003cC-X\u003ef` to eXtract a Function\n  * `\u003cC-X\u003ev` to eXtract a Variable\n  * `\u003cC-X\u003et` to eXtract a Type\n### Normal-mode Mappings\n  * `\u003cC-X\u003eg` to eXtract a Getter, and `\u003cC-X\u003es` to eXtract a Setter\n  * `\u003cC-X\u003ep` and `\u003cC-X\u003eP` to Put back the definition that as been extracted\n\n#### Note\n\nThe extraction refactorings don't put back anything. The position in the code\nwhere the extracted things are to be placed are left to end-user appreciation.\nThis has to be done with `\u003cC-X\u003ep` and `\u003cC-X\u003eP`.\n\n## Installation\n  * Requirements: Vim 7.+, [lh-vim-lib](http://github.com/LucHermitte/lh-vim-lib), [lh-brackets](http://github.com/LucHermitte/lh-brackets), [lh-dev](http://github.com/LucHermitte/lh-dev) (and thus [lh-tags](http://github.com/LucHermitte/lh-tags)), and [lh-style](http://github.com/LucHermitte/lh-style)\n  * With [vim-addon-manager](https://github.com/MarcWeber/vim-addon-manager), install lh-refactor. This is the preferred method because of the various dependencies.\n\n    ```vim\n    ActivateAddons lh-refactor\n    ```\n\n  * or you can clone the git repositories (expecting I haven't forgotten anything):\n\n    ```\n    git clone git@github.com:LucHermitte/lh-vim-lib.git\n    git clone git@github.com:LucHermitte/lh-tags.git\n    git clone git@github.com:LucHermitte/lh-dev.git\n    git clone git@github.com:LucHermitte/lh-style.git\n    git clone git@github.com:LucHermitte/lh-brackets.git\n    git clone git@github.com:LucHermitte/vim-refactor.git\n\n    # For experimental function extraction\n    git clone git@github.com:LucHermitte/mu-template.git\n    git clone git@github.com:tomtom/stakeholders_vim.git\n    ```\n\n  * or with Vundle/NeoBundle (expecting I haven't forgotten anything):\n\n    ```vim\n    Bundle 'LucHermitte/lh-vim-lib'\n    Bundle 'LucHermitte/lh-tags'\n    Bundle 'LucHermitte/lh-dev'\n    Bundle 'LucHermitte/lh-style'\n    Bundle 'LucHermitte/lh-brackets'\n    Bundle 'LucHermitte/vim-refactor'\n\n    \" For experimental function extraction\n    Bundle 'LucHermitte/mu-template'\n    Bundle 'tomtom/stakeholders_vim'\n    ```\n\n## See also\n  * Klaus Horsten's tip: [Vim as refactoring tool (with examples in C#)](http://vim.wikia.com/wiki/Vim_as_a_refactoring_tool_and_some_examples_in_C_sharp)\n  * [lh-cpp](http://github.com/LucHermitte/lh-cpp) defines a few other refactoring-like functionalities:\n    * Generate accessor and mutator (`:ADDATTRIBUTE`),\n    * Generate default body given a function signature (`:GOTOIMPL`)\n  * [Refactoring.com](http://www.refactoring.com/catalog/index.html)\n\n","funding_links":[],"categories":["Vim Script"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLucHermitte%2Fvim-refactor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLucHermitte%2Fvim-refactor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLucHermitte%2Fvim-refactor/lists"}