vim中设置自动在=+-之类的运算符号左右两边加上空格。原版的vim不带这个功能,写出的代码例如z=x+y,不美观,很多编译器(如VS)能够自动在符号两边加上空格,如z = x + y,看起来比较美观。

只要在.vimrc里面加入如下代码:

"设置= + - * 前后自动空格
"设置,后面自动添加空格
if exists("g:equ")
:inoremap = <c-r>=EqualSign('=')<CR>
:inoremap + <c-r>=EqualSign('+')<CR>
:inoremap - <c-r>=EqualSign('-')<CR>
:inoremap * <c-r>=EqualSign('*')<CR>
:inoremap / <c-r>=EqualSign('/')<CR>
:inoremap > <c-r>=EqualSign('>')<CR>
:inoremap < <c-r>=EqualSign('<')<CR>
:inoremap , ,<space>
endiffunction! EqualSign(char)
if a:char  =~ '='  && getline('.') =~ ".*("
return a:char
endif
let ex1 = getline('.')[col('.') - 3]
let ex2 = getline('.')[col('.') - 2]if ex1 =~ "[-=+><>\/\*]"
if ex2 !~ "\s"
return "\<ESC>i".a:char."\<SPACE>"
else
return "\<ESC>xa".a:char."\<SPACE>"
endif
else
if ex2 !~ "\s"
return "\<SPACE>".a:char."\<SPACE>\<ESC>a"
else
return a:char."\<SPACE>\<ESC>a"
endif
endif
endif

就可以了。另外还可以加入如下代码,增加vim的便利性:

"预防手误的杀招
nnoremap : :
cnoremap Q! q!
command Wq wq
command Q q
command WQ wqset nu
"代码显示行号
syntax on
"关键词高亮显示
set cindent
"c语法自动缩进
set autoindent
"新行自动缩进
set shiftwidth=4
"缩进宽度4
set tabstop=4
"tab键宽度4
set softtabstop=4
"制表符宽度4

转载于:https://www.cnblogs.com/alwayswangzi/p/6489845.html

Linux中设置vim自动在运算符号两边加上空格相关推荐

  1. 在windows或linux中使用VIM/VI复制粘贴内容命令及设置大全

    在windows或linux中使用VIM/VI复制粘贴内容命令及设置大全 行复制: [yy]复制光标所在行 [p]在光标位置粘贴复制的内容 多行复制: [v]从当前位置进行可视化模式([Ctrl+v] ...

  2. linux 备份mysql并上传_实现Linux中Mysql数据库自动备份并上传到远程FTP服务器

    这篇文章很有分享价值,因为我们在实际的生产环境中需要将数据库进行自动备份,然后上传到指定的位置,当然也可以像以下文章中所讲的一样,上传到你指定的FTP服务器中,从而实现Mysql数据库自动备份并上传到 ...

  3. Linux中vim中gg的英文全拼,计算机科学研究专家陶贤斌带您入门Linux中的vim

    原标题:计算机科学研究专家陶贤斌带您入门Linux中的vim Vim一直被认为是一种非常高效的文本编辑器,但是对于普通用户来说,很难在入门的时候就体会到Vim的所谓高效性.Vim 是 UNIX 文本编 ...

  4. Linux中设置vi编辑器的编码格式以及使用

    Linux中设置vi编辑器的编码格式以及使用 vi ~/.vimrc set fileencodings=utf-8,gbk set termencoding=utf-8 set encoding=u ...

  5. 配置linux登录超时命令,LINUX中 设置登录超时

    ssh设置超时时间 ssh连接超时问题解决方案: 1.修改server端的etc/ssh/sshd_config ClientAliveInterval 60 #server每隔60秒发送一次请求给c ...

  6. eclipse里source的快捷方法_教你如何在Linux中设置快捷方式图标

    这篇文章主要给大家介绍了关于如何在Linux中设置快捷方式图标的相关资料,文中通过示例代码的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧 前言 Linux系统 ...

  7. Linux中的定时自动执行功能(at,crontab)

    Linux中的定时自动执行功能(at,crontab) 概念 在Linux系统中,提供了两种提前对工作进行安排的方式 at 只执行一次 crontab 周期性重复执行 通过对这两个工具的应用可以让我们 ...

  8. OCaml入门(一)——OCaml中的基本数据类型、运算符号、表达式和函数

    目录 1.函数式编程(Functional Programming/FP) 2.OCaml中的基本数据类型(Basic Data Type) 3.运算符号(Operator) 3.1算术运算符 3.2 ...

  9. 在linux中设置nexus开机自启动

    本篇讲一下在linux中设置nexus开机自启动 关于 在linux中安装nexus可以看下我之前写的另外一篇文章: 在linux上搭建maven私服nexus和nexus的使用 一.把nexus配置 ...

最新文章

  1. ubuntu16.04 intel_rapl : no valid rapl domains found in packge0
  2. 机器人学习--粒子滤波SLAM/MCL定位参考资料+学习经验
  3. [PAT乙级]1031 查验身份证
  4. 周鸿祎:在360新员工入职培训上的讲话
  5. MySQL windows安装
  6. 京瓷 打印 打印机 账户_UV打印机买回来成废铁?不是选择不对,而是你想太多了……...
  7. Python之数据分析(numpy线性模型、线性预测、线性拟合)
  8. 20200806:Java拓扑排序实现力扣210课程表Ⅱ
  9. Q91:真实地模拟透明材质(Realistic Transparency)(4)——Fish Bowl
  10. C语言深入学习系列 - 字节对齐内存管理
  11. kali下一键破解wifi密码
  12. 2021年高压电工模拟考试题库及高压电工模拟考试系统
  13. 华为测试岗实习生面试回顾
  14. 外贸出口流程全图(转)
  15. python 将微信聊天记录生成词云
  16. 门店电子会员卡系统,积分储值卡金额会员卡功能,JavaScript 局部作用域
  17. UEFI显示BMP图片
  18. AccountManager教程
  19. YOLOv1 学习笔记
  20. Vue.js搭建移动端购物车界面-基本结构和数据渲染

热门文章

  1. power bi可视化表_如何使用Power BI可视化数据?
  2. python 数据科学书籍_您必须在2020年阅读的数据科学书籍
  3. 利用Photoshop减小照片景深
  4. 大数据职业理解_到底什么是大数据,大数据职业的具体工作内容是什么?
  5. java spring框架 注解_spring框架之注解的使用
  6. videowriter最小的编码格式_cv2.VideoWriter() 指定写入视频帧编码格式
  7. python采用编译型方式执行_Python程序的执行过程 解释型语言和编译型语言
  8. python函数增强代码可读性_写Python必须知道的这几个代码技巧!你会吗?
  9. js函数提示 vscode_为VSCode / Monaco Intellisence添加JavaScript类型提示
  10. python怎么解释语言_python是解释型语言吗