最近在学习围棋。
我发现在很多情况下,我需要输入以下文本:
package main
import "fmt"
func main () {
}
Run Code Online (Sandbox Code Playgroud)
所以我在想,也许我可以在我的.vimrc里面写一些 vim 函数,它可以在使用 vim 时将模板文本写入当前文件。这可以为我节省很多工作。
我知道经过几个小时的学习 vim 脚本语言后,我可以弄清楚。但我认为这将是许多没有经验的 vim 用户的共同需求,而且我在 Stackoverflow 上没有发现类似的问题。所以我问了这个问题。
您可以按如下方式创建模板:
首先,创建一个文件(例如base.go),该文件将作为您在问题中键入的代码段内的模板(我将模板存储在 中$HOME/.vim/templates/<language>/,因此在您的情况下,它将是$HOME/.vim/templates/go/base.go,但位置实际上取决于您),
然后,在您的 中.vimrc,添加以下映射:
nnoremap <space>t :-1read $HOME/.vim/templates/go/base.go<CR>/{<CR>o
Run Code Online (Sandbox Code Playgroud)
当您space-t在正常模式下按下时,此映射会执行以下操作:
$HOME/.vim/templates/go/base.go插入光标所在的位置,{,因此,当您打开一个新的 go 文件时,按space-t它将插入您的模板并将您放在需要开始编码的位置。
编辑:
-1指示插入文件内容的位置(:.read file在当前 ( .) 行-1之后插入它。在当前行 -1 之后插入它。如此有效,就是将它插入光标所在的位置并向下移动包括您所在的线路。有关更多信息,您可以阅读:help range。
跳转是通过/{<CR>o查找{( /{)的部分完成的,转到它 ( <CR>) 并在 ( o)之后进入插入模式。
| 归档时间: |
|
| 查看次数: |
1182 次 |
| 最近记录: |