code: def reverse_index(self):
          
          top, bottom = self.margins or Margins(0, self.lines - 1)
          if self.cursor.y == top:
              # TODO: mark only the lines within margins?
              self.dirty.update(range(self.lines))
              for y in range(bottom, top, -1):
                  self.buffer[y] = self.buffer[y - 1]
              self.buffer.pop(top, None)
          else:
              self.cursor_up()
docs: Move the cursor up one line in the same column. If the cursor
          is at the first line, create a new line at the top.