每日一Vim(9)----缩进
缩进在程序开发的时候是实用的一个功能,尤其Python这种靠缩进来组织代码段的语言来说更重要了。今天特意google了下vim缩进,结果很失望,有的只有配置没有说明,有说明的也没说清楚,特此自己总结一下。
normal 模式下:
>> 当前行增加缩进
<< 当前行减少缩进
insert模式下:
CTRL+SHIFT+T:当前行增加缩进
CTRL+SHIFT+D:当前行减少缩进
默认vim的缩进宽度为8个空格,修改缩进的宽度::set shiftwidth=4
,具体什么意思,看下面的详细解释。
与缩进相关的参数有shiftwidth、tabstop、softtabstop、expandtab。
shiftwidth reindent 操作(<<和>>)时缩进的列数(这里的一列相当于一个空格)
tabstop 一个tab键所占的列数,linux 内核代码建议每个tab占用8列
softtabstop 敲入tab键时实际占有的列数。
expandtab 输入tab时自动将其转化为空格
-
softtabstop大于tabstop时,且没有设置expandtab时,例如:softtabstop=12,tabstop=8,那么当输入一个tab时(softtabstop:实际占用的是12列),最后会变成一个tab(tabstop)加4个空格(8+4),输入两个tab(2个softtabstop:24列)会变成3个tab(tabstop),也就是说vim或用tabstop+空格来表示,最终你能看到的缩进的列数一定是softtabstop*按的tab键次数。(ps:
:set list
可以查看tab符号) -
softtabstop小于tabstop且没有设置expandtab时,如果softtabstop=4,tabstop=8,输入一个tab(softtabstop),会变成4个空格(因为不够用一个tabstop表示),输入两个tab会变成一个tab(8列)。
-
如果softtabstop等于tabstop,而且expandtab没有设置,softtabstop与tabstop就没什么区别了。
-
如果设置的expandtab,输入一个tab,将被展开成softtabstop值个空格,如果softtabstop=4,那么一个tab就会被替换成4个空格。
-
设置expandtab:
:set expandtab
-
取消expandtab:
:set noexpandtab
-
查看参数值:
:set $arg(这里的arg是变量,值就是上面的那些参数),比如::set softtabstop
-
自动缩进
:set autoindent 回车后自动缩进
-
通常Java的配置方式是:
:set softtabstop=4 shiftwidth=4 expandtab
-
Linux kernel的配置方式:
:set tabstop=8 softtabstop=8 shiftwidth=8 noexpandtab
以后的章节我会来一个完整的Python配置。
转载请注明出处,谢谢合作,作者----zhijun
相关推荐
Vim的自动缩进功能正为此而生,使得用户在编写代码时无需手动调整每一行的缩进,极大地提升了编码效率。这款国人编写的Vim自动缩进软件就是为了进一步优化这一体验,让VIM更适合中国程序员的习惯。 该压缩包包含了...
在IT行业中,编辑器是程序员日常工作中不可或缺的工具,Vim作为一款强大的文本编辑器,因其高度可定制性而备受青睐。本文档主要讲解如何在Vim中为Nginx配置文件实现语法高亮和自动缩进,以提高代码阅读和编辑的效率...
9. `set autoindent`:除了`autoindent`外,Vim还支持`smartindent`,这是另一个更智能的缩进选项,适用于更复杂的缩进需求。 10. `set compatible`和`set nocompatible`:前者让Vim模拟传统的vi编辑器,后者则启用...
indentLine 是一款针对 Vim 编辑器的插件,它的主要功能是为代码提供可视化的缩进引导,通过在每一级缩进处显示细垂直线,帮助程序员更好地组织和理解代码结构。这款插件尤其对那些重视代码对齐和可读性的开发者来说...
vim-erlang-runtime, Vim的Erlang缩进和语法 用于Vim的Erlang缩进和语法这是 Vim ( 来自 Vim 7.4 ) 附带的Erlang缩进和语法。安装方法 1克隆这里存储库: $ mkdir -p ~/.vim/bundle $ cd ~/.vim/b
在Vim编辑器中,Tab和空格缩进是编程时非常重要的细节,它们影响代码的可读性和一致性。本文将深入探讨Vim中的Tab与空格缩进的配置和使用。...通过定制Vim配置,你可以打造出一个符合个人习惯且高效的编程环境。
vim 缩进对象 介绍 Vim 文本对象提供了一种方便的方式来选择和操作各种类型的对象。 这些对象包括被各种类型的括号和语言的各个部分(即句子、段落等)包围的区域。 该插件基于缩进级别定义了一个新的文本对象。 这...
**vim-fibo-indent** 是一个 Vim 插件,它的主要功能是为代码提供基于斐波那契数列的智能缩进。这个插件的设计理念是为了提高代码的可读性和美观性,尤其对于那些遵循特定缩进规则的语言,如 Python、Haskell 或者...
大大改进了 Vim 中的 Javascript 缩进和语法支持。vim-javascriptvim 的 JavaScript 包,该包提供语法高亮和改进的缩进。安装使用本机包管理器安装 git clone https://github.com/pangloss/vim-javascript.git ~/....
vim-jsx改进 使您的javascript文件正确支持React jsx。 来自Javascript语法 Jsx高亮显示和缩进代码已从更改 修复了React jsx文件的语法突出显示和缩进的问题。 与xml.vim配合良好 该插件没有依赖性,包含了jsx和...
L9,全称是“Vim9script”,是Vim 8.2引入的一种新脚本语言,用于编写更复杂的插件和宏。L9提供了类函数、模块、异常处理等高级特性,使得Vim的脚本编写能力得到了显著提升。当Vim提示缺少L9 library时,意味着系统...
vim 首行缩进 小工具 vim 编辑的文本可以直接用sourceinsight查看,格式对齐。
选择一个合适的编辑器,比如notepad++、VS、eclipse、sublime text等,选中要集体缩进的代码块, 按Tab:集体缩进(向右) 按Shift+Tab:集体回缩...(推荐)解析Python的缩进规则的使用分享vim python缩进等一些配置P
vim-vue-plugin .vue文件的Vim语法和缩进插件。 主要受到mxw / vim-jsx的启发。 安装如何安装VundleVim插件'leafOfTree vim-vue-plugin Vim语法和.vue文件的缩进插件。 主要受到mxw / vim-jsx的启发。 安装如何安装...
当开启此选项后,Vim会在适当的上下文中自动插入或删除缩进,例如,在某些情况下,当你删除一行缩进时,Vim会自动减少下一行的缩进量。 #### 配置步骤详解 1. **定位`.vimrc`文件**: - 打开终端。 - 输入命令 `...
Vim(Vi IMproved)是一款强大的文本编辑器,深受程序员和系统管理员的喜爱。"vim-configure.tar.gz_vim_vim_configure" 是一个包含了 Vim 配置文件的压缩包,旨在帮助用户优化 Vim 的使用体验,提供自动提示、补全...
【vim plugin vim changes to ide update】这一主题表明我们将探讨如何使用Vim插件来提升其作为集成开发环境(IDE)的功能。在这个过程中,我们将重点分析新增的三个插件:wintagexplorer.vim、echofunc.vim以及vimrc...
Vim是一款强大的文本编辑器,深受程序员和系统管理员的喜爱,其可高度自定义的特性使得用户可以根据个人喜好和工作需求定制自己的编辑环境。在Vim中,`.vim`文件夹和`.vimrc`配置文件是两个至关重要的元素,它们帮助...
支持docker容器,debian9的操作系统下的vim编辑工具 安装顺序: 1. dpkg -i vim-common_7.3.429-2ubuntu2.2_amd64.deb 2. dpkg -i vim-runtime_7.3.429-2ubuntu2.2_all.deb 3. dpkg -i --force-all libgpm2_1.20.4-...