multiple-cursors实在是太好用了

*/-->

code {color: #FF0000}
pre.src {background-color: #002b36; color: #839496;}

multiple-cursors实在是太好用了

1 什么是multiple-cursors

multiple-cursors顾名思义,就是同时存在多个光标,这样就可以一次操作多个地方了。

官网:

https://github.com/magnars/multiple-cursors.el

2 常用的场景

2.1 同时修改多个变量或者函数名称,这一点和 iedit 模式比较像。

这个使用在编写html或者是xml的时候尤其使用的比较多。

2.2 在多个变量后面添加自增数字

3 配置

(use-package multiple-cursors
:bind (("C->" . mc/mark-next-like-this)
("C-<" . mc/mark-previous-like-this)
("C-M->" . mc/skip-to-next-like-this)
("C-M-<" . mc/skip-to-previous-like-this)
("C-c C-<" . mc/mark-all-like-this)
("C-S-<mouse-1>" . mc/add-cursor-on-click)
:map mc/keymap
("C-|" . mc/vertical-align-with-space))
:config
(setq mc/insert-numbers-default 1))

其中,使用鼠标点击添加/删除光标非常有用。有时候,我们不需要其中的一个光标,或者需要在某个地方添加一个光标,而用常规的方式很难选到的时候,用鼠标来选择操作会非常方便。

4 替换 iedit

替换 iedit ,主要是把快捷键 C-; 改掉:
:bind

("C-;"           . mc/mark-all-symbols-like-this-toggle)
("C-:" . mc/mark-all-symbols-like-this-in-defun)
:map mc/keymap
("C-|" . mc/vertical-align-with-space)
("C-_" . undo) ;undo-tree-undo point position wrong.
("C-;" . mc/my-quit)
("M-n" . mc/cycle-forward)
("M-p" . mc/cycle-backward)

然后,增加两个函数:

(defun mc/my-quit ()
"Quit from mark mode."
(interactive)
(mc/keyboard-quit)
(multiple-cursors-mode 0)) (defun mc/mark-all-symbols-like-this-toggle ()
"Toogle when only one matches!"
(interactive)
(if (region-active-p)
(mc/my-quit)
(mc/mark-all-symbols-like-this)))

Date: 2017-02-09 23:14

Created: 2017-02-24 周五 22:26

Emacs 26.0.50.4 (Org mode 8.2.10)

Validate

multiple-cursors实在是太好用了的更多相关文章

  1. 这届网友实在是太有才了!用python爬取15万条《我是余欢水》弹幕

    年初时我们用数据解读了几部热度高,但评分差强人意的国产剧,而最近正午阳光带着两部新剧来了,<我是余欢水>和<清平乐>,截止到目前为止,这两部剧在豆瓣分别为7.5分和7.9分,算 ...

  2. 剑指offer20题表示数值的字符串:这题实在是太优雅了

    目录 前言 一.憨憨初解 1.思路 2.代码 3.战绩 4.反思 二.看懂再解 1.思路 2.代码 3.C++版战绩 总结 前言 题目来源:https://leetcode.cn/problems/b ...

  3. Vus the Cossack and Strings(Codeforces Round #571 (Div. 2))(大佬的位运算实在是太强了!)

    C. Vus the Cossack and Strings Vus the Cossack has two binary strings, that is, strings that consist ...

  4. Python人工智能之路 - 第二篇 : 算法实在太难了有现成的直接用吧

    本节内容 预备资料: 1.FFmpeg: 链接:https://pan.baidu.com/s/1jonSAa_TG2XuaJEy3iTmHg 密码:w6hk 2.baidu-aip: pip ins ...

  5. QT太多的内容和模块,怎么办?

    我有个问题,QT可以做许多不同的开源项目,而且每个QT新版本都那么内容,感觉学不过来.用不过来那么我们还应该学习和使用其它语言吗? 如果回答,在需要的时候学习,那么这句话意味着,这几年你基本上就局限于 ...

  6. expdp/impdp数据泵分区表导入太慢了。添加不检查元数据参数提高效率:ACCESS_METHOD=DIRECT_PATH

    分区表数据泵导入太慢,达不到客户的迁移要求导出语句如下:(10G单节点)userid='/ as sysdba'directory=milk_dirdumpfile=mon_%U.dmplogfile ...

  7. Xcode下载模拟器太慢?

    在Xcode里下载模拟器,速度实在是太慢了.点击下载,卡住十几分钟才开始下载,并且龟速进行. 解决方案:获取模拟器下载地址,自己选择下载器进行下载. 找到下载链接 打开 Console.app(苹果电 ...

  8. postgreSQL PL/SQL编程学习笔记(三)——游标(Cursors)

    Cursors Rather than executing a whole query at once, it is possible to set up a cursor that encapsul ...

  9. 解决sql脚本文件太大无法打开的问题

    as we known,sql数据库高版本向低版本还原是不太可能但是又经常会碰到的事,今天实测了一种方法 步骤:任务—>生成脚本—> 下一步->高级,选择数据库版本和编写脚本数据类型 ...

随机推荐

  1. 怎么学习PHP

    学习PHP有半个月了.每天都要打代码and写笔记.学过C和Java,在学习PHP的过程中比较顺利吧 (^-^) 代码打得越多,运行得越多,慢慢得会对程序理解得越深.下面就讲讲我学习PHP的心得.PHP ...

  2. 用swith语句来键入一个整数输出对应是星期几

    基本格式:switch(表达式) { //基本数据类型可以接收byte,short,char,int 引用数据类型可以接收枚举(JDK1.5)String字符串(JDK1.7) case 值1: 语句 ...

  3. Python字典(一)

    数据类型 数据类型划分:可变.不可变 不可变数据类型:元组.bool.int.str  [可哈希] 可变数据类型:list,dict,set [可哈希] 字典格式 dic1={ key(键值):val ...

  4. ret/retn人为改变执行地址

    1.CALL和RET/RETN是一对指令,CALL把返回地址压入堆栈,RET/RETN把返回地址从堆栈取出,然后将IP寄存器改为该返回地址.  2.不使用CALL,而是人为地把地址放入堆栈即可实现.如 ...

  5. Codesforces 467E Alex and Complicated Task

    E. Alex and Complicated Task time limit per test 2 seconds memory limit per test 256 megabytes input ...

  6. 重读ORB_SLAM之Tracking线程难点

    1. 初始化 当获取第一帧图像与深度图后,首先设置第一帧位姿为4*4单位矩阵,然后为整个map添加关键帧与地图点.且更新地图点与关键帧的联系,例如地图点被哪个关键帧观测到,而此关键帧又包含哪些地图点. ...

  7. 如何去掉万恶的wps屏保

    自从换了上个UI的电脑后,就莫名其妙的多了屏保,最开始以为屏蔽掉就好了,发现他依然不屈不挠的有,然后就百度了好多,也没找到...心累 今天终于开窍了,在角落里找打了.话不多说,上图 打开首页,找到应用 ...

  8. The Preliminary Contest for ICPC Asia Xuzhou 2019 I J

    I. query 题意:给出n的一个排列,有m个询问[l,r],询问[l,r]直接有倍数关系的pair个数. 解法:比赛完之后听说是原题,但是我没做过呀,做题太少了qwq.首先因为数字是1-n的,所以 ...

  9. vue 点击当前元素改变样式

    template  <ul>    <li v-for="(relation,index) in relations" v-bind:id="relat ...

  10. 数组(R语言)

    myarray = <- array (vector, dimensions, dimnames) 例如,生成一个2*3*4的数组: dim1 <- c("A1",&q ...