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   不詢問直接替換

相關文章
相關標籤/搜索