我在sass文件中有一些行:
.menu
ul
xx: xx
li
xx: xx
a
xx: xx
.others
xx: xx
如果我想将整个.menu
部分向右移动一个宽度的标签,我应该使用7>>
。这太无聊了,我不得不指望.menu
中有多少行。
有没有简单的方法可以做到这一点?我的意思是,同时移动一个节点及其子节点
答案 0 :(得分:5)
转到节点的第一行,按Shift-V
,转到节点的最后一行,按>
。
答案 1 :(得分:4)
让我建议选择一个带有子节点的节点,然后使用缩进
>
或<
命令。
要在一次击键中选择缩进文本(SASS文件中的节点),可以使用
vim-indent-object插件。此插件定义了其他文本对象
根据缩进级别对文本块进行操作的映射。运用
这些映射,可以选择具有一定缩进级别的文本
vai
,vii
等等(例如,单词 - vaw
,viw
等)。看到
有关插件home page的其他详细信息。
答案 2 :(得分:0)
查找起始行和结束行(:set nu/set nonu
)的行号,例如4和10,然后使用
:4,10s/^/\t/
也就是说,用4到10行范围内的制表符替换行的开头。
或者只是简单地进行减法(结束 - 开始+ 1)并将其用于重复>>
,但显然光标需要在起始行上。这对于短片段来说非常好,但如果片段很长,则另一种方式更方便。