multiple-cursors做代码对齐
multiple-cursors做代码对齐
*/-->
code {color: #FF0000}
pre.src {background-color: #002b36; color: #839496;}
multiple-cursors做代码对齐
假设我们有这样一个文件:
::msgcat::mcset cn "steel" "钢"
::msgcat::mcset cn "al" "铝"
::msgcat::mcset cn "general" "焊缝参数"
::msgcat::mcset cn "FAT" "疲劳等级 *"
::msgcat::mcset cn "Weld type" "焊缝类型"
::msgcat::mcset cn "Weld width" "焊缝宽度"
我们想要让它对齐成如下:
::msgcat::mcset cn "steel" "钢"
::msgcat::mcset cn "al" "铝"
::msgcat::mcset cn "general" "焊缝参数"
::msgcat::mcset cn "FAT" "疲劳等级 *"
::msgcat::mcset cn "Weld type" "焊缝类型"
::msgcat::mcset cn "Weld width" "焊缝宽度"
当然,我们可以使用 align-regexp ,然后,使用正则表达式进行对齐,但是,那个还是比较麻烦的。
其实,multiple-cursors中有一个命令 mc/vertical-align-with-space ,可以用来进行对齐操作。
这样,我们只需要先创建一个multiple-cursors:

然后,跳到最后面:

再用 sp-backward-sexp ,跳到要对齐的位置:

再执行 mc/vertical-align-with-space ,就可以对齐了:

这样,基本上可以应对很多比较麻烦的对齐。当然,简单的,用空格或者是其他一个符合对齐的工作,可以使用另外一个函数来完成,更加方便:
(defun my-align-regexp-repeated (start stop regexp)
"Like align-regexp, but repeated for multiple columns. See
http://www.emacswiki.org/emacs/AlignCommands"
(interactive "r\nsAlign regexp: ")
(let ((regexp (if (string= regexp "") " " regexp))
(spacing 1)
(old-buffer-size (buffer-size)))
;; If our align regexp is just spaces, then we don't need any
;; extra spacing.
(when (string-match regexp " ")
(setq spacing 0))
(align-regexp start stop
;; add space at beginning of regexp
(concat "\\([[:space:]]*\\)" regexp)
1 spacing t)
;; modify stop because align-regexp will add/remove characters
(align-regexp start (+ stop (- (buffer-size) old-buffer-size))
;; add space at end of regexp
(concat regexp "\\([[:space:]]*\\)")
1 spacing t)
(indent-region start (+ stop (- (buffer-size) old-buffer-size)))))
multiple-cursors做代码对齐的更多相关文章
- 完美解决--用VS中的Git做代码管理器,与他人共享代码
1.创建代码仓库,这里说一下为什么要创建仓库,Git不能够作为源代码管理器,vs中自带的也只能够在本地进行管理,要和他们共享的话必须要有服务器端去存储代码,类似于SVN,它就有客户端和服务器端,这里推 ...
- vs code代码对齐快捷键
vscode缩进快捷键: 选中文本: Ctrl + [ 和 Ctrl + ] 实现文本的向左移动或者向右移动: vscode代码对齐快捷键: 选中文本: Shift + ...
- [资源]--完美解决--用VS中的Git做代码管理器,与他人共享代码
1.创建代码仓库,这里说一下为什么要创建仓库,Git不能够作为源代码管理器,vs中自带的也只能够在本地进行管理,要和他们共享的话必须要有服务器端去存储代码,类似于SVN,它就有客户端和服务器端,这里推 ...
- VS中代码对齐等快捷键
在VS2008中,选定代码后,按Ctrl+K+F组合键,可以自动进行代码对齐. 注意:要先按下Ctrl和K,再按下F,因为Ctrl+F是查找的快捷键. 也可以先按下Ctrl+K,再按下Ctrl+F. ...
- vs快捷键代码格式化或代码对齐名字
开发人员,换个电脑后环境要重装,vs的环境也需要重新设置. 快捷键需要重新设置,插件也需要重装,在这里备注下,换个环境就可以直接用了. 由于vs不同版本,代码对齐或者代码格式化的快捷键都不一样,所以导 ...
- idea 安装findBugs 可以做代码扫描,也可以导出扫描结果生成扫描报告
idea 安装findBugs 可以做代码扫描,也可以导出扫描结果生成扫描报告 https://my.oschina.net/viakiba/blog/1838296 https://www.cnbl ...
- Gitlab来做代码review
Gitlab来做代码review 代码review是代码质量保障的手段之一,同时开发成员之间代码review也是一种技术交流的方式,虽然会占用一些时间,但对团队而言,总体是个利大于弊的事情.如何借助现 ...
- vim中编辑了代码 但是提示can not write的解决办法和代码对齐办法
方式1: 1 :w /tmp/xxxx(如果是c文件就.c拉) 保存在/tmp下面 2 从tmp中复制到有权限的目录下面 cp /tmp xxxx ./(当前目录) 方式2::w !sudo tee ...
- Cordova Android项目如何做代码混淆
我想修改build.gradle配置 可是这个文件明确写了// GENERATED FILE! DO NOT EDIT!可是还是试了试: if (cdvReleaseSigningProperties ...
随机推荐
- 转 什么是Mbps、Kbps、bps、kb、mb及其换算和区别
Mbps 即 Milionbit pro second(百万位每秒): Kbps 即 Kilobit pro second(千位每秒): bps 即 bit pro second(位每秒): 速度单位 ...
- /usr/bin/python^M: bad interpreter: No such file or dir解决办法
Linux直接./xx.py执行python脚本时报错 修改脚本文件编码 $vi xx.py $set ff=unix $:wq
- 分布式服务防雪崩熔断器,Hystrix理论+实战。
Hystrix是什么? hystrix对应的中文名字是"豪猪",豪猪周身长满了刺,能保护自己不受天敌的伤害,代表了一种防御机制,这与hystrix本身的功能不谋而合,因此Netfl ...
- seaweedfs使用记录
搭建seaweedfs 在github上面clone,然后cd到docker目录使用docker-compose up -d就可以启动seaweedfs 启动以后通过xxx:9333可以看到效果 上传 ...
- 自定义 MessageBox 组件
效果: 公共组件页面: js部分: <script> export default { props: { title: { type: String ...
- Matplotlib_key_point
Matplotlib官方入门教程: http://www.labri.fr/perso/nrougier/teaching/matplotlib/ 本文参考教程: http://codingpy.co ...
- 1、selenium 8大元素定位方式
元素定位方式: id name css class_name tag_name partial_link link_text : driver. find_element_by_link_text(& ...
- spring 获取url参数
1. usl格式: http://localhost:8080/contact/delete/3 java代码 @RequestMapping(value="/delete/{id}&quo ...
- testNG 并发测试
invocationCount是并发数,threadPoolSize是线程数,当线程是1的时候就是依次执行n次,当线程是并发次数时,就是同时执行n次 @Test public void abc ...
- RFCN理解,不完整待补全
RFCN的核心是通过修改roi pooling的位置,来增加共享参数的层,减少运算时间: roi pooling位置的影响如下: 越靠近 Input - 对应 ROI-Wise 检测子网越深,准确度也 ...