在vim中我的python缩进设置中有哪些字符?

时间:2011-03-23 21:04:22

标签: python indentation vim

我在我的vimrc中有这个。

set listchars=trail:.,tab:>-,eol:$
set nolist
noremap <leader>i :set list!<CR> " Toggle invisible chars

当我使用Python进行编程并运行<leader>i时,我的标识不会显示任何字符,因为它不是尾随空格,也不是标签。

现在,我想知道:如果他们不是空格或标签,我的身份中究竟有什么字符?

我问这个是因为我打算忽略vimdiff中的空格,但是在编辑python文件时这不是一个问题,其中空格是相关的吗?

2 个答案:

答案 0 :(得分:2)

缩进是空格。尾随空格是空格,后面只有一个换行符。缩进显然在它之后有代码,因此没有列表char。

关于您的编辑,您有几个选择。

  • 通过将diffopt设置为autocmd FileType python,不要让vimdiff忽略python文件的空格。
  • 使用制表符缩进代码(set noexpandtab用于python文件),并在分析文件时使用set list来比较缩进。这是不太理想的,因为vim不会突出显示并指出缩进的差异。

可能有更多选择,但这些是我现在能想到的两个选择。

答案 1 :(得分:1)

使用十六进制编辑器查看典型的源文件,或使用Python:

python -c "print repr(open('yourfile.py', 'rb').read(1024))"

将毫不含糊地打印文件的第一个1Kb。