WinMan now has a website and GitHub repository. The repository doesn't have any source code -- the author isn't sure if it will be open source yet.

WinMan is a "window manager" for OS X that handles windows, apps and other things using Vim-like expressions. If you are used to and love Vim, then this is the ultimate tool to get rid of the mouse even outside of your text editor.

I previously wrote about WinMan last month in A Vim-inspired Mac Window Manager. Back then it was just an interesting video, but it's received some attention from reddit and the author continues to make progress videos.

Read More →

Script Roundup: Vim-EPUB


Vim-EPUB (GitHub: etnadji / vim-epub, License: GPL) by Etienne Nadji is an eBook editing plugin that makes it easier to work with EPUB files.

For example, :AddEmptyPage adds a new page, :AddEmptyCSS adds a CSS file, and :AddMedia can be used to add image files and fonts.

The :OpenReader command opens the resulting document in the system's default EPUB reader.

Read More →

Vim in Windows Redux

Knowing that cmd.exe is nowhere near a modern Unix terminal and shell, I usually tell Windows Vim users to install gVim. gVim feels fast and very close to the experience of gVim on Linux or MacVim.

One of the things I love about the Unix terminal workflow is tmux. I've got so used to using it for multiple windows and split panes that I prefer it to most GUI environments. It's not really just tmux though, it's the way I work on the command-line next to Vim.

The last few years has seen a renaissance in Windows shell development. One example of this is cmder:

Read More →

How to Boost your Vim Productivity

How to boost your Vim productivity by Adam Stankiewicz has some thoughtful tips about improving the way you use Vim. The first tip is about changing Leader to the space bar, which Adam says means he can keep his fingers on the home row because space is easy to hit with both thumbs.

Other tips include some useful plugins for manipulating visual selections, tmux, and more remapping techniques.

It was published back in March, so there are some useful comments as well.

Read More →

Script Roundup: Clickable.vim, SearchInRange


I have this in my .vimrc:

set ttyfast
set ttymouse=xterm2
set mouse=a

Combined with this in .tmux.conf:

set -g mode-mouse on
set-option -g mouse-select-pane on
set-option -g mouse-select-window on
set-option -g mouse-resize-pane on

It means I can resize panes and navigate with the mouse. I don't use it very often, but it can be a nice surprise when people pair program with me and realise my console setup isn't as hard to learn as they expected.

Read More →

Vim Bootstrap

Vim Bootstrap is a web app that helps you to quickly generate a new .vimrc. It allows you to select from a list of programming languages, then creates a file that includes the appropriate NeoBundle dependencies.

To use the file, copy it to ~/.vimrc and then install the dependencies with vim +NeoBundleInstall +qall.

Vim Bootstrap supports further customisation through an optional .vimrc.local file, so you don't need to modify the original.

Read More →

Windows Font Rendering Improvements

I noticed patch 7.4.393 has support for improved font rendering in Windows:

Problem: Text drawing on newer MS-Windows systems is suboptimal. Some multi-byte characters are not displayed, even though the same font in Notepad can display them. (Srinath Avadhanula).

Solution: Add the 'renderoptions' option to enable Direct-X drawing. (Taro Muraoka)

Read More →

Script Roundup: Vimproc, vCoolor


Vimproc (License: MIT) by Shougo is an asynchronous process manager. It's a fork of Yukihiro Nakadaira's proc.vim, and requires compilation to run.

Once it's installed, you can run :VimProcBang to run a command and echo the results. You can also run :VimProcRead to paste the output of a command in the current buffer.

It also includes functions like vimproc#open and vimproc#system, so you could use it to build other plugins.

Read More →

Crazy Escape Key Mappings

One of my colleagues asked me about whether jk is a good mapping for escape. I've always used <Esc> for leaving Insert mode, but I don't think it's unreasonable to want to use a key combination that's easier to press.

If you want to try jk, then you need to imap it:

:imap jk <Esc>

Avoid the escape key on the Vim Wiki has lots more examples, including <Space> for entering Insert mode.

Read More →