int x = 1;______
(下划线表示空格) ,我想获得:
int x = 1;
我天真的解决方案是$bld$
,有没有最快捷的方法?
在Emacs中我使用M-\ (delete-horizontal-space)
int x = 1;______
(下划线表示空格) ,我想获得:
int x = 1;
我天真的解决方案是$bld$
,有没有最快捷的方法?
在Emacs中我使用M-\ (delete-horizontal-space)
我这样做了搜索和替换映射:
map <leader>W :%s/\s\+$//<CR>:let @/=''<CR>
:%s/\s\+$//
删除所有尾随空格,然后:let @/=''
清除搜索寄存器。
对于当前行:
:s/\s\+$
对于所有行:
:%s/\s\+$
的替代文本可以,如果空白被省略,所以我们不需要写s/\s\+$//
。
'\ +'比'*'效率更高;这意味着只有尾随空格的行才会被修改,而不是每一行。 –
我会更强。 '*'只是一个坏主意。在它之后尝试'u':每一行都被修改过,而不仅仅是实际被修改过的行。很难看到改变了什么。 –
参见[你怎么能自动删除在vim尾随空白(http://stackoverflow.com/questions/356126/how-can-you-automatically-remove-trailing-whitespace- in-vim) –
'$ bld $'是什么? – doubleDown
@doubleDown这是一系列按键。 $将光标移动到行的末尾,b将光标移动到前一个单词的末尾,l将光标向右移动一个字符,并且d $删除从光标到行尾的所有内容。 –