Подтвердить что ты не робот

Возвышенный текст - строка и столбец Goto

В настоящее время ярлык Go to line (CTRL + G в windows/linux) позволяет перемещаться только по определенной строке.

Было бы неплохо дополнительно указать номер столбца после запятой, например

:30,11, чтобы перейти к строке 30, столбец 11

Есть ли какой-либо плагин или пользовательский script для этого?

4b9b3361

Ответ 1

Обновление 3

Теперь это часть Sublime Text 3, начиная с номера сборки 3080:

Goto Anything поддерживает: синтаксис строки: col в дополнение к: line

Например, вы можете использовать :30:11 для перехода к строке 30, столбец 11.

Обновление 1 - устаревшее

Я просто понял, что вы отметили это как sublime-text-3, и я использую 2. Это может сработать для вас, но я не тестировал в 3.

Обновление 2 - устаревшее

  • Добавлены некоторые проверки работоспособности и некоторые изменения в GotoRowCol.py
  • Создано github repo sublimetext2-GotoRowCol
  • Выгрузили и отправили запрос на перенос для добавления к package_control_channel

Изменить 3: выполнены все требования репозитория package_control. этот пакет теперь доступен в репозитории пакетов в приложении (install → GotoRowCol для установки).

Мне тоже нужна эта функция. Вероятно, лучший способ распространять это, но я не инвестировал в него много времени. Я очень быстро прочитал учебник по плагину, и использовал некоторые другие плагины для совместного использования этой вещи.

Выберите пункт меню ToolsNew Plugin

Новый шаблон шаблона откроется. Вставьте это в шаблон:

import sublime, sublime_plugin


class PromptGotoRowColCommand(sublime_plugin.WindowCommand):
        def run(self, automatic = True):
                self.window.show_input_panel(
                        'Enter a row and a column',
                        '1 1',
                        self.gotoRowCol,
                        None,
                        None
                )
                pass

        def gotoRowCol(self, text):
                try:
                        (row, col) = map(str, text.split(" "))

                        if self.window.active_view():
                                self.window.active_view().run_command(
                                        "goto_row_col",
                                        {"row": row, "col": col}
                                )
                except ValueError:
                        pass


class GotoRowColCommand(sublime_plugin.TextCommand):
        def run(self, edit, row, col):
                print("INFO: Input: " + str({"row": row, "col": col}))
                # rows and columns are zero based, so subtract 1
                # convert text to int
                (row, col) = (int(row) - 1, int(col) - 1)
                if row > -1 and col > -1:
                        # col may be greater than the row length
                        col = min(col, len(self.view.substr(self.view.full_line(self.view.text_point(row, 0))))-1)
                        print("INFO: Calculated: " + str({"row": row, "col": col})) # r1.01 (->)
                        self.view.sel().clear()
                        self.view.sel().add(sublime.Region(self.view.text_point(row, col)))
                        self.view.show(self.view.text_point(row, col))
                else:
                        print("ERROR: row or col are less than zero")               # r1.01 (->)

Сохраните файл. Когда откроется диалоговое окно "Сохранить как", оно должно быть в каталоге Sublime Text 2\Packages\User\. Перейдите на один уровень и создайте папку Sublime Text 2\Packages\GotoRowCol\ и сохраните файл с именем GotoRowCol.py.

Создайте новый файл в том же каталоге Sublime Text 2\Packages\GotoRowCol\GotoRowCol.sublime-commands и откройте GotoRowCol.sublime-commands в возвышенном тексте. Вставьте это в файл:

[
    {
        "caption": "GotoRowCol",
        "command": "prompt_goto_row_col"
    }
]

Сохраните файл. Это должно зарегистрировать плагин GotoRowCol в возвышенной текстовой системе. Чтобы использовать его, нажмите ctrl + shift + p, затем введите GotoRowCol и нажмите ENTER. Появится подсказка в нижней части возвышенного текстового окна с двумя предварительно заполненными цифрами, первая - это строка, к которой вы хотите перейти, вторая - столбец. Введите желаемые значения, затем нажмите ENTER.

Я знаю, что это сложная операция, но это то, что у меня есть сейчас, и работает для меня.