返回顶部
首页 > 资讯 > 服务器 >浅谈Vim中的Tab与空格缩进
  • 155
分享到

浅谈Vim中的Tab与空格缩进

浅谈空格Vim 2022-06-04 21:06:21 155人浏览 泡泡鱼
摘要

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

vim缩进参数解析

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


set tabstop=4
set softtabstop=4
set shiftwidth=4
set 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! 
filetype plugin indent on
"autocmd FileType PHP set omnifunc=phpcomplete#CompletePHP 
" 让配置变更立即生效
set backspace=indent,eol,start
set ts=4 sw=4 sts=4 tw=100
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936

set termencoding=utf-8
set encoding=utf-8
autocmd BufWritePost $MYVIMRC source $MYVIMRC
let mapleader=";"
set guifont=YaHei Consolas Hybrid 10
set cursorline  " 十字高亮
set cursorcolumn
set 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 expandtab
set list
set 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! 
  set completeopt=longest,menu
  "
" NERDTree config
map nd :NERDTree 
map nc :NERDTreeClose
let g:NERDTreeDirArrows = 1
let g:NERDTreeDirArrowExpandable = '▸'
let g:NERDTreeDirArrowCollapsible = '▾'
map <F2> :NERDTreeToggle<CR>
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif

"  " 
"
"  " 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与空格缩进就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 浅谈Vim中的Tab与空格缩进

本文链接: https://lsjlt.com/news/18763.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 浅谈Vim中的Tab与空格缩进
    vim缩进参数解析 缩进用 tab 制表符还是空格,个人爱好问题。但是在大多项目中,习惯使用空格。关于缩进,vim中可以通过如下四个参数进行配置 set tabstop=4 set softtabsto...
    99+
    2022-06-04
    浅谈 空格 Vim
  • Vim中Tab与空格缩进的示例分析
    这篇文章主要介绍Vim中Tab与空格缩进的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!vim缩进参数解析缩进用 tab 制表符还是空格,个人爱好问题。但是在大多项目中,习惯使用空格。关于缩进,vim中可以通...
    99+
    2023-06-09
  • vi与vim如何修改tab为4个空格方法示例
    前言 本文主要给大家介绍了关于vi与vim修改tab为4个空格的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 方法如下: 配置文件位置:/etc/virc 和 /etc/vimrc 配置文件中...
    99+
    2022-06-04
    vim tab 四个空格 vim 设置tab为4个空格 设置vim tab 4个空格
  • Linux在VIM编辑器中怎么修改Tab为4个空格
    本篇内容主要讲解“Linux在VIM编辑器中怎么修改Tab为4个空格”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux在VIM编辑器中怎么修改Tab为4个空格”吧!  Linux用户最经常...
    99+
    2023-06-13
  • 浅谈python中的错误与异常
    目录一、语法错误二、异常处理2.1、try-finally语句2.2、raise 语句2.3、assert 断言语句三、小结一、语法错误 异常:大多数的异常都不会被程序处理,都以错误信息的形式展现在这里 二、异常处理...
    99+
    2022-06-02
    python 错误 python 异常
  • 浅谈django中的认证与登录
    认证登录 django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: 1 authenticate(**credentials) 提供了用户认证,即验证用户名以及密码是否正确 ...
    99+
    2022-06-04
    浅谈 django
  • 浅谈C++中const与constexpr的区别
    目录一.const常量与#define比较二.const修饰1.修饰普通变量,必须初始化2.修饰类变量和成员变量3.修饰成员函数4.修饰指针5.修饰引用三.const转换四.顶层co...
    99+
    2024-04-02
  • 浅谈node中的exports与module.exports的关系
    因为是做前端的,对node的生态一直也比较关注,对于node中对commonJS模块化的实现给了我们很大的方便,之前对于导出的module.exports和exports一直模模糊糊,今天做一个整理 先来...
    99+
    2022-06-04
    浅谈 关系 exports
  • 浅谈mysql中各种表空间(tablespaces)的概念
    mysql中,会涉及到各种表空间的概念,虽然,很多方面这些概念和Oracle有相似性,但也有很多不同的地方,初学者很容易被这些概念弄的晕头转向,从而,混淆这些概念的区别和理解,下面,就简要介绍和说明一下这些...
    99+
    2024-04-02
  • JAVA 十六进制与字符串的转换浅谈
      笔者前几日在开服过程中需要将字符串转化成为16进制的字符串,在网上找到了一些方法尝试之后,均发现存在一个问题-->字符串转为16进制后再转回来,英文正常,中文出现乱码 笔者前几日在开服过程中需要将字符串转化成为16进制的字符串,在网...
    99+
    2023-09-27
    java 开发语言 算法
  • 简单谈谈python中的Queue与多进程
    最近接触一个项目,要在多个虚拟机中运行任务,参考别人之前项目的代码,采用了多进程来处理,于是上网查了查python中的多进程 一、先说说Queue(队列对象) Queue是python中的标准库,可以直接i...
    99+
    2022-06-04
    进程 简单 python
  • python去除文件中空格、Tab及回车的方法
    本文实例讲述了python去除文件中空格、Tab及回车的方法。分享给大家供大家参考,具体如下: 在最近的开发工作中,为了应付比赛赶进度,服务端的json文件都是人工写的,写完之后发现格式都是十分规整,易于人...
    99+
    2022-06-04
    空格 文件 方法
  • CSS中p不用空格字符缩进文字内容的方法
    本文小编为大家详细介绍“CSS中p不用空格字符缩进文字内容的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“CSS中p不用空格字符缩进文字内容的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,...
    99+
    2024-04-02
  • 浅谈pandas中对nan空值的判断和陷阱
    pandas基于numpy,所以其中的空值nan和numpy.nan是等价的。numpy中的nan并不是空对象,其实际上是numpy.float64对象,所以我们不能误认为其是空对象...
    99+
    2024-04-02
  • 浅谈el-table中使用虚拟列表对对表格进行优化
    目录前言解决思路具体实现需要满足的必备条件问题前言 我们会经常使用表格,如果数据量大就直接可以分页,但是不可避免的会出现一些需要一页要展示很多条的情况,或者不用分页。 这个时候如果...
    99+
    2024-04-02
  • 浅谈js中Object.create()与new的具体实现与区别
    目录Object.create与new区别Object.create()原理new原理继承比较组合继承与寄生组合继承组合继承寄生组合继承Object.create与new区别 fun...
    99+
    2024-04-02
  • 浅谈Spring中几个PostProcessor的区别与联系
    目录Spring几个PostProcessor的区别首先明确 Bean 的生命周期:查看 IOC 容器创建时的调用流程spring-postProcessor的执行时机BeanPos...
    99+
    2024-04-02
  • 浅谈Java编程中string的理解与运用
    一,“==”与equals()运行以下代码,如何解释其输出结果?public class StringPool { public static void main(String args[]) { String s0="Hello...
    99+
    2023-05-30
    java string ava
  • vue关于eslint空格缩进等的报错问题及解决
    目录关于eslint空格缩进等的报错问题解决办法有四种eslint使用规则和各种报错对应规则ESLint 主要有以下特点关于eslint空格缩进等的报错问题 解决办法有四种 1. 在...
    99+
    2024-04-02
  • 浅谈ubuntu 中sudo update与upgrade的作用及区别
    入门linux的同志,刚开始最迫切想知道的,大概一个是中文输入法,另一个就是怎么安装软件。本文主要讲一下LINUX安装软件方面的特点。 在windows下安装软件,我们只需要有EXE文件,然后双击,下一步直...
    99+
    2022-06-04
    浅谈 区别 作用
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作