Skip to content

Instantly share code, notes, and snippets.

@yongkangchen
Forked from Suor/INSTALL.markdown
Last active August 29, 2015 13:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yongkangchen/10224897 to your computer and use it in GitHub Desktop.
Save yongkangchen/10224897 to your computer and use it in GitHub Desktop.
sublimetext open file at cursor

Open keyboard bindings file, and add a line to it

[
    ...
    { "keys": ["alt+o"], "command": "open_file_at_cursor" } // this one
]
import sublime, sublime_plugin
import os.path, string
import re
VALID_FILENAME_CHARS = "-_.() %s%s%s" % (string.ascii_letters, string.digits, "/\\")
filename_re = re.compile(r'[\w/\.-]+')
class OpenFileAtCursor(sublime_plugin.TextCommand):
def run(self, edit):
for region in self.view.sel():
# Find anything looking like file in whole line at cursor
whole_line = self.view.substr(self.view.line(region))
row, col = self.view.rowcol(region.begin())
while col >= len(whole_line) or whole_line[col] in VALID_FILENAME_CHARS:
col -= 1
m = filename_re.search(whole_line, col)
if m:
filename = m.group()
sublime.status_message("Opening file '%s'" % (filename))
self.view.window().open_file(filename)
else:
sublime.status_message("No filename discovered")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment