.\" Man page generated from reStructuredText .\" by the Docutils 0.23 manpage writer. . . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .TH "FISH_VI_KEY_BINDINGS" "1" "Oct 10, 2026" "4.9" "fish-shell" .SH NAME fish_vi_key_bindings \- set vi key bindings for fish .SH SYNOPSIS .nf \fBfish_vi_key_bindings\fP \fBfish_vi_key_bindings\fP [\fB\-\-no\-erase\fP] [\fIINIT_MODE\fP] .fi .sp .SH DESCRIPTION .sp \fBfish_vi_key_bindings\fP sets the vi key bindings for \fBfish\fP shell. .sp If a valid \fIINIT_MODE\fP is provided (insert, default, visual), then that mode will become the default \&. If no \fIINIT_MODE\fP is given, the mode defaults to insert mode. .sp The following parameters are available: .INDENT 0.0 .TP \fB\-\-no\-erase\fP Does not clear previous set bindings .UNINDENT .sp Further information on how to use vi mode \%<#\:vi-mode>\&. .SH DIFFERENCES FROM VIM .sp fish\(aqs vi mode aims to be familiar to vim users, but there are some differences: .INDENT 0.0 .TP \fBWord character handling\fP In vim, underscore (\fB_\fP) is treated as a keyword character by default, so word motions like \fBw\fP, \fBb\fP, and \fBe\fP treat \fBfoo_bar\fP as a single word. In fish, underscore is treated as punctuation, so word motions stop at underscores. For example, pressing \fBw\fP on \fBfoo_bar\fP in fish stops at the \fB_\fP, while in vim it would jump past the entire identifier. .UNINDENT .SH EXAMPLES .sp To start using vi key bindings: .INDENT 0.0 .INDENT 3.5 .sp .EX fish_vi_key_bindings .EE .UNINDENT .UNINDENT .sp or \fBset \-g fish_key_bindings fish_vi_key_bindings\fP in config.fish \%<#\:configuration>\&. .SH Copyright fish-shell developers .\" End of generated man page.