Открытый файл на терминальном сеансе Vim на ярлык

У меня есть набор файлов, что я делаю маленькие редактирования также всеми в течение моего дня.

Они - каждый в своем собственном каталоге в рамках общего супер каталога, например:

test
├── foo
│  └── foo.tex
└── bar
    └── bar.tex

Действительно ли возможно создать ярлык, такой как Ctrl + Высокий звук + E таким образом, что, если вводят тот ярлык и затем достаточно много первых букв и затем совершают нападки, входят, соответствующий файл (в каталоге того же имени) добираются, открылся на сессии энергии в терминале?

В противном случае есть ли что-то близко к нему? Создание другого ярлыка для каждого файла было бы приемлемо, но не оптимально, потому что это - приблизительно 10 файлов, таким образом, все ярлыки было бы трудно помнить (и они займут место ярлыка),

2
задан 1 May 2018 в 15:32

1 ответ

Я нашел решение. Я сохранил следующий сценарий Python в своем корневом каталоге и создал ярлык на него с помощью compizconfig-settings-manager. Основной каталог (~/test в моем примере) и окончания файла файлов, которые будут отредактированы (.tex в моем примере), может быть изменен в сценарии.

ROOTDIR = '~/test'
FILEENDING = '.tex'
import subprocess
import re
import os
import tkinter
import tkinter.simpledialog
def string_dialog(title,label):
    root = tkinter.Tk()
    root.withdraw()
    return tkinter.simpledialog.askstring(title, label)
project = string_dialog('Quickedit','Enter filename')
regexp = re.compile(project+'.*',re.IGNORECASE)
choices = [path for path in os.listdir(ROOTDIR) if os.path.isdir(os.path.join(rootdir,path)) and path.lower().startswith(project.lower())]
projectdir = os.path.join(ROOTDIR,choices[0])
projectfile = [path for path in os.listdir(projectdir) if path.endswith(FILEENDING)][0]
subprocess.call(['gvim',os.path.join(projectdir,projectfile)])
0
ответ дан 2 December 2019 в 07:43

Другие вопросы по тегам:

Похожие вопросы: