diff --git a/helix-term/src/commands.rs b/helix-term/src/commands.rs
index 7df53a48..15e4b47b 100644
--- a/helix-term/src/commands.rs
+++ b/helix-term/src/commands.rs
@@ -384,6 +384,7 @@ impl MappableCommand {
         swap_view_down, "Swap with split below",
         transpose_view, "Transpose splits",
         rotate_view, "Goto next window",
+        rotate_view_reverse, "Goto previous window",
         hsplit, "Horizontal bottom split",
         hsplit_new, "Horizontal bottom split scratch buffer",
         vsplit, "Vertical right split",
@@ -4317,6 +4318,10 @@ fn rotate_view(cx: &mut Context) {
     cx.editor.focus_next()
 }
 
+fn rotate_view_reverse(cx: &mut Context) {
+    cx.editor.focus_prev()
+}
+
 fn jump_view_right(cx: &mut Context) {
     cx.editor.focus_direction(tree::Direction::Right)
 }
diff --git a/helix-view/src/editor.rs b/helix-view/src/editor.rs
index 547a4ffb..4a44a00c 100644
--- a/helix-view/src/editor.rs
+++ b/helix-view/src/editor.rs
@@ -1285,6 +1285,10 @@ impl Editor {
         self.focus(self.tree.next());
     }
 
+    pub fn focus_prev(&mut self) {
+        self.focus(self.tree.prev());
+    }
+
     pub fn focus_direction(&mut self, direction: tree::Direction) {
         let current_view = self.tree.focus;
         if let Some(id) = self.tree.find_split_in_direction(current_view, direction) {