我最近从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: $
什么是“单词”,并不是特别重要。如果宏在一个单词或“#”中复制“#foo”,然后复制“foo”,它仍然非常有用。
PS :如果我自己最终尝试创建它,我应该考虑创建一个插件还是你认为宏可以做到这一点?
答案 0 :(得分:0)
这是一个相对接近的等价物(在Sublime Text 3中测试过)。 旨在使用Vintage mode,在插入模式下使用的宏快捷方式。
如果没有Vintage模式,宏不能正常工作,因为它是一个相对模糊的问题/答案,我不能打算制作非Vintage版本,这个版本适合我。如果有人想制作一个非Vintage版本,或者更好的是,一个可以双向工作的宏,那将是对这个问题的一个很好的贡献。
通过录制和保存宏来证明它并不复杂。我使用了视觉模式,因为复古模式&#34;猛拉&#34;一句话(yw)似乎没有正确记录。
将the following gist保存到宏文件中,例如csv.writer
(无论您的Sublime包/等在哪里)
为Key Bindings文件添加快捷方式。例如:
{&#34; keys&#34;:[&#34; ctrl + l&#34;],&#34; command&#34;:&#34; run_macro_file&#34;,&#34; args&# 34;:{&#34; file&#34;:&#34; res://Packages/User/Piece-wise-copying-line-above.sublime-macro"}},