Ответ 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 для установки).
Мне тоже нужна эта функция. Вероятно, лучший способ распространять это, но я не инвестировал в него много времени. Я очень быстро прочитал учебник по плагину, и использовал некоторые другие плагины для совместного использования этой вещи.
Выберите пункт меню Tools
→ New 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
.
Я знаю, что это сложная операция, но это то, что у меня есть сейчас, и работает для меня.