当前位置:  开发笔记 > 编程语言 > 正文

emacs中的矩形函数

如何解决《emacs中的矩形函数》经验,为你挑选了2个好方法。

我在几个地方读过emacs中的矩形函数非常有用.我已经读过一些关于它们的内容,但我无法理解为什么.我的意思是,当你想杀死一个段落时,你标记第一行/列然后标记最后一个,那实际上是一个矩形,对吧?但你仍然可以使用正常的杀...

那么你会用它们进行什么样的转换呢?



1> Dave Webb..:

如果您在文本文件中的列中包含数据,M-x delete-rectangle或者M-x kill-rectangle您可以删除单列数据.同样,M-x yank-rectangle将粘贴到一列文本中.

例如,采用以下文本:

1. alligator    alphorn
2. baboon       bugle
3. crocodile    cornet
4. dog          didgeridoo
5. elephant     euphonium 
6. fish         flugelhorn   
7. gopher       guitar

从鳄鱼皮中选择吉他.选择的开始和结束标出矩形的两个相对的角.输入M-x kill-rectangle,您立即拥有:

1. alphorn
2. bugle
3. cornet
4. didgeridoo
5. euphonium 
6. flugelhorn
7. guitar

接下来将标记放在顶行的末尾,如果需要,添加一些空格并输入M-x yank-rectangle和ta-da!您已重新排序列:

1. alphorn      alligator    
2. bugle        baboon       
3. cornet       crocodile    
4. didgeridoo   dog          
5. euphonium    elephant     
6. flugelhorn   fish         
7. guitar       gopher       



2> Mike Stone..:

我喜欢将矩形用于两个主要目的,在每一行插入相同的文本,或者杀死一列文本(类似于Dave Webb的答案).

这些有两个有用的快捷方式,C-x r k将杀死一个矩形,并C-x r t插入(有其他矩形命令带有C-x r前缀,但这些是我使用的).

所以,假设您想要获取一些代码并对其进行格式化,以便您可以将其发布在Stack Overflow帖子中...您需要以4个空格作为前缀.所以,转到第一行的开头,C-SPC进行标记,然后转到最后一行的开头C-x r t ,然后就可以了!然后您可以将其复制并粘贴到Stack Overflow中.我遇到了这种有用的更复杂的情况,实际上你想要在特定地方的每一行插入文本.

所以另一种情况就像Dave Webb的情况,如果你想杀死一个矩形,请使用C-x r k,因为它只是更快;-)

另外,根据我刚开始时打印出来的参考卡,您可以执行以下操作:

C-x r r:复制到注册表

C-x r y:猛拉一个矩形

C-x r o:打开一个矩形,右移文本(无论这意味着......)

C-x r c:删除一个矩形(我认为这意味着用空格替换它,但你必须尝试看看)

C-x r t:带文本的前缀(如上所述)

C-x r k:杀戮(如上所述)

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有