Leo*_*cci 36 sublimetext sublimetext3 sublime-text-plugin
目前,转到行快捷方式(Windows/Linux中的CTRL + G)仅允许导航到特定行.
最好选择允许在逗号后指定列号,例如
:30,11 去第30行,第11栏
是否有任何插件或自定义脚本来实现这一目标?
Bil*_*ham 58
更新3
这是Sublime Text 3的一部分,从内部版本号3080开始:
转到Anything支持:line:col语法除了:line
例如,您可以使用:30:11第30行第11行.
更新1 - 过时
我刚刚意识到你已将其标记为" sublime-text-3我正在使用2.它可能适合您,但我没有在3中测试过.
更新2 - 过时
编辑3:已满足package_control repo的所有要求.此包现在可以在应用程序的包存储库中找到(安装 - > 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 (->)
Run Code Online (Sandbox Code Playgroud)
保存文件.当"另存为"对话框打开时,它应该在Sublime Text 2\Packages\User\目录中.向上导航一级并创建文件夹Sublime Text 2\Packages\GotoRowCol\并使用名称保存文件GotoRowCol.py.
在同一目录中创建一个新文件,Sublime Text 2\Packages\GotoRowCol\GotoRowCol.sublime-commands并GotoRowCol.sublime-commands以sublime文本打开.将其粘贴到文件中:
[
{
"caption": "GotoRowCol",
"command": "prompt_goto_row_col"
}
]
Run Code Online (Sandbox Code Playgroud)
保存文件.这应该在sublime文本系统中注册GotoRowCol插件.要使用它,按ctrl+ shift+ p然后键入GotoRowCol并点击ENTER.提示将显示在sublime文本窗口的底部,预先填充两个数字,第一个是您要去的行,第二个是列.输入您想要的值,然后点击ENTER.
我知道这是一个复杂的操作,但这就是我现在所拥有的并且正在为我工作.
| 归档时间: |
|
| 查看次数: |
25736 次 |
| 最近记录: |