缓冲区中数组的Shift / Unshift元素

时间:2014-03-19 10:53:23

标签: arrays emacs elisp

如果可以在编辑源代码时移动数组元素(左/右),那就太好了。例如,如果你有这个数组(用任何语言)

var a = ['foo', 'bar', baz]; // JavaScript for instance

如果光标位于baz旁边(开头,末尾,甚至中间),你就可以在数组中移动该元素(在这种情况下,它是最后一个)所以你不能向右移动它,如果你运行一个函数move-array-item-leftunshift-array-item,它会向baz移动到左边:

var a = ['foo', baz, 'bar']; // JavaScript for instance

有人知道如何实现这种功能(或者有人已经这样做了吗?)

web-mode提供此功能会很高兴,但也许有一种通用的辅助模式可以做到这一点。

2 个答案:

答案 0 :(得分:4)

将该点放在baz的开头并点击 C-M-t 。它运行命令transpose-sexps,它似乎做你想要的。

答案 1 :(得分:0)

我为Lisp系列语言实现了类似的功能。 请参阅the gif

也可以为Algol家族做类似的事情。