比如说,有下面这样一段代码,使用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 <F5> :let _s=@/ <Bar> :let @/=_s <Bar< ;バー> :unlet _s
:nnoremap <silent> <F5> :let _s=@/ <Bar> :%s/s+$//e <Bar> :let @/=_s <Bar> :nohl <Bar> :unlet _s <CR>
这样你按 F5 就可以去掉结尾的空格了。英文中,这种操作叫 Remove Trailing Whitespace。你可以搜下这个关键词
至于复制系统剪切板上的东西,在 vimrc 里面加上了
set clipboard=unnamed
就可以用了。。顺便我用的是 Mac,好像没有再去设置你说的
pastetoggle
另外,格式化代码,你按下
この方法では、F5 キーを押して末尾のスペースを削除できます。英語では、この操作は「末尾の空白の削除」と呼ばれます。このキーワードで検索できます🎜 🎜システムクリップボード上のものをコピーするには、=
就可以了。。。粘贴进来之后按=
set Clipboard=unnamed
を vimrc に追加すると機能します。 。ちなみに、私は Mac を使用していますが、あなたが指摘した
pastetoggle
の設定を行っていないようです🎜 🎜さらに、コードをフォーマットするには、=
を押すだけです。 。 。貼り付けたら、=
を押します🎜最初の質問については、私は通常次のようにします。
リーリー行末の空白文字をすべて削除することです。