要缩进HAML代码,我通常会添加或删除2个空格。我添加:
这就是添加了2个空格。但是要删除空格,我不会工作,例如:
这不起作用,其他行空格不会被删除。我怎么能这样做?
以下是一个示例代码:
.module_1
.pricing_details
%h2
Save
这个想法是移动一切,所以它匹配2个空格.module_1为:
.module_1
.pricing_details
%h2
Save
建议的解决方案使用< >现在我只想用于缩进,例如:
.module_1
.pricing_details
%h2
Save
将上述内容移至:
.module_1
.pricing_details
%h2
Save
答案 0 :(得分:7)
尝试< 和> 命令。您需要:set shiftwidth=2
才能以这种方式工作。
<强>更新强>
考虑你的上一个例子,改变
.module_1
.pricing_details
%h2
Save
到⇓
.module_1
.pricing_details
%h2
Save
可以移至.pricing_details
行并点击Vjj<
。
答案 1 :(得分:4)
突出显示您的文字并执行:
<
使用:
.
多次重复动作。请注意,无论您的移动宽度如何,这都会移动文本。如果不是2,则可以通过执行以下操作将其设置为2:
:set sw=2
您可以使用“&gt;”以相同的方式缩进文字。
所有这些都在文档中:http://vimdoc.sourceforge.net/htmldoc/usr_25.html#25.3
答案 2 :(得分:-1)
在vimrc中:
" pressing F5 adds two spaces at beginning of line and goes to next line
inoremap <F5> <ESC>:s/\(.*\)/ \1/e<CR>:set nohlsearch<CR>ji
" also works when not in edit mode
map <F5> i<F5><ESC>
" F6 removes two spaces from the end of whitespace at the beginning of line
inoremap <F6> <ESC>:s/\(^\s*\)/\1/e<CR>:set nohlsearch<CR>ji
map <F6> i<F6><ESC>
要从段落的每一行的开头删除2个空格,只需按F5键完全所有行。
这是在我的键绑定之后建模的,用于评论和取消注释C代码(当然,区别在于正则表达式)
唯一的缺点是它需要禁用搜索突出显示,因为正则表达式始终在整个文档附近匹配。