Я думал об этом автоматическом <img>
здании с момента переключения.
Vim имеет встроенное решение для одной части проблемы: механизм полного завершения позволяет вам завершить путьфайл, который вы хотите включить.
Если вы начнете печатать строку типа «путь» - скажем, <img src="images/
- нажмите <C-x><C-f>
, чтобы получить небольшой список возможных дополнений.В сочетании с плагином автозаполнения, таким как ACP, и snipMate процесс действительно быстрый.
Но это совсем не помогает для width
и height
.
Возможное решениеможно использовать snipMate для фрагмента <img>
, использовать <C-x><C-f>
для пути к изображению, захватить путь и передать его какой-либо утилите командной строки, заполнить атрибуты width
и height
его выводом.
EDIT
Оказывается, другие уже исследовали подобную дорогу, этот сценарий интересен, но он не работает должным образом с путями к файлам, содержащими пробелы. Вот слегка измененная версия , которая работает достаточно хорошо. Этот другой , кажется, очень крутой, но в нем отсутствует важная часть.
END EDIT
ДРУГОЕ РЕДАКТИРОВАНИЕ
Я добавил этот фрагмент в~/.vim/bundle/snipMate/snippets/html.snippets
(обратите внимание, что отступ перед $
равен <Tab>
):
snippet img custom
${1:`HTML_insertImg()`}
, который работает хорошо, но добавляет вывод HTML_insertImg()
с 0
следующим образом:
0<img src="future_timeline.png" width="612" height="6370" alt="" />
Это 0
немного проблематично.Система, очевидно, не идеальна, но как только я избавлюсь от этого неприятного 0
, она довольно хорошо вписывается в остальную часть моего процесса на основе snipMate.
Кстати, вот вторая измененная версия используемого мной сценария.
END ANOTHER EDIT
EXTENDED 12 "REED EDIT VERSION
С:
Вы можете:
- открыть NERDTree, выбрать изображение и нажать
b
, чтобы вставить почти полный тег <img src="imagename.jpg" width="128" height="256" alt="" />
в позиции курсора в предыдущем окне - или, если ваш вкус Vim это позволяет, введите
:IMG<CR>
, чтобы открыть диалоговое окно выбора исходного файла, выберите изображение и вставьте почти полный тег <img src="imagename.jpg" width="128" height="256" alt="" />
наположение курсора в текущем окне - или, если вы находитесь в терминале, введите
:IMG path/to/file.jpg
, чтобы вставить почти полный тег <img src="imagename.jpg" width="128" height="256" alt="" />
в позицию курсора в текущем окне
Решение snipMate сейчас не готово.
Спасибо Петру Маху и @ Matteo Riva за приводсоюзник делает большую часть работы.
И да, я, очевидно, не эксперт по Vim.
КОНЕЦ РАСШИРЕНО 12 "ПЕРЕСМОТРЕННАЯ ВЕРСИЯ