比如说,有下面这样一段代码,使用bronson/vim-trailing-whitespace
可以看见每一行末尾都有两个空白字符,请问如何在vim中优雅的去除这些行末的空白字符?我现在的做法是d$
,然后.
,但是这种原始的做法中间还要加一些b|w
等move命令,显然不符合Vim的哲学。
list = [1, 2, 3, 4]
list = [1, 2, 3, 4, 5]
list = [1, 2, 3, 4, 5, 6]
list = [1, 2, 3]
...
关于在Vim中复制系统粘贴板的代码,使用前要触发pastetoggle
模式,否则indent会出现问题,我一般是这样设置的:
set pastetoggle=<F9>
但是这样还是有些繁琐,粘贴完之后又要重复按<F9>切换回来,请问有什么好的方法,可以粘贴系统粘贴板的代码的时候不用触发pastetoggle
模式,自动识别indent么?
补充
对于问题二,参考stackoverflow上这个精彩的回答。使用"+p
实际上比Ctrl+Shift+V
更加方便。
:nnoremap <silent> <F5> :let _s=@/ <Bar> :%s/s+$//e <Bar> :let @/=_s <Bar> :nohl <Bar> :unlet _s <CR>
De cette façon, vous pouvez supprimer les espaces de fin en appuyant sur F5. En anglais, cette opération s’appelle Remove Trailing Whitespace. Vous pouvez rechercher ce mot-clé
En ce qui concerne la copie d'éléments dans le presse-papiers du système, ajoutez
set clipboard=unnamed
à vimrc et cela fonctionnera. .Au fait, j'utilise un Mac et je ne semble pas avoir configuré les paramètres que vous avez mentionnés
pastetoggle
De plus, pour formater le code, il suffit d'appuyer sur
=
. . . Après avoir collé, appuyez sur=
Pour la première question, je fais habituellement comme ça,
consiste à supprimer tous les caractères vides à la fin de la ligne.