vim缩进参数解析
缩进用 tab 制表符还是空格,个人爱好问题。但是在大多项目中,习惯使用空格。关于缩进,vim中可以通过如下四个参数进行配置
复制代码
1
2
3
4set 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中,默认情况下,没法区分空格和缩进,所以我们需要配置,使其能够区分。
我的配置如下
复制代码
1
2
3``` set list↩ set listchars=tab:▸-,eol:↩︎,trail:-↩
更多vim配置可参考:https://github.com/yangyangwithgnu/use_vim_as_ide
附上自己的vim配置
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156filetype on " required! /** 从这行开始,vimrc配置 **/ 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! /** vimrc文件配置结束 **/ 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 " " /** 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中的Tab与空格缩进的全部内容,更多相关浅谈Vim中内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复