Vim-当代码的文字字符串中有括号时,如何实现正确的缩进

Vim - how to achieve correct indentation when code has parentheses in literal string

本文关键字:何实现 实现 缩进 文字 代码 字符串 Vim-      更新时间:2023-09-26

我有以下javascript代码:

function abc(alpha) {
    if(alpha == undefined) { alpha='0.5' };
    var color='rgba(';
    for(var ii =0; ii < 3; ii++) {
       color += Math.round(Math.random()*255) + ",";
    }
    color += alpha;
    color += ')';
    return color;
}

Vim将上面的代码缩进为:

function abc(alpha) {
        if(alpha == undefined) { alpha='0.5' };
        var color='rgba(';
                        for(var ii =0; ii < 3; ii++) {
                        color += Math.round(Math.random()*255) + ",";
                        }
                        color += alpha;
                        color += ')';
                        return color;
                        }

每当我们将'(''{'作为文字字符串的一部分时,这种行为就会出现在许多编程语言中。文件的其余部分也会出现不正确的缩进。在这种情况下,如何实现正确的压痕?

使用双引号似乎有效:

var color="rgba(";

试试这个插件:

JavaScript缩进