template.nvim
template.nvim copied to clipboard
Quickly insert templates into file
Template.nvim
Quickly insert templates into file.

Install
-- with packer
use {'glepnir/template.nvim'}
Options
local temp = require('template')
temp.temp_dir -- template directory
temp.author -- your name
temp.email -- email address
Basic Usage
Template Grammar
-
{{_date_}}insert current date -
{{_cursor_}}set cursor here -
{{_file_name_}}current file name -
{{_author_}}author info -
{{_email_}}email adrress -
{{_variable_}}variable name -
{{_upper_file_}}all-caps file name
Define your template
Define a template for a go file. template named main_owner.go in temp.temp_dir .in my local config it
to ~/.config/nvim/template
// Copyright {{_date_}} {{_author_}}. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package {{_file_name_}}
func main() {
{{_cursor_}}
}
- Work with exist file
if there has a file main.go, and open it input Template <Tab> . select the template main_owner
It will insert template to this file like
// Copyright 2022-07-05 21:05:36 glephunter. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package main
func main() {
| -- cursor in there
}
- Work with not exist file
use Template test.go <TAB>, it will create a file named test.go in current path and auto open
this file insert template.
- Work with not exist file and custom variable
a lua template file named nvim_temp.lua, content is
local api,fn = vim.api,vim.fn
local {{_variable_}}
{{_cursor_}}
return {{_variable_}}
use Template test.lua var=template <TAB> then it will auto fill template name nvim_temp if there
only has one lua template file.
local api,fn = vim.api,vim.fn
local template
| -- cursor here
return template
- Work with exist file and custom variable
use Template var=template <TAB>
- Find all templates
template.nvim use telescope. so you need register template telescope extension to telescope
require("telescope").load_extension('find_template')
Then you can use Telescope find_template to check all templates
Donate
If you'd like to support my work financially, buy me a drink through paypal