Golang有一个名为'gofmt'的工具可以格式化你的代码。我正在使用vim-go
插件,每次保存文件时都会触发'gofmt'工具。
Golang使用标签进行缩进。我在以下示例中将标签标记为[ ]
。
这是我遇到的一个问题:
我有以下代码:
func main() {
[ ]if true {
[ ][ ]do.Something()
[ ]}
}
我需要评论if
条款。
所以,如果我像下面这样评论(我正在使用nerd-commenter
):
func main() {
//[ ]if true {
//[ ][ ]do.Something()
//[ ]}
}
Gofmt将其格式化为:
func main() {
[ ]//[ ]if true {
[ ]//[ ][ ]do.Something()
[ ]//[ ]}
}
如果我这样做:
func main() {
[ ]//if true {
[ ][ ]//do.Something()
[ ]//}
}
Gofmt将其格式化为:
func main() {
[ ]//if true {
[ ]//do.Something()
[ ]//}
}
我需要评论if
子句,如下所示:
func main() {
[ ]//if true {
[ ]//[ ]do.Something()
[ ]//}
}
然后Gofmt不会更改评论的块。 我怎么能这样做?
答案 0 :(得分:1)
我这样做的方法是使用块模式插入。
i
的{{1}}上。if
开始插入模式,然后按<C-v>
将其向下移动两行。jj
进入“Visual-Block insert”,它将在每个行的块选择开头插入文本(请参阅v_b_I
)。I
添加//<Esc>
并保留视觉区块插入模式。哪个应该能给你你想要的东西: