'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'

def goto_line(self, line, column=0, move=True, word=''):

    text_cursor = self._move_cursor_to(line)
    if column:
        text_cursor.movePosition(text_cursor.Right, text_cursor.MoveAnchor, 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
