HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
carlhuda
janus
Vim Script2010–2019
carlhuda / janus

janus

Vim distribution

35Distinct people
37Mentions
4Explicit recommenders
7.8KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Vim distribution

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

I love Ctrl-P! You can use Ctrl-B to search only open buffers. Ctrl-P is the recommended find plugin from the janus vim distribution: https://github.com/carlhuda/janus I use…

gregwebs used a recommendation phrase. 4 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 12:03:30 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year37 dated mentions

Observed mentions: 2010-12-15 20:44:06 UTC to 2019-03-30 18:05:07 UTC.

0369122010-01-01 00:00:00 UTC to 2011-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20102011-01-01 00:00:00 UTC to 2012-01-01 00:00:00 UTC (exclusive): 12 mentions; 2 submissions, 10 comments2012-01-01 00:00:00 UTC to 2013-01-01 00:00:00 UTC (exclusive): 12 mentions; 0 submissions, 12 comments2013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2019

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20102010-01-01 00:00:00 UTC2011-01-01 00:00:00 UTC101
20112011-01-01 00:00:00 UTC2012-01-01 00:00:00 UTC12210
20122012-01-01 00:00:00 UTC2013-01-01 00:00:00 UTC12012
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC606
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC202
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC101
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC101
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC000
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Janus: Vim Distribution This is a distribution of plug-ins and mappings for Vim, Gvim and MacVim. It is designed to provide minimal working environment using the most popular plug-ins and the most common mappings. The distribution is completely customisable using a ~/.vimrc.before and ~/.vimrc.after Vim RC files. Updating to the latest version To update to the latest version of the distribution, just run rake inside your ~/.vim directory. NOTE: If you ever have an error updating Janus relating to a missing commit in a submodule, please try running rake again before submitting an issue. Mailing list The mailing list is hosted at Google Groups, please join it for discussion and announcements. Pre-requisites The distribution is designed to work with Vim >= 7.3. The distribution also requires ack, ctags, git, ruby and rake. For the most comfortable experience, use the GUI version of Vim. Linux users should install gvim, OSX users should install MacVim. The recommended way of installing MacVim is using Homebrew, but before installing MacVim you need to use system-wide Python (If you are using python that is): If you're using pythonbrew: do pythonbrew off $ brew install macvim If you don't use Homebrew, you can still download MacVim here. Take a look at the Pre-requisites wiki page for more information. Installation To install Janus, please use our automatic installer , which backs up any Vim files found in your home folder and installs Janus. $ curl -L https://bit.ly/janus-bootstrap | bash Customization You can use ~/.gvimrc.before and ~/.vimrc.before for settings Janus itself uses, such as the leader setting. You may also use ~/.gvimrc.after and ~/.vimrc.after for any additional settings; it is also a good place for overriding Janus settings, as both files will be loaded at the end of Janus. For example, to override the default color schemes: $ echo 'color desert' >> ~/.vimrc.after $ echo 'color molokai' >> ~/.gvimrc.after If you want to do additional customization or add more Vim plugins, create a ~/.janus directory and add your plugins there, either with a git clone or by adding submodules to your own git repository there. This directory is treated like a normal pathogen directory. For example: $ cd ~/.janus $ git clone https://github.com/vim-scripts/Rename2.git rename2 Or, if you have a git repository in ~/.janus, you can use a submodule: $ cd ~/.janus $ git submodule add https://github.com/vim-scripts/Rename2.git rename2 If you would like to disable an included plug-in, you can do that with the janus#disable_plugin() function from inside your ~/.vimrc.before. This function takes a plug-in name as an argument without the group. For example, if you would like to disable the NERDCommenter plug-in, you can do that with the command: $ echo "call janus#disable_plugin('nerdcommenter')" >> ~/.vimrc.before WARNING: We've noticed over and over, that people fork Janus just to customize it. This is bad practice for several reasons and you should not do that, and here's why: Janus is fully customisable and there's no need to change the core for using a different plugin fork or using a different mapping. Forking means maintenance; maintenance means burden. Do not burden yourself with maintaining a fork; that's what the ~/.janus folder is for. If you find yourself needing a customisation that is not possible with the current setup, then please open an issue or consider submitting a pull request to make it possible to continue using/improving the official repo. WARNING: Any uncommited files inside the janus folder will be removed the next time you run rake so make sure to either put them in the custom folder (~/.janus), or commit them. We clean the janus folder in case we replace a manually installed plugin (using rake tasks) with a submodule. For more information on how to customize Janus, you might want to take a look at the Customization wiki page. Additional you can see Example of customization. Intro to VIM Here're some tips in case you've never used VIM before: Tutorials Type vimtutor into a shell to go through a brief interactive tutorial inside VIM. Watch this presentation at VIM: Walking Without Crutches or read the slides on Speaker Deck. Watch the screencasts at vimcasts.org Watch Derek Wyatt's energetic tutorial videos at his site Read wycats' perspective on learning Vim at Everyone who tried to convince me to use vim was wrong Read this and other answers to a question about vim at StackOverflow: Your problem with Vim is that you don't grok vi Read the Getting Started with Vim tutorial on SitePoint Read the Effective Rails Development with Vim tutorial on SitePoint Modes VIM has three modes: insert mode- stuff you type is added to the buffer normal mode- keys you hit are interpreted as commands visual mode- allows you to select blocks of text To enter insert mode, hit i To exit insert mode, hit <ESC> To enter visual mode, hit v To exit visual mode, hit <ESC> Useful commands Use :q to exit vim Certain commands are prefixed with a <Leader> key, which maps to \ by default. You can, for example, use let mapleader = "," to change this to a comma. If you want this to be in effect for uses of <Leader> in the .vimrc file, make sure to define this in ~/.vimrc.before Keyboard cheat sheet. Features This Vim distribution includes a number of packages built by others. Base Customizations Janus ships with a number of basic customizations for vim: Line numbers Ruler (line and column numbers) No wrap (turn off per-buffer via :set wrap) Soft 2-space tabs, and default hard tabs to 2 spaces Show trailing whitespace as . Make searching highlighted, incremental, and case insensitive unless a capital letter is used Always show a status line Allow backspacing over everything (indentations, eol, and start characters) in insert mode <C-P> inserts the directory of the current file into a command Automatically resize splits when resizing the Vim window (GUI only) <leader>ew expands to :e (directory of c
Read the full README on GitHub

What Hacker News says

12 sources
I recently "declared vim bankruptcy" and rebuilt my vimrc from scratch. I want a full-featured vim, but I want to keep it responsive. There are many fancy presets out there https://github.com/skwp/dotfiles https://github.com/carlhuda/janus https://github.com/spf13/spf13-vim https://github.com/vgod/vimrc but they freak me out. They turn vim into a singing, dancing, syntax/spell checking, indexing, buffer Whack-a-mole. My philosophy is that vim shouldn't do anything behind your back, but it should do great things if you ask. * Jumping to definitions * Finding all uses of a symbol in a repo * Running things + A test + Code in a repl * Git blame, diff * Summarizing methods in open file * Navigating my (rails) app When putting this together, I found Vundle to be the easiest package manager. Just specify any desired
Read the rest
vim plugin github repos in your vimrc and let the :BundleInstall, :BundleClean etc commands do the rest. I used the standard plugins for most of the stated objectives, but there are places where I found some tricks. The coolest trick is running external programs without locking vim. You can send commands and selections to a tmux terminal using Vimux: https://github.com/benmills/vimux After wrangling with running vim under tmux, I discovered that the vimux plugin works in MacVim too when tmux is running alongside. The thing I run most often is tests. In Rubyland people advise using Guard, which runs tests automatically when test files change. However this goes against my "don't do things behind my back" philosophy. Vim-turbux is more my taste. It extends vimux to run cucumber and rspec tests with the press of a key: https://github.com/jgdavey/vim-turbux The next area where most megadotfile presets are lacking is finding the uses of code. Finding code definition is pretty well handled by exuberant-ctags and vim-rails, but finding code uses is trickier. The cscope utility does this, but its language support is limited from what I could tell. Another contender is GNU global. Its setup is...interesting: http://simple-and-basic.com/2008/10/using-rtags-ang-gtags-fo... I couldn't get it working and the GTAGS files it generates cluttered my repos. I cheated and just mapped a key to do :Ggrep (git-fugitive) on the current word. While cscope or global would give the finest results, a massive grep comes close. Let me know, anyone, if you've gotten the tagging systems working better. My work in progress is here: https://github.com/begriffs/dotfiles I'd appreciate any criticism; I have lots to learn.
In Plugins you should put in your vimrc
I've been content with the Janus[1] extensions for about a year now but I just added MiniBufExplorer and I'm really enjoying that. I typically keep three panes open, one of which is NERDTree. Right now my biggest gripe is the strange highlighting of the Play! framework's template files. The files are name.scala.html which results in weird highlighting of the inline Scala. I have yet to find a good solution (admittedly I haven't looked in a while) to this but if someone knows of one I'd love to hear it. [1] https://github.com/carlhuda/janus
In Vim as you IDE
I am a former user of both TextMate and Sublime Text. The TextMate story everybody knows, it was good at first but got stale with no updates. I feel Sublime Text is fantastic, but after reading some article on Janus (https://github.com/carlhuda/janus) I switched over to MacVim. After fiddling around with Vim for a while I can honestly say I'll need some serious convincing to switch to another editor. I've always stayed away from Vim except through occasional need for text editing through SSH or something, because out of the box it doesn't feel quite right. But after Janus sets up some sane defaults it feels great, and after putting a few hours in to learn all the shortcuts and study plugins I have never felt as productive. I feel like Janus is sort of training wheels though cause it has a lot of plugins I don't use etc, but it's great to
Read the rest
start and as I use Vim more I reckon I will start to manage my own .vimrc. P.S., bcvi is so awesome.
In The story of TextMate, VIM and SublimeText
I agree with this very strongly. The first time I tried to learn VIM, I installed janus [1], and ended up with this monstrous, complicated system with a million plugins that I didn't understand. The mouse sort of worked, but not the way I expected it to. I'm now sort-of trying to learn VIM again. My vimrc has about 10-15 lines in it, and I know what each one does. I have a color scheme installed, but no other plugins. How I boosted my Vim [2] has been helpful to me in adding things to my vimrc, because Vincent Driessen is, as always, clear-minded and erudite in his description of what things do, and has good taste on a basic setup that will make sense to the modern developer. Again though, I haven't blindly pasted in all his stuff—instead, when I feel some friction with my Vim settings, I head to that article and see if there's a tweak he
Read the rest
In Why I use vim

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.