vim智能插入空格的插件可有?

vim智能插入空格的插件可有?

多彩岁月 发布于 2021-11-27 字数 447 浏览 690 回复 5

使用visual studio的人都知道,写完一行代码之后回车。

一般代码会自动缩减,并在运算符两边自动加空格,等于号和括号都会加入空格的。显得很美观。

在vim中,实现自动缩减很方便,网上插件也很多。我自己就在这弄了一个配置

可有哪位高人有这方面的插件。或者建议。是不是使用regex来写个vim的插件会好点。谢谢。

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

成熟稳重的好男人 2021-12-01 5 楼

这是一个好习惯。

妖妓 2021-12-01 4 楼

一直手动输入空格的路过

想挽留 2021-12-01 3 楼

楼上正解,vim有自动缩进的功能

醉生梦死 2021-12-01 2 楼

参考map ....的写法,会比较复杂

感情旳空白 2021-11-29 1 楼

自己编辑管理  ~/.vimrc文件就好了

"语法高亮显示
syntax on


" NERDTree,文件目录插件
map <F10> :NERDTreeToggle<CR>

"自动显示行号= set number
set nu!

"打开状态栏的坐标信息
set ruler

"取消底部状态栏显示. 1为关闭,2开启
"set laststatus=1

"将输入的命令显示出来,便于查看当前输入的信息
"set showcmd

"设置魔术匹配控制,可以通过:h magic查看更详细的帮助信息
"set magic

"设置vim存储的历史命令记录的条数
set history=100

"下划线搞了显示光标所在行
set cursorline

"搜索时忽略大小写
set ignorecase

"不对匹配的括号进行高亮显示
"let loaded_matchparent=1
"------------------------------------------------------------
"在执行宏命令时,不进行显示重绘;在宏命令执行完成后,一次性重绘,以便提高性能。
"set lazyredraw

"设置一个tab对应4个空格
"set tabstop=4
  
"在按退格键时,如果前面有4个空格,则会统一清除
"set softtabstop=4
  
"cindent对c语法的缩进更加智能灵活,
"而shiftwidth则是在使用&lt;和&gt;进行缩进调整时用来控制缩进量。
"换行自动缩进,是按照shiftwidth值来缩进的
"set cindent shiftwidth=4
   
"最基本的自动缩进
"set autoindent shiftwidth=4

"比autoindent稍智能的自动缩进
"set smartindent shiftwidth=4
     
"将新增的tab转换为空格。不会对已有的tab进行转换
"set expandtab
      
"高亮显示搜索匹配到的字符串
"set hlsearch
        
"在搜索模式下,随着搜索字符的逐个输入,实时进行字符串匹配,并对首个匹配到的字符串高亮显示
"set incsearch

"设置自定义快捷键的前导键
"let mapleader=","
         
"利用前导键加b,则可以在一个单子两边加上大括号
"map b wbi{<Esc>ea}<Esc>
          
"使用前导键加w来实现加速文件保存,来代替:w!加回车
"nmap w :w!<CR>

"匹配那些末尾有空格或TAB的行。(es:Endspace Show)
"map es :/.*s+$<CR>
             
"删除行末尾的空格或TAB(ed:Endspace Delete)
"map ed :s#s+$##<CR>
              
"如果所选行的行首没有#,则给所选行行首加上注释符##a:# add)
"map #a :s/^([^#]s*)/#1/<CR>
               
"如果所选行行首有#,则将所选行行首所有的#都去掉(#d:# delete)
"map #d :s/^#+(s*)/1/<CR>
                
"如果所选行的行首没有//,则给所选行行首加上注释符//(/a:/ add)
"map /a :s/^([^//]s*)///1/<CR>
                 
"如果所选行行首有//,则将所选行行首的//都去掉(/d:/ delete)
"map /d :s/^//(s*)/1/<CR>

"-------------------------------------------------------------
" 大括号自动生成匹配
"inoremap { {<CR>}<ESC>O<Tab>

"设置匹配模式,类似当输入一个左括号时会匹配相应的右括号
"插入右括号时会短暂调整到匹配的左括号
set showmatch

"vim使用自动对齐,也就是把当前行的对齐格式应用到下一行(自动缩进)
"set autoindent

"(cindent是特别针对 C语言语法自动缩进)
"set cindent

"设置tab键为4个空格
"set tabstop=4

"设置自动缩进
"set ai!

"for python 20150225
set autoindent 
set smartindent 
set tabstop=4 
set shiftwidth=4 
set softtabstop=4 
set noexpandtab