@@ -264,9 +264,10 @@ impl Command {
264264 goto_file_vsplit, "Goto files in the selection in vertical splits",
265265 goto_reference, "Goto references",
266266 goto_window_top, "Goto window top",
267− goto_window_middle, "Goto window middle",
267+ goto_window_center, "Goto window center",
268268 goto_window_bottom, "Goto window bottom",
269269 goto_last_accessed_file, "Goto last accessed file",
270+ goto_last_modified_file, "Goto last modified file",
270271 goto_last_modification, "Goto last modification",
271272 goto_line, "Goto line",
272273 goto_last_line, "Goto last line",
@@ -763,7 +764,7 @@ fn goto_window_top(cx: &mut Context) {
763764 goto_window(cx, Align::Top)
764765}
765766
766−fn goto_window_middle(cx: &mut Context) {
767+fn goto_window_center(cx: &mut Context) {
767768 goto_window(cx, Align::Center)
768769}
769770
@@ -3610,6 +3611,20 @@ fn goto_last_modification(cx: &mut Context) {
36103611 }
36113612}
36123613
3614+fn goto_last_modified_file(cx: &mut Context) {
3615+ let view = view!(cx.editor);
3616+ let alternate_file = view
3617+ .last_modified_docs
3618+ .into_iter()
3619+ .flatten()
3620+ .find(|&id| id != view.doc);
3621+ if let Some(alt) = alternate_file {
3622+ cx.editor.switch(alt, Action::Replace);
3623+ } else {
3624+ cx.editor.set_error("no last modified buffer".to_owned())
3625+ }
3626+}
3627+
36133628fn select_mode(cx: &mut Context) {
36143629 let (view, doc) = current!(cx.editor);
36153630 let text = doc.text().slice(..);