python - 如何在Vim中优雅删除末尾的空白字符以及粘贴代码?
迷茫
迷茫 2017-04-18 10:16:47
0
2
518

问题1

比如说,有下面这样一段代码,使用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]  
...

问题2

关于在Vim中复制系统粘贴板的代码,使用前要触发pastetoggle模式,否则indent会出现问题,我一般是这样设置的:

set pastetoggle=<F9>

但是这样还是有些繁琐,粘贴完之后又要重复按<F9>切换回来,请问有什么好的方法,可以粘贴系统粘贴板的代码的时候不用触发pastetoggle模式,自动识别indent么?

补充

对于问题二,参考stackoverflow上这个精彩的回答。使用"+p实际上比Ctrl+Shift+V更加方便。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

répondre à tous(2)
迷茫

Source

: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,

:%s/\s\+$//g

consiste à supprimer tous les caractères vides à la fin de la ligne.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!