sponsor Vim development Vim logo Vim Book Ad

CursorLineCurrentWindow : Only highlight the screen line of the cursor in the currently active window.

 script karma  Rating 7/4, Downloaded by 468    Comments, bugs, improvements  Vim wiki

created by
Ingo Karkat
script type
The 'cursorline' setting makes it easy to locate the cursor position. However,
when there are split windows, each one shows its cursor line, and the only
indication of the currently active window is the different 'statusline'
highlighting (with hl-StatusLine vs. hl-StatusLineNC).

This plugin avoids the clutter of multiple highlighted screen lines with split
windows by disabling the 'cursorline' setting for all but the current window.
Unlike a simplistic solution with a few autocmds, this plugin still allows for
exceptions like disabling the cursorline for a particular window or making it
permanent for (another) window.

The basic idea is outlined in the Vim Tips Wiki:

Globally enable 'cursorline' in your vimrc via
    :set cursorline
After sourcing this plugin, 'cursorline' will only be active for the current
window. So with multiple split windows, only one of them, the one where the
cursor is in, will have the 'cursorline'.

Disable cursorline for the current window via:
    :setlocal nocursorline
This will persist even after moving away and back to the window.

Disable cursorline globally via:
    :set nocursorline
As soon as you enter a window, its line highlighting will vanish.

For some kind of files it is helpful to keep the line highlighting active,
e.g. to serve as a ruler. You can keep the highlighting for a particular
window by setting a window-local variable:
    :let w:persistent_cursorline = 1
install details
This script is packaged as a vimball. If you have the "gunzip" decompressor
in your PATH, simply edit the *.vba.gz package in Vim; otherwise, decompress
the archive first, e.g. using WinZip. Inside Vim, install by sourcing the
vimball or via the :UseVimball command.
    vim CursorLineCurrentWindow.vba.gz
    :so %
To uninstall, use the :RmVimball command.

- Requires Vim 7.0 or higher.

rate this script Life Changing Helpful Unfulfilling 
script versions (upload new version)

Click on the package to download.

package script version date Vim version user release notes
CursorLineCurrentWindow.vba.gz 1.00 2012-08-18 7.0 Ingo Karkat Initial upload
ip used for rating:

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.
SourceForge.net Logo