8 ms·
The Ultimate Vim Distribution
- papaver 14y agothe problem with packs... there is so much stuff to ingest, most of the stuff goes unused. learn to use default vim first. then start adding aliases and macros as need to speed up things. most of the plugins mentioned are useless to me. default vim is super powerful as it is. why try to fix problems that aren't there? the beauty of vim is the unique way each user approaches it. every time i sit next to a vimmer i'm like 'how the hell did you do that!" same thing that happens when vimmers watch me code. ive been using vim for 6+ years now, i still haven't even got close to using 10% of it, and i daily use around 50 or so key commands.
- seanponeil 14y agoThis seems very similar to Janus (https://github.com/carlhuda/janus https://github.com/carlhuda/janus). It has almost the exact same bundles and setup process.
- spf13 14y agoSee my comment above. It's similar. Some material differences are that It doesn't require Ruby on the host system to install. This is a huge difference. It only requires git and vim to install. The bundles have some similarities, but again key differences here are that none of these bundles require vim being compiled with +python or +ruby support. Lastly it's focused working well for editing any language in any OS. No criticisms of Janus, it's a good project, just took a different approach to the same problem.
- jlgreco 14y agoI have said it before here when people have discussed packaging up Vim stuff, and I stick by it: I really don't see this taking off. Switching to using this does not appeal to me, an existing Vim user, and I think I am not an exception. If this does something new that I like I'll gladly throw that part into my setup, but there really isn't any reason at all that I can see for wanting to use this. I don't think this is good for new Vim users either. If you are new to Vim there already is no shortage of things to learn (I think GVim steps up in this role nicely). Throwing more things into the mix isn't going to help a thing. And as you (slowly) pick up more and more of stock Vim, you are going to naturally build up your own setup. Before you know it you'll be at the same point that I think existing users are generally at. This all said, I'm also a zsh user who cannot fathom why oh-my-zsh is popular...
- tammer 14y agoHere here. The only vim-related thing new users need to know about is vimtutor. These tools are designed to be complex so as to not limit the user. If you throw everything at them at once there's no way to understand how everything fits together. I see the same problem in suggesting that people start learning zsh by installing oh-my-zsh.
- Symmetry 14y agoIn term sof new stuff that's true, but there are a lot of things that modern plugins provide that obsolete the traditional way of doing things. For instance, people using EasyMotion never have to worry about counting how many words ahead they're moving and then typing c69w or whatever. And likewise, there are some things that everybody should have in their .vimrc, like incremental search, and it doesn't make sense to learn to use the old way first.
- jlgreco 14y agoThere can absolutely be improvement on some default Vim settings. 'hlsearch' should definetly be the default, and I think it is a crime that 'hidden' isn't. There are easily dozens of other examples. However I think these should be made defaults in Vim itself, not in some grabbag of stuff we hand new users on their way in. I think it is important that every Vim user knows exactly what ways their setup differs from the default, and this is only feasible if every difference from the default (the real default) is made by the user.
- adambyrtek 14y ago> 'hlsearch' should definetly be the default Not really. I often use (incremental) search just to move around, and I don't want the highlight to distract me, especially with a really common pattern. I would consider using it if the highlight disappeared immediately after the search is over, but as far as I know there is no such setting, so I only enable it from time to time. This just proves that it's really hard to agree on defaults.
- 14y ago
- Symmetry 14y agoWow, that's a lot of good stuff. I'd recommend this to anyone starting with vim.
- keithpeter 14y agoI think that is the point. Anyone starting now can make their own decisions and approach an enriched distribution like this with new eyes (beginner's mind?) Anyone else might just need a 'standard' vim because they work on remote terminals into servers on which custom packages cannot be installed, or perhaps they are used to the 'old ways'.
- johncoltrane 14y agoI wouldn't recommend it to anybody, even less to beginners. $ vimtutor and how to use the documentation, that's what I'd recommend to beginners.
- andyl 14y agoLike everything except vundle. (I use tpope's pathogen) Pre-packaged vim on github is a very nice way to distribute.
- mcrittenden 14y agoI'm curious as to why you (or anyone) would prefer pathogen to vundle? Vundle just seems like pathogen except with less manual work.
- jlgreco 14y agoI switched from Pathogen to Vundle, at the prodding of people on HN, and I can't say I am all that thrilled about the difference. It basically does what Pathogen does, plus it does a bit more. The issue is that the "bit more" that it does just doesn't seem... polished.. to me, and covers things that I never found troublesome to do manually anyway. I'm not going to switch back (since it does what Pathogen does there isn't a reason), but I don't think it is better, just different.
- wahnfrieden 14y agoVundle is strictly better unless you automate your software updates and want to be able to update your vim plugins without having to launch vim to do so. Pretty tenuous but maybe some sysadmin-inclined people really prefer this.
- spf13 14y agoI previously used pathogen + git submodules .. It was very challenging to manage and much harder to keep up to date. Vundle has proved a significantly better system for keeping things managed and uses the exact same approach and code as pathogen. It's hard to criticize vundle and support pathogen since they are so similar.
- owenjones 14y agoYou can update your bundles straight from the command line with: vim +BundleInstall! +qall Vim still opens but could be useful if you're trying to automate vim somehow.
- JosephRedfern 14y agoInstalled it, but now I'm getting this error when starting vim: > E117: Unknown function: fugitive#statusline > E15: Invalid expression: fugitive#statusline()
- spf13 14y agoplease report this issue in Github. I'd be happy to help.. It sounds like fugitive is being triggered in a directory that isn't being tracked by git... but it would be better to continue the dialogue on Github.
- JosephRedfern 14y agoOK, Great. I'll report it later on tonight.
- exogen 14y agoI realize this is a different project, but since it looks similar: installing Janus was the worst decision I ever made while looking to improve my Vim experience. It actually made Vim worse, sometimes by just slowing things down, other times because of the lack of quality control in the bundled plugins. One plugin actually caused data loss many times – it completely froze the editor when a certain syntax pattern was typed. All with just the default Janus settings. To that effect, I hope quality control in spf13 is really, really good.
- olalonde 14y agoI think you are an exception. I can't get anything done with vanilla Vim (no smart indentation for instance) and install Janus anytime I need to use Vim on a new shell.
- sigzero 14y agoA couple of lines in your .vimrc and boom you have that and more.
- deleted 14y ago[deleted]
- olalonde 14y ago... or one bash command to install Janus.
- alexkus 14y agoI've used vi/vim for ~20 years (I have memories of using it in '92 when I had an Amiga B2000) and I've never installed a single extension/package/what-not. The corporate development environment I'm in means it's a huge amount of work to get anything installed on a wide range of platforms (6 different OSes not including Windows) and on a large number of machines. For various security reasons, my home directory is not shared amongst all of the machines, which could have made it easier. However, the main reason is that I often go to customers to solve problems and I have to use what they have installed. I can't go asking someone to install vim and a bunch of extensions on their production servers just to make me feel comfy; I have to rely on the lowest common denominator set of basic tools that are usually installed; vi (even ed), sed, awk, sh (can't even rely on bash being installed). Don't get me wrong, I've nothing against people using vim with a whole bunch of extensions, it's just not for me. But not being proficient in the basics can be a bad thing, especially when it's usually a tricky/pressured situation where you're left without your favourite dev environment.
- DiabloD3 14y agoI don't get why this is loaded down with useless plugins... if you're using ctrlp/command-t, you don't need nerdtree. Vundle isn't as good as pathogen, neocomplcache isn't as good as supertab + clang_complete, and it lacks gundo, rooter, ultinips, and maybe other things. https://github.com/Diablo-D3/dot_vim https://github.com/Diablo-D3/dot_vim
- wahnfrieden 14y agoHow is vundle worse?
- DiabloD3 14y agoI dunno, I had problems trying to make it do something, but I forget what. I almost want to say it was git submodule related, but it was like a year or more ago.
- wahnfrieden 14y agoIf I'm not mistake, vundle doesn't use git submodules, pathogen does.
- jlgreco 14y agoPathogen just uses a directory tree. Some users decide to use git submodules in it.
- adhipg 14y agoWhy would you need submodule support with vundle? With vundle you don't even need to have your .vim directory as a part of the 'dotFiles' repository - it just accepts a list of plugin (github/vimscript/whatever) urls that you want to install.
- amadeus 14y agoSo then why the hell did you say Pathogen was better than Vundle? Vundle is Pathogen + crack. People should think about what they say.
- theoreticalee 14y agoI just installed this last night. I'm comparing it with https://github.com/fisadev/fisa-vim-config https://github.com/fisadev/fisa-vim-config Right now, fisa is slightly ahead because it is a bit faster.
- alwillis 14y agoDistributions like these are good for people who just need to use Vim, not necessarily for people who want to learn Vim. It's often better for people to add plugins and update their vimrc file as they learn Vim and figure out what their Vim style is. This article helped me with my 2nd attempt to learn Vim: "Your first vimrc should be nearly empty" http://vimuniversity.com/samples/your-first-vimrc-should-be-nearly-empty http://vimuniversity.com/samples/your-first-vimrc-should-be-...
- njharman 14y ago> curl http://j.mp/spf13-vim3 http://j.mp/spf13-vim3 -L -o - | sh I'm stunned that anyone would pipe from internet to shell. No SSL and redirecting just make it easier for the bad guy. It makes me angry that people are promoting this as an install method. Like suggesting your first name as a good password.
- spf13 14y agoIf you have any concerns there are also manual install instructions. SSL is a good idea. I should absolutely switch over to that.
- dredmorbius 14y agoHere's my suggestion: Post the manual installer methods. Post checksums. Sign your checksums.
- erydo 14y agoIgnoring the SSL bit, from a security standpoint is piping to the shell really any different than saying "run this installer application"? Either way you're allowing the source to run arbitrary commands on your computer.
- dredmorbius 14y agoYes. For me to trust an installer, implicitly, it's best for it to be part of my software distribution's package management system. This means that the package is signed and checksummed, it's included in the distro's bugtracking system, and is being downloaded from a known set of mirrors. Your next best option is to provide a download, checksums, and signatures, with a well-signed PGP/GPG key. At this point I can at least verify that the content is what you claim it is (whether or not that's something I plan on running is quite another matter). Even a git repo provides a SHA1 checksum of a given commit that I can reference. By recommending I curl-pipe-bash something, you're sending me a FLAGRANT signal that your security practices are somewhere well north of batshit crazy. I ran into this while evaluating RVM (Ruby enVironment Manager), which itself turned out to be a requirement (or at least facilitator) for properly using Ruby for, of all things, supporting a Chef (configuration management tool) infrastructure. So ... in order to get a better handle on our server infrastructure ... the recommended and default practice is to install crap via curl-pipe-bash. That cost us about six weeks of going through the damned installer and its effects (documentation is really poor) with a very fine-toothed comb. And I'm still not happy using it.
- ggchappell 14y agoFiglet sighting. Standard font, output edited a little. :-)
- johncoltrane 14y agoYet another set nocompatible. In "The Ultimate Vim Distribution", no less. I can't understand why anybody would want to use that kind of "distribution". All the vimrc tweaking and plugin dance is actually very beneficial in the first few months because it forces beginners to learn a lot of basics and, above all, how to use the help. And, well… experienced users already have a vimrc tweaked to hell and their own set of plugins.
- nvmc 14y agoI never really had a problem with configuring vim and installing plugins manually. This seems like it'll make vim more daunting for new users, while getting in the way of experienced users.
- jason_slack 14y agoI dont like how the current line is always 0 and not the actual line number. How do I fix that? I have never seen this elsewhere. I must admit that this distro will help my workflow.
- wladimir 14y agoThat option is called "relativenumber". You can go back to normal numbering with "set number". I find it very useful myself, though, to quickly move to a line with relative commands such as 10j, or select ranges, delete a number of lines, etc... The only case in which I really need absolute line numbers is when jumping to a line for an error message (luckily G key will always use absolute line numbers).
- jason_slack 14y agoDo you know what to change in .vimrc to stop using relative number by default? I looked around and nothing with "relative" and I do see a 'set nu'
- humiaozuzu 14y agoI'm using this one which is much better http://github.com/humiaozuzu/dot-vimrc http://github.com/humiaozuzu/dot-vimrc
- nshankar 14y agoCtrlp link is broken - use this: https://github.com/kien/ctrlp.vim https://github.com/kien/ctrlp.vim
- fine 14y agoI think this is fantastic. For beginners and not so much beginners, it is a great way to start with a very complete system for developing and build on/customize it the way you like. You don't lose any customization power as others have said. I just renamed my .vimrc to .vimrc.local and that's all, everything is working plus I earned a lot of extra-plugins that I didn't even know about. I love it, thanks to the autor/s
- nshankar 14y agoI personally swear by https://github.com/scrooloose/vimfiles.git https://github.com/scrooloose/vimfiles.git installation. It doesn't go by some fancy name but does its work outstandingly. I have added to its vimrc wherever it deems fit. ASK HN: I am looking out for jumping out to a CSS selector in a css file from the HTML file I am editing for quite sometime in one key. Please see if you can guide me on this.
- trhtrsh 14y agoIs Martin Grenfell scrooloose the author of NERD and syntastic, or just copied them onto github?
- symmetricsaurus 14y agoI think it is good for showing some different plugins and configuration options available in Vim. I think I will use the the included .vimrc file and plugins to look at to get ideas for my own .vimrc. The default in the distribution makes my Vim look like a christmas tree, which I don't really like.