下载iedit插件
cd ~/.emacs.d
git clone https://github.com/victorhge/iedit.git
~/.emacs文件中添加
; 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生效
https://pan.baidu.com/s/1gdvjfLD
一下代码用来测试这个插件
分治法求最大字段和
/**
* @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/81810822
光标移动到变量上,按Ctrl+C 然后按 ; (分号), 编辑, 再 Ctrl C ; 即可改变变量名
没有这个插件的话,可以用 query-replace 命令 替换文本
M-x query-replace 询问每个是否替换
M-x replace-string 不询问直接替换
相关文章:
emacs安装配置 https://blog.csdn.net/fareast_mzh/article/details/81463853