gitpod icon indicating copy to clipboard operation
gitpod copied to clipboard

Epic: Vim as an explicit IDE preference

Open loujaybee opened this issue 3 years ago • 17 comments
trafficstars

We currently have access to workspaces via SSH, however adding Vim would make it a first-class citizen as part of the Gitpod experience. Alongside this we should consider what we can do to ensure things like dotfiles are also setup, and that workspaces potentially already load with vim + other similar tools such as tmux. This would support experiments such as https://github.com/gitpod-io/gitpod/issues/6707 where vim configuration can be presented to the user as part of onboarding.

Relates to:

  • https://github.com/gitpod-io/workspace-images/pull/825
  • https://github.com/gitpod-io/gitpod/issues/9377
  • https://github.com/gitpod-io/gitpod/issues/10105
  • https://github.com/gitpod-io/gitpod/issues/17928

loujaybee avatar Apr 14 '22 12:04 loujaybee

@loujaybee I haven't researched this in depth about this yet, but here are some early designs on what I had in mind for https://github.com/gitpod-io/gitpod/issues/7713#issuecomment-1140534710. Cc @josepjaume

Editors :a: Editors :b: Workspace Start
Editors Editors StartDropdown

gtsiolis avatar May 30 '22 20:05 gtsiolis

I love this @gtsiolis! I would personally go for the first option for consistency with the rest of the IDE options :). Can't wait to be able to use this!

josepjaume avatar Jun 08 '22 12:06 josepjaume

The first option looks great! And when the workspace starts, the user would be able to choose an application to open the ssh links instead Vscode.

fcsonline avatar Jun 08 '22 12:06 fcsonline

@fcsonline - what application(s) are you opening for your local terminal, currently? Do you open just one, or multiple applications (like your terminal) on desktop? Having this option certainly removes some friction for command-line users, but I'm also curious about what other desktop applications you're configuring outside of the IDE / editor itself.

loujaybee avatar Jun 08 '22 13:06 loujaybee

Right now none, but this would let me to associate a script to open a Terminal and enter to the Gitpod automatically. It would awesome.

fcsonline avatar Jun 08 '22 15:06 fcsonline

Right now none, but this would let me to associate a script to open a Terminal and enter to the Gitpod automatically. It would awesome.

That indeed would be very awesome! I'm just thinking, in order for such a thing to work, gitpod will need to use a trigger a custom URL scheme registered on the users local machine to pass the ball to the user for deciding what to do 🤔

axonasif avatar Jun 08 '22 18:06 axonasif

@loujaybee: alongside this we should consider what we can do to ensure things like dotfiles are also setup.

I think this is very relevant for ensuring a seamless experience as with VSCODE: https://github.com/gitpod-io/gitpod/issues/7592 You definitely don't want to wait for your (neo)vim setup or anything else to be finalized before your workspace can start.

While https://github.com/gitpod-io/gitpod/issues/8716 could be an alternative for this case, so users could just mount their pre-built .config/X, .cache/X and etc. dirs across workspace.

axonasif avatar Jun 08 '22 18:06 axonasif

Right now none, but this would let me to associate a script to open a Terminal and enter to the Gitpod automatically. It would awesome.

That indeed would be very awesome! I'm just thinking, in order for such a thing to work, gitpod will need to use a trigger a custom URL scheme registered on the users local machine to pass the ball to the user for deciding what to do 🤔

Exactly. With a custom schema, we would be able to assign an application/script to do whatever. I would great!

fcsonline avatar Jun 09 '22 05:06 fcsonline

As an emacs user I feel discriminated against. 😭

david-bakin avatar Nov 04 '22 01:11 david-bakin

Wanted to share a (unofficial) dotfiles based solution for this in case someone finds it useful for now.

https://user-images.githubusercontent.com/39482679/204090871-7abfb4b0-d757-40cb-ab0f-52f0ba5ccbd0.mp4

  • https://github.com/axonasif/dotsh

axonasif avatar Nov 29 '22 13:11 axonasif

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Mar 18 '23 05:03 stale[bot]

Not stale

sigmaSd avatar Mar 18 '23 06:03 sigmaSd

Gitpod-NVIM from Your Menubar ✌️

Building upon @axonasif's awesome dotsh config! 🧡

  • https://github.com/gitpod-samples/Gitpod-Raycast-Extension/issues/52

https://user-images.githubusercontent.com/73993394/232240942-a1479740-df09-4927-973c-e8794b64095d.mov

henit-chobisa avatar Apr 15 '23 17:04 henit-chobisa

Hi!

It would complement this feature to have the generated SSH command include the list of port forwards defined in the .gitpod.yml file. Not sure if this was considered, but since the default is going to be the SSH connection string dialog, and nothing else is going to be launched in the user's workstation, port translation would need to be addressed.

PabloScolpino avatar Jul 28 '23 14:07 PabloScolpino

Hi @PabloScolpino, I think you're looking for https://www.gitpod.io/blog/local-app If you keep the local-companion-app program running in the background, it will take care of port forwarding for you.

Also, shameless plug: A wrapper around SSH for port forwarding: https://github.com/axonasif/gssh

axonasif avatar Jul 31 '23 11:07 axonasif

Not entirely resolving this issue, but definitely related:

https://www.gitpod.io/changelog/code-in-the-terminal-without-leaving-your-browser!

Drop any feedback here: https://github.com/gitpod-io/gitpod/issues/17724

loujaybee avatar Sep 01 '23 13:09 loujaybee

@loujaybee came here to say that!

jwpjrdev avatar Sep 01 '23 14:09 jwpjrdev