如何在vim中查看选项卡/空间和各种与选项卡相关的设置

  • 本文关键字:选项 设置 vim 空间 vim
  • 更新时间 :
  • 英文 :


关于vim中所有不同类型的选项卡相关设置,我读到的一个很好的答案是:将选项卡重新定义为4个空格。但是,有没有办法真正了解这些设置是如何应用和影响文件的?我用过类似的东西:

:set list

但它实际上只显示了一堆$(换行符(,而且我在文件中看不到任何空格或制表符。有没有一种方法可以查看vim中所有类似空格的字符,这样我就可以玩了,例如,tabstop可能如何工作,softtabstop可能如何工作以及它们如何一起工作,等等

vim中有四件事与选项卡相关:

  1. tabstop
  2. expandtab
  3. 移位宽度
  4. softtabstop

参考vim 中制表位的有用参考

tabstop设置tabstop来告诉vim一个选项卡的列数。Linux内核代码期望每个选项卡有八列宽。视力的Studio希望每个选项卡有四列宽。这是唯一的命令,该命令将影响现有文本的显示方式。

expandtab设置expandtab后,在插入模式下点击Tab键将产生适当数量的空格。

shiftwidth设置shiftwidth以控制使用缩进操作(<<和>>(和自动缩进文本的列数C样式缩进。

softtabstop设置softtabstop以控制在插入模式下点击Tab时vim使用的列数。如果softtabstop小于tabstop如果未设置expandtab,vim将使用tab和空间来构成所需的间距。如果softtabstop等于tabstop如果未设置expandtab,vim将始终使用制表符。当expandtab为设置,vim将始终使用适当数量的空格。

您可以在命令模式下使用以下命令查看vim中的当前设置:

:set tabstop?   
:set expandtab?  
:set shiftwidth?   
:set softtabstop?   

您可以在命令模式下使用以下命令设置当前会话的值:

:set tabstop=4   
:set expandtab #if you want to remove expand tab, set noexpandtab
:set shiftwidth=4
:set softtabstop=4 

或者,如果您想使更改永久化,您可以对vimrc文件进行更改:

它位于以下路径:

~/.vimrc on Unix;  
$HOME/_vimrc on Windows

对于gvim,您可以转到编辑->启动设置来查看当前的vimrc设置并进行编辑。

您需要向vimrc添加一行,如下所示:

set tabstop=4 softtabstop=4 shiftwidth=4 expandtab

这应该有效:

:set lcs=space:_,tab:>~ list

最新更新