Я взял превосходный ответ, изложенный выше, и расширил его следующим образом. Моя цель состояла в том, чтобы использовать vim для создания новых файлов разметки, необходимых для вики (в данном случае это Gollum wiki)
Я впервые попробовал:
map <silent> <leader>cf :call writefile([], expand("<cfile>"), "t")<cr>`
вышесказанное работает как указано в ответе. Однако сначала я подумал, что это не работает, потому что на самом деле я не видел открытия файла в vim. Использование второго фрагмента кода ниже откроет новый файл - это больше, чем я искал. Поэтому я объединил их и попробовал:
map <leader>cf :e <cfile><cr>
но это не работает для вики, потому что когда вы пытаетесь создать новый файл в вики, используя синтаксис, такой как [[the-new-file]]
синтаксис вики не допускает расширение файла в скобках. Однако Vim должен знать расширение при создании нового файла, чтобы это работало. В этом случае я использовал:
map <leader>cf :e <cfile>.md<cr>
чтобы я мог создавать новые файлы уценки. Есть способы дополнительно настроить это (например, не жестко кодируя расширение), но вышеупомянутое прекрасно работает для моих нужд. Если мне когда-нибудь понадобится другое расширение (например, для сохранения файла .wiki), я, вероятно, просто выберу простой маршрут и создам другую карту, например:
map <leader>cwf :e <cfile>.wiki<cr>
В качестве дополнительного преимущества вы можете использовать ту же команду, чтобы открыть уже существующий файл уценки (стандартная команда gf
здесь не будет работать, поскольку расширение файла отсутствует).