Linux中设置vim自动在运算符号两边加上空格
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自动在运算符号两边加上空格相关推荐
- 在windows或linux中使用VIM/VI复制粘贴内容命令及设置大全
在windows或linux中使用VIM/VI复制粘贴内容命令及设置大全 行复制: [yy]复制光标所在行 [p]在光标位置粘贴复制的内容 多行复制: [v]从当前位置进行可视化模式([Ctrl+v] ...
- linux 备份mysql并上传_实现Linux中Mysql数据库自动备份并上传到远程FTP服务器
这篇文章很有分享价值,因为我们在实际的生产环境中需要将数据库进行自动备份,然后上传到指定的位置,当然也可以像以下文章中所讲的一样,上传到你指定的FTP服务器中,从而实现Mysql数据库自动备份并上传到 ...
- Linux中vim中gg的英文全拼,计算机科学研究专家陶贤斌带您入门Linux中的vim
原标题:计算机科学研究专家陶贤斌带您入门Linux中的vim Vim一直被认为是一种非常高效的文本编辑器,但是对于普通用户来说,很难在入门的时候就体会到Vim的所谓高效性.Vim 是 UNIX 文本编 ...
- Linux中设置vi编辑器的编码格式以及使用
Linux中设置vi编辑器的编码格式以及使用 vi ~/.vimrc set fileencodings=utf-8,gbk set termencoding=utf-8 set encoding=u ...
- 配置linux登录超时命令,LINUX中 设置登录超时
ssh设置超时时间 ssh连接超时问题解决方案: 1.修改server端的etc/ssh/sshd_config ClientAliveInterval 60 #server每隔60秒发送一次请求给c ...
- eclipse里source的快捷方法_教你如何在Linux中设置快捷方式图标
这篇文章主要给大家介绍了关于如何在Linux中设置快捷方式图标的相关资料,文中通过示例代码的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧 前言 Linux系统 ...
- Linux中的定时自动执行功能(at,crontab)
Linux中的定时自动执行功能(at,crontab) 概念 在Linux系统中,提供了两种提前对工作进行安排的方式 at 只执行一次 crontab 周期性重复执行 通过对这两个工具的应用可以让我们 ...
- OCaml入门(一)——OCaml中的基本数据类型、运算符号、表达式和函数
目录 1.函数式编程(Functional Programming/FP) 2.OCaml中的基本数据类型(Basic Data Type) 3.运算符号(Operator) 3.1算术运算符 3.2 ...
- 在linux中设置nexus开机自启动
本篇讲一下在linux中设置nexus开机自启动 关于 在linux中安装nexus可以看下我之前写的另外一篇文章: 在linux上搭建maven私服nexus和nexus的使用 一.把nexus配置 ...
最新文章
- ubuntu16.04 intel_rapl : no valid rapl domains found in packge0
- 机器人学习--粒子滤波SLAM/MCL定位参考资料+学习经验
- [PAT乙级]1031 查验身份证
- 周鸿祎:在360新员工入职培训上的讲话
- MySQL windows安装
- 京瓷 打印 打印机 账户_UV打印机买回来成废铁?不是选择不对,而是你想太多了……...
- Python之数据分析(numpy线性模型、线性预测、线性拟合)
- 20200806:Java拓扑排序实现力扣210课程表Ⅱ
- Q91:真实地模拟透明材质(Realistic Transparency)(4)——Fish Bowl
- C语言深入学习系列 - 字节对齐内存管理
- kali下一键破解wifi密码
- 2021年高压电工模拟考试题库及高压电工模拟考试系统
- 华为测试岗实习生面试回顾
- 外贸出口流程全图(转)
- python 将微信聊天记录生成词云
- 门店电子会员卡系统,积分储值卡金额会员卡功能,JavaScript 局部作用域
- UEFI显示BMP图片
- AccountManager教程
- YOLOv1 学习笔记
- Vue.js搭建移动端购物车界面-基本结构和数据渲染
热门文章
- power bi可视化表_如何使用Power BI可视化数据?
- python 数据科学书籍_您必须在2020年阅读的数据科学书籍
- 利用Photoshop减小照片景深
- 大数据职业理解_到底什么是大数据,大数据职业的具体工作内容是什么?
- java spring框架 注解_spring框架之注解的使用
- videowriter最小的编码格式_cv2.VideoWriter() 指定写入视频帧编码格式
- python采用编译型方式执行_Python程序的执行过程 解释型语言和编译型语言
- python函数增强代码可读性_写Python必须知道的这几个代码技巧!你会吗?
- js函数提示 vscode_为VSCode / Monaco Intellisence添加JavaScript类型提示
- python怎么解释语言_python是解释型语言吗