我已经研究了几个关于堆栈溢出的问题,了解了如何在没有找到所需内容的情况下将空格转换为制表符.关于如何将制表符转换为空格,似乎还有更多的问题,但我正试图做相反的事情.
在Vim
中,我try 了:retab
和:retab!
,但运气不佳,但我相信它们实际上是用于从制表符到空格的.
我在命令提示符下try 了expand
和unexpand
,但没有成功.
以下是相关文件:
如何使用Vim
或shell将leading个空格转换为制表符?
我已经研究了几个关于堆栈溢出的问题,了解了如何在没有找到所需内容的情况下将空格转换为制表符.关于如何将制表符转换为空格,似乎还有更多的问题,但我正试图做相反的事情.
在Vim
中,我try 了:retab
和:retab!
,但运气不佳,但我相信它们实际上是用于从制表符到空格的.
我在命令提示符下try 了expand
和unexpand
,但没有成功.
以下是相关文件:
如何使用Vim
或shell将leading个空格转换为制表符?
使用Vim扩展所有leading个空间(大于'tabstop'
),使用retab
是正确的,但首先要确保'expandtab'
被重置(:verbose set ts? et?
是您的朋友).retab
取range,所以我通常指定%
表示"整个文件".
:set tabstop=2 " To match the sample file
:set noexpandtab " Use tabs, not spaces
:%retab! " Retabulate the whole file
在执行类似操作(尤其是Python文件!)之前,我通常设置为'list'
,这样我就可以see空格并进行更改.
我在my .vimrc
中有以下映射:
nnoremap <F2> :<C-U>setlocal lcs=tab:>-,trail:-,eol:$ list! list? <CR>