侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

浅谈Vim中的Tab与空格缩进

linux  /  管理员 发布于 7年前   279

vim缩进参数解析

缩进用 tab 制表符还是空格,个人爱好问题。但是在大多项目中,习惯使用空格。关于缩进,vim中可以通过如下四个参数进行配置

set tabstop=4set softtabstop=4set shiftwidth=4set noexpandtab / expandtab1

解析:

tabstop

表示按一个tab之后,显示出来的相当于几个空格,默认的是8个。

softtabstop

表示在编辑模式的时候按退格键的时候退回缩进的长度。

shiftwidth

表示每一级缩进的长度,一般设置成跟 softtabstop 一样

expandtab与noexpandtab

当设置成 expandtab 时,缩进用空格来表示,noexpandtab 则是用制表符表示一个缩进。个人习惯使用 `set expandtab`

#标志tab与空格

在vim中,默认情况下,没法区分空格和缩进,所以我们需要配置,使其能够区分。

我的配置如下

``` set list↩ set listchars=tab:▸-,eol:↩︎,trail:-↩ 

更多vim配置可参考:https://github.com/yangyangwithgnu/use_vim_as_ide

附上自己的vim配置

filetype on " required! /** 从这行开始,vimrc配置 **/filetype plugin indent on"autocmd FileType php set omnifunc=phpcomplete#CompletePHP " 让配置变更立即生效set backspace=indent,eol,startset ts=4 sw=4 sts=4 tw=100set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936set termencoding=utf-8set encoding=utf-8autocmd BufWritePost $MYVIMRC source $MYVIMRClet mapleader=";"set guifont=YaHei\ Consolas\ Hybrid\ 10set cursorline  " 十字高亮set cursorcolumnset autoindent   " 打开自动缩进set smartindent   " 打开智能缩进set smarttab set showmatch    " 设置括号匹配 " 开启实时搜索功能 set incsearch " " 搜索时大小写不敏感 set ignorecase " " 关闭兼容模式 set nocompatible " " vim 自身命令行模式智能补全 set wildmenu " 显示光标当前位置 set ruler " 高亮显示搜索结果 set hlsearch " 基于缩进或语法进行代码折叠 "set foldmethod=indent set foldmethod=syntax " 启动 vim 时关闭折叠代码 set nofoldenable syntax enable " 允许用指定语法高亮配色方案替换默认方案 syntax on set background=dark "colorscheme solarized " 配色方案 colorscheme molokai let g:molokai_original = 1" let g:rehash256 = 1 "let g:Powerline_colorscheme='molokai256'set expandtabset listset listchars=tab:▸-,eol:↩︎,trail:-"set listchars=tab:✜-,eol:⚲,trail:-" 基于缩进或语法进行代码折叠" "set foldmethod=indent set foldmethod=syntax" " 启动 vim 时关闭折叠代码 set nofoldenable set term=screen-256color set rtp+=~/.vim/bundle/Vundle.vim autocmd vimenter * NERDTree set nu call vundle#rc() " let Vundle manage Vundle " required! Bundle 'gmarik/vundle'""  ""  " My Bundles here: /* 插件配置格式 */""  """  " original repos on github"  (Github网站上非vim-scripts仓库的插件,按下面格式填写)"  Bundle 'kshenoy/vim-signature' "  Bundle 'Valloric/YouCompleteMe'  Bundle 'tpope/vim-fugitive'  Bundle 'Lokaltog/vim-easymotion'  let g:EasyMotion_smartcase = 1  let g:EasyMotion_startofline = 0 " keep cursor colum when JK motion  map <Leader><leader>h <Plug>(easymotion-linebackward)  map <Leader><Leader>j <Plug>(easymotion-j)  map <Leader><Leader>k <Plug>(easymotion-k)  map <Leader><leader>l <Plug>(easymotion-lineforward)  " 重复上一次操作, 类似repeat插件, 很强大  map <Leader><leader>. <Plug>(easymotion-repeat)  Bundle 'rstacruz/sparkup'  Bundle 'tpope/vim-rails.git'  Bundle 'fholgado/minibufexpl.vim'  let g:miniBufExplMapWindowNavVim = 1    let g:miniBufExplMapWindowNavArrows = 1    let g:miniBufExplMapCTabSwitchBufs = 1    let g:miniBufExplModSelTarget = 1   let g:miniBufExplMoreThanOne=0 map <F11> :MBEbp<CR> map <F12> :MBEbn<CR>  Bundle 'Lokaltog/vim-powerline'  Plugin 'scrooloose/nerdcommenter'  Plugin 'scrooloose/nerdtree'  Plugin 'derekwyatt/vim-fswitch'  " vim-scripts repos (vim-scripts仓库里的,按下面格式填写)  Bundle 'L9'  Bundle 'FuzzyFinder'  " non github repos (非上面两种情况的,按下面格式填写)  Bundle 'git://git.wincent.com/command-t.git'  " ...  Bundle 'captbaritone/better-indent-support-for-php-with-html'    filetype plugin indent on " required! /** vimrc文件配置结束 **/  set completeopt=longest,menu  "" NERDTree configmap nd :NERDTree map nc :NERDTreeCloselet g:NERDTreeDirArrows = 1let g:NERDTreeDirArrowExpandable = '▸'let g:NERDTreeDirArrowCollapsible = '▾'map <F2> :NERDTreeToggle<CR>autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif"  " /** vundle命令 **/""  " Brief help""  " :BundleList - list configured bundles""  " :BundleInstall(!) - install(update) bundles""  " :BundleSearch(!) foo - search(or refresh cache first) for foo""  " :BundleClean(!) - confirm(or auto-approve) removal of unused bundles""  """  " see :h vundle for more details or wiki for FAQ""  " NOTE: comments after Bundle command are not allowed..

以上这篇浅谈Vim中的Tab与空格缩进就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


  • 上一条:
    vim快捷键大全
    下一条:
    vim自动补全插件YouCompleteMe(YCM)安装过程解析
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在Linux系统中使用Iptables实现流量转发功能流程步骤(0个评论)
    • vim学习笔记-入门级需要了解的一些快捷键(0个评论)
    • 在centos7系统中实现分区并格式化挂载一块硬盘到/data目录流程步骤(0个评论)
    • 在Linux系统种查看某一个进程所占用的内存命令(0个评论)
    • Linux中grep命令中的10种高级用法浅析(0个评论)
    • 近期文章
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-11
    • 2017-07
    • 2017-10
    • 2017-11
    • 2018-01
    • 2018-02
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-03
    • 2022-04
    • 2022-08
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-06
    • 2023-07
    • 2023-10
    • 2023-12
    • 2024-01
    • 2024-04
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客