Hacker News new | past | comments | ask | show | jobs | submit login

I can't really fault both of these tools at all. They have good defaults and are easy to configure and are well documented. Of course they are very performant too, but if you take the time to configuring your wildignore, learn how to use find's and rgrep's flags (maybe script some of this with shell or vimscript if necessary) you can get close to the performance of these tools and define your own usability if needed. Basically I'm saying two things and can I just state that this is what works for me; that learning the included tools is worthwhile and not having to install and setup additional tools is good, especially when you are using lots of different machines. Again for Vim specifically, I'm enjoying having a small amount of keybindings for built in functionality (:b*, :vimgrep) than having a ton of plugins. I just have to move a single .vimrc around or failing that I understand how it all works by default anyway.

(Edit: typo)




Not to argue with you as I see where you're coming from (all things being equal I too usually go with the defaults) but the argument about "not having to install and setup additional tools...on lots of different machines" is very weak in these days of:

git clone https://gitlab.com/myaccount/mydotfiles

followed by an optional:

./deploy_stuff_if_required

which for me I have working on any number of linux boxes as well as the odd windows one. I've got a bunch of other config, such as bash aliases/functions etc anyway so if I'm going to want that everywhere it doesn't matter what else comes with it; I only need to perform the above once and it takes under a couple of seconds; there's just literally no reason not to do it.

One advantage of using vim-related config is precisely so you can do the same thing on different machines, including windows and linux. One thing that article doesn't touch on is tmux, and there you can have config for vim, tmux and bash so that you can effortlessly and identically move between panes in tmux as you do in vim; copy text between panes, ssh sessions and vim buffers etc. Without this system I'd be running multiple ssh sessions in little windows and copying text between them (using the mouse!) like a doofus.


If you are allowed to git clone random repositories and execute binaries from them (presumably pulling more random dependencies) then I'm going to say you do not (or should not) manage what most people expect when "lots of different machines" is what is said.


Note that not every machine I SSH into has git installed or provides me with permission to install it.

Disclaimer: I recently made one of these "dotfiles" repositories anyways, to take of that what you will.


Assuming it's hosted on something like GitHub, you can just as easily download a zip/tarball of the repository instead.


A copy is, so I can grab my bashrc if I need it. However, it’s still impossible to install things on certain systems…


If it's the "too complicated to bother" sort of "impossible" as opposed to "denied by the company security policies", you can always use linuxbrew or nix.

https://docs.brew.sh/Homebrew-on-Linux

https://nixos.org/nix/


Its not the technical capability.

Yes, you could download random scripts from the internet and execute them, and you'll probably get into trouble once an auditor checks your system.

Not a nice experience. Would not recommend.


Yes that's a good point. I also have a dotfiles repo and I actually go one step further in that most things are organised into Ansible roles, for my laptop locally and for remote machines if necessary. But as the other responses have suggested it's also to include times when using a dotfiles approach isn't possible or desired. Also, not that it's a day job thing for me, but it's handy being more portable across the Unices. I am especially interested in both NetBSD and OpenBSD (and most of my work colleagues develop on macOS). Some "newer" tools might of course be readily available in the base packages or ports but being able to use the defaults in Linux and other Unices is good. Of course there is still the different flag issue due to GNUisms vs everything else but then when you factor in a cloud virtual machine with might be running a different distro to you locally or container images that you may only use interactively, I think it ends up being easier and simpler to learn the defaults rather than having to deal with different package systems or manual compilation. Again this is how I work and is my opinion, nothing against these tools or the people using them.


I do hope you don't do this on production servers!


Who develops on production servers?


> not having to install and setup additional tools is good, especially when you are using lots of different machines

the person you initially responded to was likely referring to ssh connections to servers


Not everyone is a developer. Still have application and system admins, especially where segregation of duties exists due to security requirements


Non-developers need to change the state of machines on occasion, yes. You're saying there's something about using dotfiles and vim plugins which are inherently less safe than using other open source and proprietary software? Why? (If it's the plug-ins you're worried about there's nothing to stop you forking a version you're happy with; copying to your own corporate repo etc).


>especially when you are using lots of different machines.

I always get into trouble due to inconsistencies across unix environments, and still don’t understand all the different greps I’ve encountered. I absolutely love these newer tools that shed all the attempts at unix-grey-beard backwards-compatibility..

(This is ofc completely subjective)




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: