code: def goto_line(self, line, column=0, end_column=0, move=True, word=''):
          
          line = min(line, self.line_count())
          text_cursor = self._move_cursor_to(line)
          if column:
              text_cursor.movePosition(text_cursor.Right, text_cursor.MoveAnchor,
                                       column)
          if end_column:
              text_cursor.movePosition(text_cursor.Right, text_cursor.KeepAnchor,
                                       end_column)
          if move:
              block = text_cursor.block()
              self.unfold_if_colapsed(block)
              self._editor.setTextCursor(text_cursor)
  
              if self._editor.isVisible():
                  self._editor.centerCursor()
              else:
                  self._editor.focus_in.connect(
                      self._editor.center_cursor_on_next_focus)
              if word and to_text_string(word) in to_text_string(block.text()):
                  self._editor.find(word, QTextDocument.FindCaseSensitively)
          return text_cursor
docs: Moves the text cursor to the specified position.
  
          :param line: Number of the line to go to (0 based)
          :param column: Optional column number. Default is 0 (start of line).
          :param move: True to move the cursor. False will return the cursor
                       without setting it on the editor.
          :param word: Highlight the word, when moving to the line.
          :return: The new text cursor
          :rtype: QtGui.QTextCursor