{"id":13862760,"url":"https://github.com/masasam/emacs-helm-tramp","last_synced_at":"2025-09-23T20:58:36.499Z","repository":{"id":110990293,"uuid":"78088776","full_name":"masasam/emacs-helm-tramp","owner":"masasam","description":"Tramp helm interface for ssh and docker and ‎vagrant","archived":false,"fork":false,"pushed_at":"2023-07-14T10:54:19.000Z","size":19725,"stargazers_count":70,"open_issues_count":0,"forks_count":8,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-02T00:51:16.581Z","etag":null,"topics":["docker","emacs","emacs-lisp","helm","melpa","ssh","tramp","vagrant"],"latest_commit_sha":null,"homepage":"","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/masasam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2017-01-05T07:06:39.000Z","updated_at":"2024-10-30T20:14:54.000Z","dependencies_parsed_at":"2024-04-25T01:32:55.890Z","dependency_job_id":"2fb5137e-e5d3-4214-b5f8-4ee2018caca9","html_url":"https://github.com/masasam/emacs-helm-tramp","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/masasam/emacs-helm-tramp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/masasam%2Femacs-helm-tramp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/masasam%2Femacs-helm-tramp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/masasam%2Femacs-helm-tramp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/masasam%2Femacs-helm-tramp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/masasam","download_url":"https://codeload.github.com/masasam/emacs-helm-tramp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/masasam%2Femacs-helm-tramp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276647749,"owners_count":25679621,"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","status":"online","status_checked_at":"2025-09-23T02:00:09.130Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["docker","emacs","emacs-lisp","helm","melpa","ssh","tramp","vagrant"],"created_at":"2024-08-05T06:01:51.879Z","updated_at":"2025-09-23T20:58:36.449Z","avatar_url":"https://github.com/masasam.png","language":"Emacs Lisp","funding_links":[],"categories":["Emacs Lisp"],"sub_categories":[],"readme":"# helm-tramp [![melpa badge][melpa-badge]][melpa-link] [![melpa stable badge][melpa-stable-badge]][melpa-stable-link] [![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n\nTramp helm interface for ssh server and docker and vagrant\n\n## Screencast\n\n![helm-tramp-gif](image/helm-tramp.gif)\n\n    M-x helm-tramp\n\n![helm-tramp1](image/image1.png)\n\nDisplay server list from your ~/.ssh/config with helm interface.\n\n![helm-tramp2](image/image2.png)\n\nFilter by helm.\n\n![helm-tramp3](image/image3.png)\n\nYou can connect your server with tramp.\n\n![helm-tramp4](image/image4.png)\n\nSelecting the list with sudo will lead to the server as root.\nSelecting the list of '/sudo:root@localhost:/' will open file at localhost as root.\n\n![helm-tramp5](image/image5.png)\n\nYou can edit your server's nginx.conf on your emacs!\n\n![docker-tramp](image/docker-tramp.png)\n\nIf you are using [docker-tramp](https://github.com/emacs-pe/docker-tramp.el), docker is also supplemented.\nIf you are using [vagrant-tramp](https://github.com/dougm/vagrant-tramp), vagrant is also supplemented.\n\n![docker-tramp1](image/docker-tramp1.png)\n\nYou can edit docker container on your emacs!\n\n\thelm-tramp-quit\n\nWhen you finish editing nginx.conf you clean the tramp buffer with `helm-tramp-quit` command.\n\n## Requirements\n\n- Emacs 24.3 or higher\n- helm 2.0 or higher\n\n## Installation\n\nYou can install `helm-tramp.el` from [MELPA](http://melpa.org) with package.el\n(`M-x package-install helm-tramp`).  \nYou can install `docker-tramp.el` from [MELPA](http://melpa.org) with package.el\n(`M-x package-install docker-tramp`).  \nIf you use Emacs version \u003e= 29.0.60 then docker-tramp is no longer necessary as this functionality is built-in to Tramp.  \nYou can install `vagrant-tramp.el` from [MELPA](http://melpa.org) with package.el\n(`M-x package-install vagrant-tramp`).\n\nI recommend you are going to install [exec-path-from-shell]( https://github.com/purcell/exec-path-from-shell).\n\n## Sample Configuration\n\n\t(setq tramp-default-method \"ssh\")\n    (define-key global-map (kbd \"C-c s\") 'helm-tramp)\n\n## If you want to speed up tramp\n\n\t(add-hook 'helm-tramp-pre-command-hook '(lambda () (global-aggressive-indent-mode 0)\n\t\t\t\t\t     (projectile-mode 0)\n\t\t\t\t\t     (editorconfig-mode 0)))\n\t(add-hook 'helm-tramp-quit-hook '(lambda () (global-aggressive-indent-mode 1)\n\t\t\t\t      (projectile-mode 1)\n\t\t\t\t      (editorconfig-mode 1)))\n\nSetting hook that turn off slow extensions when you execute helm-tramp.\nSetting hook that turn on extensions when you execute `helm-tramp-quit` command.\n\nIf you don't make a backup files and lockfiles at remote server, it will be saved faster.\n\n\t(setq make-backup-files nil)\n\t(setq create-lockfiles nil)\n\n## Misc setting\n\nBesides ~/.ssh/config, you can add connections manually.\n\n\t(setq helm-tramp-custom-connections '(/ssh:domain|sudo:user@localhost:/))\n\nExample when adding more than two connections manually.\n\n\t(setq helm-tramp-custom-connections '(/ssh:domain|sudo:user@localhost:/ /ssh:domain2|sudo:user@localhost:/))\n\t\nIf the shell of the server is zsh it is recommended to connect with bash.\n\n    (eval-after-load 'tramp '(setenv \"SHELL\" \"/bin/bash\"))\n\nIf you want to specify the user name to connect with docker-tramp.\n\n\t(setq helm-tramp-docker-user \"username\")\n\nIf you want to specify multiple user name list to connect with docker-tramp.\n\n\t(setq helm-tramp-docker-user '(\"username1\" \"username2\" \"username3\" \"username4\"))\n\nIf you want to change initial directory when connecting with /sudo:root@localhost:.\n\n\t(setq helm-tramp-localhost-directory \"/root\")\n\n## Support for top-level sshconfig include\n\nIn addition to normal .ssh/config, it also supports the following format.\n\n~/.ssh/config\n\n    Include conf.d/work\n\tInclude conf.d/personal\n\n~/.ssh/conf.d/work\n\n    Host instance\n\t\t\tHostName ************\n\t\t\tUser ************\n\t\t\t\n    Host archtest\n\t\t\tHostName ************\n\t\t\tUser ************\n\n    Host debiantest\n\t\t\tHostName ************\n \t\t\tUser ************\n\n    Host centostest\n\t\t\tHostName ************\n\t\t\tUser ************\n\n~/.ssh/conf.d/personal\n\n    Host myserver\n\t\t\tHostName ************\n\t\t\tUser ************\n\t\t\t\n    Host myhost\n\t\t\tHostName ************\n\t\t\tUser ************\n\nBelow is not support\n\n~/.ssh/config\n\n    Include conf.d/**\n\n## Support controlmaster paths\n\nYou can use it as follows.\n```\n(setq helm-tramp-control-master t)\n```\nSet ~/.ssh/config as below\n```\nHost *\n  ControlMaster auto\n  ControlPath ~/.ssh/master-%r@%h:%p\n  ControlPersist 30m\n  ServerAliveInterval 60\n```\nExecute the ssh command as follows\n```\nssh ubuntu@1.1.1.1\n```\n~/.ssh/master-ubuntu@1.1.1.1 will be generated automatically.\nEven if there is no connection setting in ~/.ssh/config, helm-tramp can complement like bellow.\n\n\t/ssh:ubuntu@1.1.1.1:\n\t/ssh:ubuntu@1.1.1.1|sudo:root@1.1.1.1:/\n\n[melpa-link]: http://melpa.org/#/helm-tramp\n[melpa-badge]: http://melpa.org/packages/helm-tramp-badge.svg\n[melpa-stable-link]: http://stable.melpa.org/#/helm-tramp\n[melpa-stable-badge]: http://stable.melpa.org/packages/helm-tramp-badge.svg\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmasasam%2Femacs-helm-tramp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmasasam%2Femacs-helm-tramp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmasasam%2Femacs-helm-tramp/lists"}