Я хочу настроить сопоставление клавиш, чтобы открыть имя файла с абсолютным путем, выделенное в визуальном режиме, которое может иметь разрыв строки посередине.
Большинство файлов, которые у меня есть, отформатированы следующим образом, и я хотел бы выделить путь между одинарными кавычками и открыть этот файл (для любопытных отформатирован для MSC NASTRAN):
INCLUDE '/directory/directory/directory/directory/
directory/filename'
Что сложно, так это то, что выдергивание всего раздела приводит к появлению символа новой строки ^M в середине пути. Мой подход был следующим (проходя через команду :map ниже):
- Выдернуть путь из выделенного (сохранено в @0)
- Создайте новый регистр @f, где пустая строка была заменена символом новой строки из @0
Путь к открытому файлу в @f
map <F8> y \| :let @f=substitute(strtrans(@0),'\^@','','g') \| :e <C-R>f<CR>
Проблема в том, что если он запускается во второй раз с новым путем к файлу, vim использует предыдущий путь, хранящийся в регистре @f, перед обновлением @f.
Любые идеи, чтобы исправить это или другой подход? Очистка реестра с помощью :let @f='' в конце тоже не сработала.
У меня также нет прав администратора, так как это рабочий компьютер, поэтому я не думаю, что смогу устанавливать плагины, но я все еще новичок в vim, любые мысли приветствуются. Спасибо!