sha*_*kra 3 emacs emacs24 sublimetext2
我正在观看一个Django的在线课程,老师在Sublime Text中用一个列表的两个值做了一个很好的技巧,它将每个值转换到另一个的位置,例如:
list = ("foo", "bar", "hello")
Run Code Online (Sandbox Code Playgroud)
标记foo并bar用鼠标然后进行转置,得到以下内容:
list = ("bar", "foo", "hello")
Run Code Online (Sandbox Code Playgroud)
如何在Emacs中实现?
正如@artscan所说,你正在寻找的命令是transpose-words.它M-t默认是绑定的.它在没有区域的情况下工作(即,您不必"标记"任何东西以使其工作).要转置foo和bar,指向可以是以下任何字符:
oo", "b
把点之前,他们将转list和foo; 把它放在他们之后将转置bar和hello.
用于转置其他文本单元的相关命令及其默认键绑定(如果有):
transpose-chars(C-t)
transpose-lines(C-x C-t)
transpose-paragraphs
transpose-sentences
transpose-sexps(C-M-t)
如果要通过单次击键转置不相邻的单词(例如,foo和hello),则可以定义键盘宏或自定义命令并将其绑定到键:
(defun hop-one-transpose ()
"Transpose words that are separated by a single word."
(interactive)
(transpose-words 2)
(backward-word 3)
(forward-char)
(transpose-words 1))
(global-set-key (kbd "C-x M-t") 'hop-one-transpose)
Run Code Online (Sandbox Code Playgroud)
如果您发现自己想知道Emacs是否有针对某种类型的操作的命令,请尝试使用command-apropos以查找它:
C-h a <action> RET
| 归档时间: |
|
| 查看次数: |
1796 次 |
| 最近记录: |