Keybindings

Keybindings

The default keybindings are in /etc/vimiv/keys.conf. The keys are bound to commands. For a complete list of commands with explanation read the next section.

Entering a number anywhere but in the command line will save the number as [count]. The current [count] is displayed in the statusbar at the bottom right. Some commands support passing [count] as repeat or step.

Keybinding Cheatsheet

Image Library Thumbnail Manipulate

Commands

All vimiv keybindings are mapped to commands. Some of the commands are not accessible from the command line as they are not useful to be run by hand.

Summary of commands

Name Explanation
accept_changes Accept changes made in manipulate.
alias Add an alias for a command.
autorotate Rotate all images in the current filelist according to exif data.
center Scroll to the center of the image.
copy_abspath Copy the absolute path of the currently selected file to the clipboard.
copy_basename Copy the base name of the currently selected file to the clipboard.
delete Delete the current image.
discard_changes Discard any changes made in manipulate mode and leave it.
edit Edit brightness, contrast or saturation of the current image.
first Move to the first image of the filelist in image/thumbnail mode.
first_lib Move to the first file of the filelist in the library.
fit Fit the image to the current window size.</i></b>.
fit_horiz Fit the image horizontally to the current window size.
fit_vert Fit the image vertically to the current window size.
flip Flip the current image.
focus_library Focus the library.
format Format all currently open filenames.
fullscreen Toggle fullscreen mode.
last Move to the last image of the filelist in image/thumbnail mode.
last_lib Move to the last file of the filelist in the library.
library Toggle the library.
manipulate Enter manipulate mode.
mark Mark the currently selected image.
mark_all Mark all images in the current filelist.
mark_between Mark all images between the last two marked images.
mark_toggle Toggle the current mark status.
move_up Move up one directory in the library.
next Move to the next image in the filelist of image mode.
next! Force moving to the next image in the filelist of image mode.
prev Move to the previous image in the filelist of image mode.
prev! Force moving to the previous image in the filelist of image mode.
q Quit vimiv.
q! Force quitting vimiv.
reload_lib Reload the library.
rotate Rotate the image counter-clockwise.
set Change the value of a setting.
slideshow Toggle the slideshow.
tag_write Write the names of all currently marked images to a tagfile.
tag_load Load all images in a tagfile into image mode.
tag_remove Delete a tagfile.
thumbnail Toggle thumbnail mode.
undelete Undelete an image.
unfocus_library Focus the widget last focused before the library.
version Display pop-up with version information.
w Explicitly save changed images to disk.
wq Same as :w but also quit vimiv.
zoom_in Zoom in.
zoom_out Zoom out.
zoom_to Zoom image to a given percentage.

Description of commands

accept_changes

Accept changes made in manipulate.

Refers to brightnes, contrast and saturation of the image.

alias

Syntax: :alias aliasname command
Add an alias for a command. Works for any type of command, including paths and external commands.

Example: :alias bkg !hsetroot %
Add an alias bkg to set the desktop background to the currently selected image.

Positional arguments:

  • aliasname: Name of the alias to add.
  • command: Command for which the alias is created.
autorotate

Rotate all images in the current filelist according to exif data.

If jhead is installed, it is used for its better performance. Otherwise the python pillow module is used.

center

Scroll to the center of the current image.

copy_abspath

Copy the absolute path of the currently selected file to the clipboard.

The selection is either clipboard or primary depending on the copy_to_primary setting.

copy_basename

Copy the base name of the currently selected file to the clipboard.

The selection is either clipboard or primary depending on the copy_to_primary setting.

delete

Delete the currently selected image.

This moves the image to the trash directory specified by the freedesktop standard, per default $XDG_DATA_HOME/Trash/.

discard_changes

Discard any changes made in manipulate mode and leave it.

This resets brightness, contrast and saturation to 0 and restores the original image.

edit

Syntax: :edit manipulation [value]

Edit brightness, contrast or saturation of the current image.

Enter manipulate mode if not there yet.

Positional arguments:

  • manipulation: The manipulation to edit. One of bri, con or sat corresponding to brightness, contrast and saturation.

Optional arguments:

  • value: New value of the manipulation. If omitted, 0 is used.
first

Move to the first image of the filelist in image/thumbnail mode.

Count: Move to the [count]th image instead.

first_lib

Move to the first image of the filelist in the library.

Count: Move to the [count]th image instead.

fit

Fit the image to the current window size.

Essentially a convenience command doing the same as zoom_to 0.

fit_horiz

Fit the image horizontally to the current window size.

fit_vert

Fit the image vertically to the current window size.

flip

Syntax: :flip direction

Flip the current image.

Positional arguments:

  • direction: Flip direction. 1 to flip horizontally, 0 to flip vertically.
focus_library

Focus the library.

format

Syntax: :format formatstring

Format all currently open filenames.

Rename all currently open images in the form of formatstring001.ending, formatstring002.ending, and so on. If all currently open images contain exif data, the formatstring can include “%Y”, “%m”, “%d”, “%H”, “%M”, and “%S”. See man 1 date if you aren’t sure what these mean.

Positional arguments:

  • formatstring: The string used to format the images.
fullscreen

Toggle fullscreen mode.

grow_lib

Syntax: :grow_lib [value]

Increase the library width.

Optional arguments:

  • value: Value to increase width by. Defaults to 20.

Count: Multiply value by [count].

last

Move to the last image of the filelist in image/thumbnail mode.

Count: Move to the [count]th image instead.

last_lib

Move to the last image of the filelist in the library.

Count: Move to the [count]th image instead.

library

Toggle the library.

manipulate

Enter manipulate mode.

mark

Mark the currently selected image.

If the image is already marked, remove the mark.

mark_all

Mark all images in the current filelist.

mark_between

Mark all images between the last two marked images.

If any images are marked, the marks are cleared, otherwise the last list of marked images is marked again.

mark_toggle

Toggle the current mark status.

This clears all marked images if any are marked and otherwise restores the last list of marked images.

move_up

Move up one directory in the library.

The library is opened and focused if it is not open or focused yet.

Count: Move up [count] directories. So e.g. 2move_up is equivalent to cd ../..

next

Move to the next image in the filelist of image mode.

Count: Move [count] images forward.

next!

Force moving to the next image in the filelist of image mode.

Discard any changes made in manipulate mode.

Count: Move [count] images forward.

prev

Move to the previous image in the filelist of image mode.

Count: Move [count] images backward.

prev!

Force moving to the previous image in the filelist of image mode.

Discard any changes made in manipulate mode.

Count: Move [count] images backward.

q

Quit vimiv.

Print any marked images to stdout.

q!

Force quitting vimiv.

Discard any changes made in manipulate mode. Print any marked images to stdout.

reload_lib

Reload the library.

rotate

Syntax: :rotate value

Rotate the image counter-clockwise.

Positional arguments:

  • value: Rotate (value % 4) times.

Count: Rotate the image ([count] * value % 4) times.

set

Syntax: :set setting [value]

Change the value of a setting.

If the setting is of type Bool, appending ! will toggle the setting.

Example: :set show_hidden!
Toggle the show_hidden setting.

If the setting is a number, values can be added/substracted by prepending + or - to the value.

Example: :set slideshow_delay +1
Add 1 to the slideshow_delay setting.

Positional arguments:

  • setting: The setting to change. The name to enter is the same as the one in the configuration file.

Optional arguments:

  • value: New value of the setting. If omitted, the default value is applied.
slideshow

Toggle the slideshow.

Count: Set the slideshow delay to [count].

tag_write

Syntax: :tag_write tagname

Write the names of all currently marked images to a tagfile.

If the file does not exist, create it. If it does, append the names to the tagfile if they are not in it already.

Positional arguments:

  • tagname: Name of the tagfile to write to.
tag_load

Syntax: :tag_load tagname

Load all images in a tagfile into image mode.

Positional arguments:

  • tagname: Name of the tagfile to load.
tag_remove

Syntax: :tag_remove tagname

Delete a tagfile.

Positional arguments:

  • tagname: Name of the tagfile to delete.
thumbnail

Toggle thumbnail mode.

undelete

Syntax: :undelete basename

Undelete the image with basename.

This moves it from the trash directory back to its original path.

Positional arguments:

  • basename: Unique basename of the image to undelete as it is in the trash directory.
unfocus_library

Focus the widget last focused before the library.

version

Display pop-up with version information.

Includes version number, link to the website and license.

w

Explicitly save changed images to disk.

This is useful if the autosave_images is set to false and one wants to keep applied rotations/flips.

wq

Same as :w but also quit vimiv.

zoom_in

Syntax: :zoom_in [steps]

Zoom in.

Optional arguments:

  • steps: Zoom in by the number of steps.

Count: Zoom in by [count] steps.

Note: Numbers prepended by 0 are parsed as decimals. For example 033 is parsed as 0.33. This allows giving a decimal step via [count].

zoom_out

Syntax: :zoom_out [steps]

Zoom out.

Optional arguments:

  • steps: Zoom out by the number of steps.

Count: Zoom out by [count] steps.

Note: Numbers prepended by 0 are parsed as decimals. For example 033 is parsed as 0.33. This allows giving a decimal step via [count].

zoom_to

Syntax: :zoom_to percent

Zoom image to a given percentage.

Positional arguments:

  • percent: Percentage to zoom to.

Count: Zoom to [count].

Note: Numbers prepended by 0 are parsed as decimals. For example 033 is parsed as 0.33. This allows giving a decimal percentage via [count].

Summary of hidden commands

These commands can only be bound to keys and are not accessible from the command line.

Name Explanation
clear_status Clear any numbers or messages from the statusbar and reset search.
command Enter the command line.
scroll Scroll image or thumbnail.
scroll_lib Scroll the library.
search Search for text in the current filelist.
search_next Navigate to the next search result.
search_prev Navigate to the previous search result.
history_down Go down by one in command history.
history_up Go up by one in command history.
discard_command Leave the command line discarding currently entered text.
complete Start command line completion.
complete_inverse Start command line completion selecting items inversely.
slider Change the value of the currently focused slider.
focus_slider Focus one of the manipulate sliders.

Description of hidden commands

clear_status

Clear any numbers or messages from the statusbar.

command

Syntax: :command [text]

Enter the command line.

Optional arguments:

  • text: Set text of the command line.
scroll

Syntax: :scroll direction

Scroll image or thumbnail.

Positional arguments:

  • direction: The direction to scroll in. One of hjklHJKL. Capitals scroll to the far end.

Count: Scroll [count] times.

scroll_lib

Syntax: :scroll_lib direction

Scroll the library.

Positional arguments:

  • direction: The direction to scroll in. One of hjkl.

Count: Scroll [count] times.

Syntax: :search text

Search for text in the current filelist.

Search through the current filelist for matching text. Focus the next result. Per default search is case-sensitive and incsearch is enabled.

Positional arguments:

  • text: The text to search for.
search_next

Navigate to the next search result.

Count: Move [count] search results forward.

search_prev

Navigate to the previous search result.

Count: Move [count] search results backward.

history_down

Go down by one in command line history.

Does a substring search with the current text in the command line.

Note: Only makes sense in COMMAND section.

history_up

Go up by one in command line history.

Does a substring search with the current text in the command line.

Note: Only makes sense in COMMAND section.

discard_command

Leave the command line discarding currently entered text.

Note: Only makes sense in COMMAND section.

complete

Start command line completion.

Complete to best match if any. Then select the next item in the completion menu.

Note: Only makes sense in COMMAND section.

complete_inverse

Start command line completion.

Complete to best match if any. Then select the previous item in the completion menu.

Note: Only makes sense in COMMAND section.

slider

Syntax: :slider [value]

Change the value of the currently focused slider.

Optional arguments:

  • value: Change by value. Defaults to 1.

Note: Only makes sense in MANIPULATE section.

Count: Multiply [value] by [count].

focus_slider

Syntax: :focus_slider name

Focus one of the manipulate slider.

Positional arguments:

  • name: Name of the slider. One of bri/con/sat.

Note: Only makes sense in MANIPULATE section.