是否有与此 "piece wise copying of the line above" 宏等效的 Sublime Text?

Is there a Sublime Text equivalent to this "piece wise copying of the line above" macro?

我最近从 gvim 切换到 Sublime Text 3。我正在寻找一个等效的,或者与这个非常有用的 vim 宏相对接近的东西:

" Piece-wise copying of the line above the current one
:imap <C-L> @@@<ESC>hhkywjl?@@@<CR>P/@@@<CR>3s

宏逐字复制上面的行。当您重复快捷键时,光标会在当前行上前进。

它在各种倾向于多行对齐的声明性语句中很有用。这是编辑短 CSS 声明时它会做什么的粗略示例。美元符号表示使用快捷键后的光标位置:

#foo .bar { color:red; }
#$         <--- I pressed the shortcut 1 time...
#foo$      <--- ...................... 2 times...
#foo .$
#foo .bar$
#foo .bar { $
#foo .bar { color$
#foo .bar { color: $

什么是"word",并不是特别重要。如果宏把"#foo"一个字复制或者"#"然后复制"foo",还是很有用的

PS:万一我最终尝试自己创建它,我应该考虑创建一个插件,还是您认为宏可以解决问题?

这是一个相对接近的等价物(在 Sublime Text 3 中测试过)。 设计用于 Vintage mode,在插入模式下使用的宏快捷方式

宏在没有 Vintage 模式的情况下无法运行,我也懒得制作非 Vintage 版本,因为它相对晦涩难懂 question/answer,而这个版本适合我。如果有人想制作一个非 Vintage 版本,或者更好的是,一个可以双向工作的宏,那将是对这个问题的一个很好的贡献。

原来录制和保存宏并不太复杂。我使用视觉模式是因为 Vintage 模式“猛拉”一个词 (yw) 似乎没有正确记录。

宏步骤:

  • 向上移动
  • ESC(返回命令模式)
  • v(视觉)
  • e(select 到词尾)
  • y(拉克)
  • 下移
  • p(粘贴)
  • A(大写 A > 在行尾插入模式)

设置

  • the following gist保存到宏文件中,例如Piece-wise-copying-line-above.sublime-macro(无论你的Sublime packages/etc在哪里)

  • 添加键绑定文件的快捷方式。例如:

    { "keys": ["ctrl+l"], "command": "run_macro_file", "args": {"file": "res://Packages/User/Piece-wise-copying-line-above.sublime -宏"}},