10 ms·
Square open-sources its Vim repo, Maximum Awesome
- overshard 13y agoThis is cool but it seems silly to have the default install method to be using "rake", I love vim but keep Ruby off most of my systems, what happened to good ol' fashion shell scripts.
- slig 13y agoWhy is it silly? It's specific for OS X and OS X users already have ruby installed.
- akkartik 13y agoBecause everybody has at some point tried to run rake on a new project and found some version incompatibility along the depth of the abyss^Wstack.
- steveklabnik 13y agoHasn't bundler solved that particular problem for a few years?
- akkartik 13y agoBundler isn't installed by default. In practice I've found bundler to be just another layer that can have the wrong version: http://xkcd.com/927 http://xkcd.com/927. But I have no interest in bringing up old painful episodes, I'm done with the ruby eco-system. So I'll just restrict my response to the previous paragraph.
- alanctkc 13y agoThis configuration also includes the Command-T plugin, which has a Ruby dependency. For those looking for a Command-T alternative without Ruby, CtrlP is a great choice.
- Spiritus 13y agoAm I missing something? What makes this "maximum-awesome"? This is your average vimrc with the regular plugins you seen in every vimrc over at GitHub.
- the_cat_kittles 13y agoyea cmon, this is weak
- dreamdu5t 13y agoBecause it's Square and they're hip. Whenever they open the lids of their macbooks its you know... just awesome. Not to mention it's not maximum awesome: CtrlP > Command-T and Vundle > Pathogen.
- jlgreco 13y ago> Vundle > Pathogen I disagree on that front. Managing git repos is easier for me to do the way I always do it than with a slightly auto-magic system specific to those sort of git repos. Pathogen does a little, but does it flawlessly. Vundle does more, but the more it does is far less elegant.
- beaugunderson 13y agoI like unite + vimproc more than CtrlP: http://www.codeography.com/2013/06/17/replacing-all-the-things-with-unite-vim.html http://www.codeography.com/2013/06/17/replacing-all-the-thin... https://github.com/Shougo/unite.vim https://github.com/Shougo/unite.vim
- diego898 13y agoI second this. I was hesitant at first but after trying it for a couple of minutes after getting the tricky config right (thanks to some helpful bloggers) I was very happy. And shuogo was very responsive to new issues, providing fixes within hours sometimes.
- Aaronneyer 13y agoCommandT is nice for really large repos. At my last job, I worked on a very large rails codebase and CtrlP frequently took 5+ seconds to index, while CommandT was under one second. I also worked with the author of CommandT at that job, which was nice.
- wging 13y agoUnfortunate that they don't mention licensing at all. (EDIT: Whoops, I'm completely wrong. Sorry. Move along, nothing to see here.) Since they use Git submodules, some licensing is inherited from packages like Command-T and vim-fugitive... but they wrote code themselves as well, so there's also that.
- Anderkent 13y agoLICENSE is in root dir. It's Apache 2.0.
- cocoflunchy 13y agoIt seems to be licensed under Apache 2.0, from the Git repo.
- oron 13y agonot a cool question but ... I wonder if it will install on windows without problems
- overshard 13y agoIt won't, it's mac os x only from the looks of it, which is kinda silly.
- HunterWare 13y agoNot really, since it's developed by them and for them (a mac house). He seems pretty welcoming of your additions to make this Linux/Windows if you desire... but why on earth one would expect that THEY would have taken the time to make this multi-platform when they don't use it that way is honestly beyond me (i.e. silly).
- overshard 13y agoYes but VIM runs on everything, why make it Mac OS X specific when it's simplistic to make it "just use these vim files and it'll work on every computer"
- billnguyen 13y agoluckily its open sourced and someone can create a Windows distro if they are so inclined.
- spf13 13y agospf13-vim is completely cross platform and has about even distribution across the different platforms of users. http://vim.spf13.com http://vim.spf13.com
- dominotw 13y agomeh..
- Spiritus 13y agoHonestly, I agree. How is any of this news for any Vim user? It's the same old plugin everyone's been using for a long time now.
- moneypenny 13y agoOver-promises, under-delivers
- Timothee 13y agoI started using vim about a year ago, by using the janus vim distribution, which was great to get me started. However, I since started again from scratch to know what's there and why. So I won't be using this at all besides for the implicit recommendations of existing plugins (like the_silver_searcher, which is really crazy fast). Overall, this seems like a great way to get started with vim because it doesn't have too many plugins but it still has the minimum features expected from someone who used Sublime or Textmate. edit: looking at their .vimrc, there's a lot of stuff that I'll use right away. Definitely useful, just not as a straight download/install for me.
- mpk 13y agoNot to rain on anybody's parade here, but for first-time vim users I recommend not using any plugins and only selectively adding them one at a time after the basics (buffers, navigation, some ex mode, etc) are at least somewhat familiar. Getting started with plugins enabled makes it hard to understand where vim stops and plugins begin and make switching to a different (someone else's) vim setup confusing at best. It also tends to feed the 'make it work like the last editor I used' syndrome, which is completely counter-productive. Otherwise, nice work and good job open-sourcing it!
- enduser 13y agoUsing vi instead of vim for a while is also beneficial. It keeps one from learning bad behavior like typing 'i' and then hitting the arrow and necessitates learning about marks before being spoiled by the visual modes
- efnx 13y agoI definitely agree. Vim was much more confusing for me while still a beginner, partly because I started with first the spf-13 distro and then haskim, a haskell-focused distro. I didn't really start grasping how things worked until building up my own distro. The funny thing is that most distros I've seen still include many of the same plugins, making the end product only unique in the details. Those details however, are blockers once you're set in your ways...
- jlgreco 13y agoI absolutely agree. Trying to use 'oh-my-zsh bundle' analogues for Vim is absolutely the wrong approach (for that matter, I think oh-my-zsh itself is the wrong approach). There is enough to learn already, blurring the line between what Vim does and what plugins do does not help the situation at all. This said, I think these sort of dumps are great for experienced vim users who can pick through them and find individual fragments that they want to adopt.
- deleted 13y ago[deleted]
- fhd2 13y ago
- barakm 13y agoAs another commenter already pointed out, a common pattern is for people to try such a configuration, and end up starting again from scratch because, frankly, it doesn't work for them. Emphasis on "for them". I'm not saying you shouldn't share your setup. I wouldn't have learned vim (or screen back in the day, or pine, or many others) if I didn't crib from the dotfiles of those before me. But at some point, your setup becomes so customized to you that you're the only one it works for. And that's why vim and emacs, ancient editors, still exist -- they're stable and can be modernized and tailored to the user over time. This writeup (not mine) I completely agree with: http://mislav.uniqpath.com/2011/12/vim-revisited/ http://mislav.uniqpath.com/2011/12/vim-revisited/
- joelhooks 13y agoHere's a similar post from me http://joelhooks.com/blog/2013/04/09/getting-to-know-vim/ http://joelhooks.com/blog/2013/04/09/getting-to-know-vim/ Starting from blank and building my own dotfiles is what did the trick for me. Using a big ass template actually made it more difficult.
- jason_slack 13y agoI seem to be getting an error: Warning: Permanently added 'github.com,204.232.175.90' (RSA) to the list of known hosts. Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
- wavesounds 13y agoThis is a common git error, try http instead of ssh git clone https://github.com/square/maximum-awesome.git https://github.com/square/maximum-awesome.git
- jason_slack 13y agoI get an error when running rake: Checking connectivity... done Submodule path 'vim/bundle/jshint': checked out 'da21f0eb658d9af6696ee34a00c13d1717d85095' Cloning into 'vim/bundle/kwbd'... Permission denied (publickey). fatal: Could not read from remote repository.
- jason_slack 13y agothat worked, what is the common error though?
- wavesounds 13y agohttps://help.github.com/articles/generating-ssh-keys https://help.github.com/articles/generating-ssh-keys
- ollysb 13y agohttps://github.com/carlhuda/janus https://github.com/carlhuda/janus is a slightly more plugintastic distribution. There's a lot of plugins included and they've all been configured to work well with each other.
- saidajigumi 13y agoUm, what? There's a suite of 35 plugins used in Maximum Awesome. It's using Tim Pope's pathogen plugin[1], so they're all listed in .gitmodules instead of directly in the .vimrc or in an included bundle file as with Vundle[2]. [1] https://github.com/tpope/vim-pathogen https://github.com/tpope/vim-pathogen [2] https://github.com/gmarik/vundle https://github.com/gmarik/vundle
- nilkn 13y agoGreat to see some love for tmux. Terminal vim + tmux is a lot more powerful than Gvim or MacVim. That said, I started using vim with Janus and while it convinced me that vim could be a great modern editor, it left me too confused when I tried to make my own customizations. I ended up ditching it and hand-picking my own plugins. I suspect a completely new vim user would likely experience the same process with Maximum Awesome. Still, that doesn't mean these curated sets of plugins are a bad idea--if anything they can serve as a proof of concept for people who aren't yet convinced on the value of the editor.
- saidajigumi 13y agoAgreed. I do still use MacVim quite a bit as it integrates well with environments that allow selection of an OS X app as editor. That said, a tmux + vim setup is a great combination, especially if mouse (well, trackpad) scrolling support is enabled in both. I've picked up a few new tricks from their setup as well -- e.g. see the "Fix Cursor in TMUX" comment in vimrc.
- jh3 13y agoThe only thing I really like about MacVim as opposed to Terminal vim + tmux is how fast the cursor moves can move around.
- tryingvim 13y agoHow do you launch this after running rake?
- jason_slack 13y ago`vim` from a terminal or use the MacVim.app in /Applications
- callmeed 13y agoOk, got this cloned and installed. If I'm moving from Sublime to vim, where do I go now? I know a few basic vim commands (switch modes, edit, write, quit) but have never used it to work on a complete project in a directory.
- jessedhillon 13y agoTry vimtutor before you begin with these plugins. You'll learn a lot of basic motions and also get the feel for how to speak vim, combine motions with count arguments, etc.
- wavesounds 13y agoType vimtutor at the command line to get started. Theres also a game: http://vim-adventures.com http://vim-adventures.com I thought was fun
- semiel 13y agoI'm sure that most people, like I at first did, are wondering how useful a game could really be. Answer: Very, very useful. I think Vim Adventures was a way better headstart for me to learn the Vim style of thinking than pretty much anything else could be.
- avjinder 13y agoTry Drew Neill's book- Practical Vim. It's the best vim book I have read. There is just so much information packed into that book, it's astounding. It made me go from a vim beginner to a vim semi-expert.
- johncoltrane 13y agoStart by deleting that crap, then run $ vimtutor until you are comfortable, read :help carefully, try your hands on simple tasks first then augment the complexity… after a couple of months you'll be as productive as before or more and, maybe, ready to do the actual switch. In the mean time, keep using ST on your projects.
- taf2 13y agocmd+t lookup is not a good vim thing... it's slow requires me to move my hand to the right to navigate using arrow keys... also it's slow. changing files takes significantly longer... it's bad enough how slow the iterm.app is on osx and don't even get me started on the slowness of the terminal.app -- picky vim user update: i like the empty line space indicators little boxes look cool
- pfranz 13y agoYou can hold down CTRL and use j/k to move up/down (so you don't have to use the arrow keys). It can be slow on very large directories. I switched to CtrlP last week because I switched OSes at work and didn't want to recompile vim and Cmd+t. In the past CtrlP was significantly slower, but I found a few new features that actually makes it faster than Cmd+t for me; it automatically navigates up looking for a .git or .svn to search from instead of cwd, and you can set up caching (persistent between sessions) and max num of files to scan--I believe you can set a timeout, too. I also setup a filter so my build folder and docs won't show up. Since finding Cmd+t, it's been the fastest way to navigate to files in a project (especially when they're not in the same directory).
- johncoltrane 13y agoThe whole point of Command-T, FuzzyFinder, CtrlP and friends is to provide "fuzzy" completion. They don't display a list of files for you to navigate with the arrows they display a list of candidates that you refine by typing more characters.
- wavesounds 13y agoDo lots of people use let mapleader = ',' instead of Ctrl? Also does anyone see where they are setting the /// to comment? Commentary uses gcc and I don't see it in their vimrc.
- robinhood 13y ago"," is kinda becoming the "default" key for leader. After multiple years of using it, it has become very natural.
- jaredmcateer 13y agoAfter doing anything for multiple years of anything I'm sure it would feel natural.
- cgag 13y agoI've never heard of anyone uses ctrl as a leader. I do use comma myself.
- tuananh 13y agoif you use hhkb(http://farm4.staticflickr.com/3322/3599528588_ce3e08503f.jpg http://farm4.staticflickr.com/3322/3599528588_ce3e08503f.jpg) layout, it's rather convenient to use Ctrl as leader.
- dfbrown 13y agoI used to use comma, but then I discovered comma's default mapping is actually quite useful[1] so I switched back to the default '\' 1: http://vimdoc.sourceforge.net/htmldoc/motion.html# http://vimdoc.sourceforge.net/htmldoc/motion.html#,
- amadeus 13y agoI went crazy, and it's a bit more tricky to pull off, but `q` is my leader key. Haven't looked back. P.S. I mapped `Q` to recording Macros, since the default use of `Q` is completely useless to me.
- robinhood 13y agoI would love to know why they have chosen Pathogen instead of Vundle to manage plugins. As hard as I try, I can't see any reasons why Pathogen is greater than Vundle. Can someone enlighten me?
- SkyMarshal 13y agoChalk it up to different preferences. I prefer Vundle too, never could get Pathogen to work, but Vundle just does for me. But others were using Pathogen before Vundle appeared and have no reason to switch.
- robinhood 13y agoEveryone used Pathogen before Vundle, as Pathogen is older. However after an extensive use of Vundle, it's the fastest way to deploy your environment from scratch - or to add, modify or delete a plugin. I really don't troll here - but honestly, managing plugins with Vundle is such a joy that I don't see why a company like Square releases a Vim project using Pathogen. And I'd looveeeee to know the reasons - is it indeed because of personal preferences or is there something I'm missing?
- VeejayRampay 13y agoWhat do you mean you could "never get it to work"? https://github.com/tpope/vim-pathogen#installation https://github.com/tpope/vim-pathogen#installation It's literally copy and paste. I understand preferences and taste, but you make it sound like you need a degree in particle physics to make the thing work...
- SkyMarshal 13y agoI know, and back when I tried it, which was probably years ago, the problem was .vimrc line execute pathogen#infect() always errored out. Couldn't figure out why at the time, then found Vundle, it worked perfectly, been using it since.
- lsiebert 13y agoI prefer NeoBundle over Vundle. Lazy loading plugins is great.
- jdgiese 13y agohttps://github.com/johndgiese/dotvim https://github.com/johndgiese/dotvim Works on windows, linux, and mac. I love vim.
- fsqcds 13y agoCool, I like that. Seems better than janus or spf13. Leave you some issues though.
- misiti3780 13y agoI got it installed, I have installed multiple versions of XCode 5 betas and needed to run: sudo xcode-select -switch /Applications/Xcode5-DP6.app To get the command=T to compile
- jason_slack 13y agoHow? I executed: git clone git@github.com:square/maximum-awesome.git && cd maximum-awesome && rake and I get: $ git clone git@github.com:square/maximum-awesome.git && cd maximum-awesome && rake Cloning into 'maximum-awesome'... Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
- jason_slack 13y agowavesounds answered this below.
- mmgutz 13y agoLooks pretty much like my setup except Command-T. Command-T is awesome on Mac but it's a pain to make work on Linux and not sure about Windows. Moved on to ctrlp plugin.
- jaredmcateer 13y agoWhy is it a pain on Linux? Are you just referring to having a version of linux with +ruby or did you run into other difficulties?
- saidajigumi 13y agoWonderful, looks like someone (@mislav and @christoomey) has already shaved this yak for me: https://github.com/christoomey/vim-tmux-navigator https://github.com/christoomey/vim-tmux-navigator "Seamless navigation between tmux panes and vim splits" So great. Off to check another random side-project off the list...
- rodly 13y agoIs there a way to uninstall this? Kill the symlinks and remove the appended .bak from old config?
- strongriley 13y agoYep, just remove the symlinks and rename the .bak files. Opened an issue to cover this. Thanks! https://github.com/square/maximum-awesome/issues/37 https://github.com/square/maximum-awesome/issues/37
- rodly 13y agoThank you for opening the issue. I should of thought of that.
- dfbrown 13y agoOne minor nitpick is they use snipmate, but Ultisnips[1] is much better and actively maintained 1: https://github.com/SirVer/ultisnips https://github.com/SirVer/ultisnips
- capkutay 13y agoThese are all the features I wanted when I quit Vim for sublime text 2 about a year ago...
- tambourine_man 13y agoDoes NERDTree work over ssh/sftp? I remember having tried it once and abandoning because it lacked this feature (or didn't work out of the box).
- johncoltrane 13y agoNo it doesn't and it only has a subset of the features already available in netrw which comes by default.
- sobering 13y agoReally? I've always used it over SSH without issues.
- johncoltrane 13y agoNERDTree is totally devoid of any network-related feature. If you are using it with something like fuse or expandrive you are not using it over SSH but on local files. If you are using it in a remote Vim via SSH, you are not using it over SSH either. If you did something like :e scp://foo//bar/ and see a directory listing you are not using NERDTree.
- sobering 13y agoGotcha.
- colinbartlett 13y agoCool, so everything from tpope and a bunch of other garbage. Nothing new here, move along.
- Jabe 13y agoIf you want to learn Vim while playing a game, try http://vim-adventures.com/ http://vim-adventures.com/
- caiob 13y agoI find it fascinating that my set-up looks nearly the same already. :)
- RamiK 13y agoNothing here is fascinating to me. Many devs confuse Vim for an IDE. Not sure why... Don't get me wrong though, first thing in every Debian install I do is to replace vim-tiny and nano with vim as the default editor. I like to think I appreciate vim for what it is, not for what it can be forced into.
- kippersnacks 13y agoSurprised that people are actually trying this. IMO there are far better configurations out there if you want to try a pre-tailored one. Google for them, i'll add my personal favorite here since people are actually up-voting and installing this less than impressive config. If you use ruby/rails try yadr https://github.com/skwp/dotfiles https://github.com/skwp/dotfiles. If you don't use ruby, it (imo) still has one of the best key maps/configs for beginners just delete the ruby plugins. Make it yours: :help every plugin and every setting if you don't know what it does. Change any key mappings you don't like. It will take about 40 hours to familiarize yourself with everything, that is if you go plugin hunting yourself. I'm not a believer that starting from scratch is the way to go. Remove vim-snipmate, neocomplicache, vim-snippets, vim-colors-solarized. Remove nerdtree nerdtree, vim-nerdtree-tabs, use :e/CtrlP instead. Add YouCompleteMe, vim-detailed, vim-notes, vim-slime, vim-numbertoggle, vim-abolish, vim-startify, vim-textobj-rubyblock, switch.vim, ultisnips, vim-airline, unite (check out unite plugins), vim-expand-region, vim-jsbeatify, extradite, vim-diffchanges, vim-speeddating, goldenview or golden-ratio. This config probably won't run well on machines that are older than 2012, in total there are about 90 plugins. Remove any plugins you don't need. Look up how to profile your plugins, if one of them is causing things to be slow remove it. Don't install anything without reading the help file immediately afterwards. Learning enough vim to match your current productivity is not as difficult as everyone makes it out to be. I was instantly more productive with this setup switching from RubyMine and I still have barely scratched the surface of those help files. Disclaimer: I had picked up the most basic motion / visual selection keys previously working over SSH. And I was familiar with window/buffer management from using tmux daily. To everyone I highly recommend YouCompleteMe, vim-detailed, vim-notes, and https://github.com/rking/vim-detailed https://github.com/rking/vim-detailed.
- codygman 13y agoWhy remove vim-colors-solarized?
- lamnk 13y agoWhat makes this difference from this vim distribution http://vim.spf13.com/ http://vim.spf13.com/ ?
- spf13 13y agospf13-vim is pure vim script. No ruby required. spf13-vim is cross platform and works well on windows. spf13-vim uses a bundle system to make easy maintenance. Git submodules lock you into a specific hash of each plugin and maintenance in keeping these up to date only increases your commit count with empty commits. spf13-vim is built to be a base and completely customizable. This is built to be your vim config. Lastly spf13-vim has dozens of contributors supporting a variety of plugins and languages. This seems focused on squares stack, ruby & coffeescript. Disclaimer... I'm spf13, so a bit partial, but if you look at spf13-vim from 2 or 3 years ago it looked a lot like this... and we've learned a lot from making some mistakes present here.
- drtse4 13y agoShared Clipboard: Just add "set clipboard=unnamed" to your .vimrc and you are done.
- gshakir 13y agoWhat's up with the name "Maximum Awesome"? Sounds teenagish. Anyway, I am a VIM lover and good to see this work.
- snarfy 13y agoI've been using vim for 19 years and still don't know how to use it properly. I try, then I always find some guru that does it better then I would.