Texte Sublime-ligne et Colonne Goto
actuellement, le raccourci de Go to line (CTRL+G dans windows / linux) ne permet de naviguer que sur une ligne spécifique.
il serait bien de permettre en option que le numéro de colonne soit spécifié après la virgule, Par exemple
:30,11
pour passer à la ligne 30, colonne 11
Est-il un plugin ou un script personnalisé pour atteindre cette?
1 réponses
mise à Jour 3
C'est maintenant partie de Sublime Text 3 à partir de la version 3080:
Goto Anything supporte:line: col syntaxe en plus de: line
Par exemple, vous pouvez utiliser :30:11
pour passer à la ligne 30, colonne 11.
mise à Jour de 1 - obsolète
je viens de réaliser que vous avez étiqueté ceci comme sublime-text-3
et je suis en utilisant 2. Il peut travailler pour vous, mais je n'ai pas testé en 3.
mise à Jour 2 - obsolète
- a ajouté quelques vérifications de santé mentale et quelques modifications à GotoRowCol.py
- Créé le dépôt github sublimetext2-GotoRowCol
- bifurqué et soumis une demande pull pour commit addition à package_control_channel
Edit 3: toutes les exigences du package_control repo ont été satisfaites. ce pack est maintenant disponible dans le dépôt de paquets dans l'application ( install -> GotoRowCol à installer ).
je voudrais aussi cette fonctionnalité. Il y a probablement une meilleure façon de distribuer cela, mais je n'ai pas vraiment investi beaucoup de temps en elle. J'ai lu quelques tutoriels de développement de plugin très rapidement, et j'ai utilisé un autre code de plugin pour corriger cette chose ensemble.
sélectionnez l'option de menu Tools
-> New Plugin
un nouveau modèle d'exemple s'ouvrira. Coller ceci dans le modèle:
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 (->)
Enregistrer le fichier. Lorsque le dialogue" Enregistrer sous " s'ouvre, il doit être dans le Sublime Text 2\Packages\User\
répertoire. Naviguez jusqu'à un niveau, et de créer le dossier Sublime Text 2\Packages\GotoRowCol\
et sauvegardez le fichier avec le nom GotoRowCol.py
.
Créer un nouveau fichier dans le même répertoire Sublime Text 2\Packages\GotoRowCol\GotoRowCol.sublime-commands
et ouvrir GotoRowCol.sublime-commands
en texte sublime. Les coller dans le fichier:
[
{
"caption": "GotoRowCol",
"command": "prompt_goto_row_col"
}
]
Enregistrer le fichier. Cela devrait enregistrer le plugin GotoRowCol dans le système de texte sublime. Pour l'utiliser, frapper ctrl
+ shift
+ p
puis tapez GotoRowCol et frappez ENTER
. Une invite s'affichera au bas de la sublime texte de la fenêtre avec deux numéros préenregistrés, la première est la ligne que vous souhaitez aller, le second est la colonne. Entrez les valeurs que vous désirez, puis frappez ENTER
.
je sais que c'est une opération complexe, mais c'est ce que j'ai en ce moment et il est travaillé pour moi.