Emacs 将两个单词转置为崇高的文本
我在看Django的在线课程,老师用两个列表值在崇高的文本中做了一个很好的技巧,它将每个值转换到另一个值的位置,例如:Emacs 将两个单词转置为崇高的文本,emacs,sublimetext2,emacs24,Emacs,Sublimetext2,Emacs24,我在看Django的在线课程,老师用两个列表值在崇高的文本中做了一个很好的技巧,它将每个值转换到另一个值的位置,例如: list = ("foo", "bar", "hello") 用鼠标标记foo和bar,然后进行转置,得到以下结果: list = ("bar", "foo", "hello") 如何在Emacs中实现这一点?正如@artscan所说,您正在寻找的命令是转置单词。默认情况下,它绑定到M-t。它在没有区域的情况下工作(也就是说,你不必“标记”任何东西,它就可以工作)。要转换f
list = ("foo", "bar", "hello")
用鼠标标记foo
和bar
,然后进行转置,得到以下结果:
list = ("bar", "foo", "hello")
如何在Emacs中实现这一点?正如@artscan所说,您正在寻找的命令是
转置单词。默认情况下,它绑定到M-t
。它在没有区域的情况下工作(也就是说,你不必“标记”任何东西,它就可以工作)。要转换foo
和bar
,点可以位于以下任意字符上:
oo”,“b
将点放在它们前面将转换列表
和foo
;把它放在它们后面将使条
和你好
互换
用于转换其他文本单位的相关命令及其默认键绑定(如果有):
转置字符
(C-t)
转置行
(C-x C-t)
转置段落
转换句子
转置sexps
(C-M-t)
超越内置
如果要用一次击键转换不相邻的单词(例如,foo
和hello
),可以定义一个或一个自定义命令,并将其绑定到一个键:
(取消跳一转置()
“转置由单个单词分隔的单词。”
(互动)
(转置单词2)
(倒转词3)
(向前字符)
(转置单词1)
(全局设置键(kbd“C-x M-t”)“跳一转置)
附录:让Emacs帮助您发现Emacs
如果您想知道Emacs是否有用于某种类型操作的命令,请尝试使用command apropos
来查找它:
C-ha
RET我想你在寻找转置sexp
(而不是转置单词
),绑定到M-C-t
。在某些模式下,它对语法的理解足以将(foo(1,2),a+b)
转换为(a+b,foo(1,2))
。不幸的是,在C模式下,它会导致(fooa,(1,2)+b)
,这几乎没有那么有用。将光标放在foo
上,并调用M-x转置词
<默认情况下,代码>转置单词
绑定到M-t
。它在没有区域的情况下工作(也就是说,你不必“标记”任何东西,它就可以工作)。要转换foo
和bar
,点可以位于以下任意字符上:oo”,“b
。将它放在它们前面将转换list
和foo
;将其放在它们后面将转置条
和你好
。用于转置其他文本单位的相关命令,以及它们的默认键绑定(如果有):转置字符(C-t
),转置行
(C-x C-t
),转置段落
,转置句子
,转置sexps
(C-M-t
)。哦,哇,太棒了!谢谢(这个问题需要有答案,有志愿者吗?)如果我想只用一次按键就转置foo
和hello
,我该怎么办?@JorgeArayaNavarro您可以定义一个或一个自定义函数,并将其绑定到一个键。我将在我的答案中添加一个示例。如果双引号中的一个单词包含非单词字符,如点,例如“foo.baz”,“bar”