emacs iedit 批量修改变量名

下载iedit插件git

cd ~/.emacs.d
git clone https://github.com/victorhge/iedit.git

~/.emacs文件中添加github

; iedit
(add-to-list 'load-path "~/.emacs.d/iedit/")
(require 'iedit)
(define-key global-map (kbd "C-c ;") 'iedit-mode)

M-x eval-buffer数组

使 iedit生效ide

https://pan.baidu.com/s/1gdvjfLD测试

 

一下代码用来测试这个插件ui

分治法求最大字段和.net

/**
 * @var a: Array
 */
function maxSubsequenceSum(a) {
    return maxSubSum(a, 0, a.length-1);
}

/**
 * @var a: Array
 * @var left: Int
 * @var right: Int
 */
function maxSubSum(a, left, right) {
    var maxLeftSum, maxRightSum;
    var maxLeftBorderSum, maxRightBorderSum;
    var leftBorderSum, rightBorderSum;
    var center, i;

    if (left === right) {
	if (a[left] > 0) {
	    return a[left];
	} else {
	    return 0;
	}
    }
    center = left + Math.floor((right - left) / 2);
    maxLeftSum = maxSubSum(a, left, center);
    maxRightSum = maxSubSum(a, center + 1, right);

    maxLeftBorderSum = 0;
    leftBorderSum = 0;
    for (i = center; i >= left; i--) {
	leftBorderSum += a[i];
	if (leftBorderSum > maxLeftBorderSum) {
	    maxLeftBorderSum = leftBorderSum;
	}
    }

    maxRightBorderSum = 0;
    rightBorderSum = 0;
    for (i = center+1; i <= right; i++) {
	rightBorderSum += a[i];
	if (rightBorderSum > maxRightBorderSum) {
	    maxRightBorderSum = rightBorderSum;
	}
    }
    return max3( maxLeftSum, maxRightSum,
		 maxLeftBorderSum + maxRightBorderSum );
}

function max3(a, b, c) {
    return a > b ? ((a > c) ? a : c ) : (b > c ? b : c);
}

var a = [4,-3,5,-2,-1,2,6,-2];
var sum = maxSubsequenceSum(a);
console.log( sum );  // 11

若是数组元素不是整数, 须要传入参数比较大小插件

https://blog.csdn.net/fareast_mzh/article/details/81810822blog

光标移动到变量上,按Ctrl+C 而后按 ; (分号), 编辑, 再 Ctrl C  ; 便可改变变量名get

 

没有这个插件的话,能够用 query-replace 命令 替换文本

M-x query-replace   询问每一个是否替换

M-x replace-string   不询问直接替换

相关文章
相关标签/搜索