Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I wouldn't dream of speaking for every vim user, but from casual observation it seems to me that `vim`ers tend to shed plugins as they get more experienced, instead of using more and more of them. So I believe your experience is quite typical.


> tend to shed plugins

There’s a practical side to that - the biggest benefit of vi(m) is that it’s _always_ there, no matter where you’re shelled in to. However, their vi doesn’t have your plugins. So if you get used to using plain-vanilla vi, you won’t be lost when you sit down at (or ssh into) somebody else’s computer.


>> down at (or ssh into) somebody else’s computer.

Why would you develop software over SSH is seriously beyond me.

Eg are you actually SSHing into your running docker containers to edit code? The only language that allows for it is PHP - because any other language is either compiled or needs modules to be reloaded.

Are you viewing large datasets in csv files through vim? - This can’t possibly work as vim requires them loaded into memory.

Are you editing config files on your servers using vim? - Do you not use automation to set everytting up on the servers?


> SSHing into your running docker containers to edit code

no, not primarily

A few use cases:

1) I'm on a bastion host, and I need to knock up a script to run there

2) I'm working at home, and I don't want turn on the VPN, I SSH into my workstation and develop as if I was on the workstation

3) I need to change a conf/script/other because something is wrong, and the edit->commit->change config run-> test cycle is more than 2 seconds.

4) I'm in a container, debugging something and I want to edit a file (mostly python here so no need to compile) docker build-> run -> retry is painfully slow, and leaves loads of mess.

5) I'm working on a headless box somewhere or other.

6) I'm debugging on someone else's workstation

I only really work with vim in a terminal, so doing it over SSH isn't actually all that noticeable. It does gets to be a problem when the latency is > 200ms


> Why would you develop software over SSH is seriously beyond me.

I love that this straw-man argument pops up in every thread I read about editing text or IDE debate.

As someone who leverages SSH in their average work day I can explain my personal reasons. Let me be clear; this is likely not the way you work but it is how I work. I am not defending the merits of this for you but that they warrant my approval. If any debate is to be made in this it is that all users have a choice and those who prefer SSH should have every right to use it irregardless of any unemphatic assertions to the contrary.

I have a Linux desktop that has two very nice and pretty monitors. Given a choice I would wish my development to take place on that machine. However, the development I do is on a work computer that happens to be a small Mac Laptop (I don't get to choose the hardware I must develop on). Of all the different methods to edit files I found that SSH into the laptop from the Linux box to be the most efficient and eloquent solution while still keeping the work information on the work computer. I edit in Vim. I test with the browser running on the Mac. I can clearly see and manipulate the source on the pretty monitor while seeing the results on the little LCD screen.

Pairing like this is a huge win. Instead of Forcing a pair partner to wait for me to Alt-Tab the right screen they can connect via SSH (tmate.io) and on their end have their terminal on one monitor and the Zoom / screen share on the other. This way they can edit or watch and see the result without any ask to Alt-Tab. I can read the code while they look at the result. It is truly asynchronous code-pairing.


ssh'ing into an AWS box to share a tmux session is a great way to pair program.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: