{"id":13702700,"url":"https://github.com/taketwo/vim-ros","last_synced_at":"2025-04-04T18:09:14.618Z","repository":{"id":7434797,"uuid":"8773499","full_name":"taketwo/vim-ros","owner":"taketwo","description":"Vim plugin for ROS development","archived":false,"fork":false,"pushed_at":"2025-02-19T13:36:16.000Z","size":162,"stargazers_count":132,"open_issues_count":0,"forks_count":35,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-03-28T17:11:11.480Z","etag":null,"topics":["ros","vim","vim-plugin"],"latest_commit_sha":null,"homepage":"","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/taketwo.png","metadata":{"files":{"readme":"README.md","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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-03-14T10:59:22.000Z","updated_at":"2025-02-19T13:36:20.000Z","dependencies_parsed_at":"2024-08-08T13:32:40.904Z","dependency_job_id":"1ef874ce-a962-4d6e-a7b3-647db5a36f2e","html_url":"https://github.com/taketwo/vim-ros","commit_stats":{"total_commits":123,"total_committers":11,"mean_commits":"11.181818181818182","dds":0.1869918699186992,"last_synced_commit":"b914ec1d9a2f7e024ef6500dd0a9d44bb41c4cda"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taketwo%2Fvim-ros","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taketwo%2Fvim-ros/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taketwo%2Fvim-ros/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taketwo%2Fvim-ros/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/taketwo","download_url":"https://codeload.github.com/taketwo/vim-ros/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247226215,"owners_count":20904465,"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":["ros","vim","vim-plugin"],"created_at":"2024-08-02T21:00:41.018Z","updated_at":"2025-04-04T18:09:14.602Z","avatar_url":"https://github.com/taketwo.png","language":"Python","funding_links":[],"categories":["Development Environment"],"sub_categories":["Code and Run"],"readme":"This plugin activates itself for files that belong to some ROS1 package.\n\nFeatures\n========\n\nSets `\u0026makeprg` to `catkin_make`, `catkin build`, or `rosmake \u003cpackage-name\u003e` so\nthat the package, to which the file being edited belongs, could be built with\n`:make`.\n\nEditor commands\n---------------\n\n- `:A` to alternate between different kinds of C/C++ files (_.cpp_, _.cc_, _.h_, _.hh_, _.hpp_, _.impl_) in the current package\n- `:Roscd` to cd to an arbitrary ROS package (with tab-completion)\n- `:Rosed`/`:TabRosed`/`:SpRosed`/`:VspRosed` to open arbitrary files (with tab-completion of both\n  package and filenames)\n\nFiletype support\n----------------\n\n### Message, service, and action files\n\n- syntax highlighting\n- omni-completion for message types\n- goto message definition with `gd` command\n\n### Launch files\n\n- syntax highlighting (as xml + yaml inside `\u003crosparam\u003e` tags)\n- syntax check (if [Syntastic][] is available)\n- omni-completion\n  * package names\n  * node and nodelet names\n  * substitution args\n  * environment variables\n  * paths with `$(find ...)` substitution\n- goto file with `gf` command when the cursor is on a tag\n  * with 'file' attribute\n  * with an attribute that has a value matching `$(find ...` pattern\n\n### Xacro files\n\n- syntax highlighting (as xml)\n- goto file with `gf` command (when the cursor is on a tag with 'filename'\n  attribute)\n\n### Dynamic reconfigure files\n\n- syntax highlighting (as python)\n\nIntegration with other plugins\n==============================\n\n`vim-ros` integrates with several other plugins out of the box. This section\nlists the plugins and explains suggested configuration.\n\nYouCompleteMe\n-------------\n\n\u003e [YouCompleteMe][] is is a fast, as-you-type, fuzzy-search code completion\n\u003e engine for Vim.\n\n`vim-ros` provides semantic completion for ROS filetypes via omni-complete\nfunctions. YouCompleteMe will automatically use them, however if you want the\ncompletion to be magically triggered as you type, you have to associate proper\ntriggers with ROS filetypes in your `.vimrc`:\n\n```viml\nlet g:ycm_semantic_triggers = {\n\\   'roslaunch' : ['=\"', '$(', '/'],\n\\   'rosmsg,rossrv,rosaction' : ['re!^', '/'],\n\\ }\n```\n\nUltiSnips\n---------\n\nSyntastic\n---------\n\nInstallation\n============\n\nIt is recommended to install `vim-ros` using [vim-plug][]. The (somewhat dated)\nalternatives are [Vundle][] or [pathogen][].\n\nThis plugin makes use of `rospkg` and (optionally) `catkin-tools` Python\npackages. Run the following command in your terminal to make sure that they are\ninstalled (replace `vim` with `nvim` if necessary):\n\n```bash\nvim -c \"python3 import pip._internal; pip._internal.main(['install', 'rospkg', 'catkin-tools'])\" -c \"qall\"\n```\n\nOptions\n=======\n\n- `g:ros_make` [current|all] Controls which package to build\n- `g:ros_catkin_make_options` Additional options for catkin_make (i.e '-j4 -DCMAKE_BUILD_TYPE=Debug' ...)\n- `g:ros_disable_warnings` Suppress warnings about lack of Python 3 support and/or inability to import `rospkg`.\n\nContributing\n============\n\nThe plugin is written in Python and includes a shim to make interfacing with Vim\nas easy as it could possibly be. Therefore, extending the plugin does not\nrequire knowledge of the peculiarities of Vim Script. Contributions are welcome!\n\nAcknowledgments\n===============\n\nInspired by the [vim-rails][] plugin.\n\nLicense\n=======\n\nMIT License. Copyright (c) 2013-2025 Sergey Alexandrov.\n\n[pathogen]: https://github.com/tpope/vim-pathogen\n[Vundle]: https://github.com/gmarik/vundle\n[vim-plug]: https://github.com/junegunn/vim-plug\n[vim-rails]: https://github.com/tpope/vim-rails\n[Syntastic]: https://github.com/scrooloose/syntastic\n[YouCompleteMe]: https://github.com/Valloric/YouCompleteMe\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaketwo%2Fvim-ros","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftaketwo%2Fvim-ros","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaketwo%2Fvim-ros/lists"}