VIM - tab 相关的简单配置
1. 概述
- vim 是强大的文本编辑器
- 使用 vim 前, 需要做些简单配置, 来让 vim 更符合自己的操作习惯
- 想看配置项的, 直接到最后
2. 准备
- 安装 vim
- 略
- 配置文件
- 位置
/etc/vimrc
- 位置
- 格式
- 设置没有值的属性
set <attrName>
- 设置有值的属性
set <attrName>=<attrValue>
- " 的后面开始是注释
- 例子
set ai " 开启自动缩进, 其中 ai 是 autoindent 的缩写; 本人不建议使用缩写, 知道一个名字的由来, 以及这背后的一些故事, 对你理解一个概念很重要;
set history=50 " 默认保留 50 条历史
- 设置没有值的属性
3. 配置
- tab
概述
- vim 里 tab 相关的设置
背景
- 编程开发中, 通常用 tab 来做缩进, 相对空格键更加方便
- tab 在显示的时候, 会换算为 若干个空格 来显示, tab 输入的时候, 有时也会用 若干个空格 来代替
- 开发者通常会使用多个不同的 平台, 文本编辑器, 或者 IDE 来编辑文本
- 这样就可能出现 同样的代码, 在不同环境下显示的效果不同
- 这样的话, 可能会出现一些不太好的情况, 轻则看起来别扭, 重则破坏缩进, 影响某些程序的运行(没错, 说的就是你, python)
相关设置项
- tabstop
- 这是一个有值的属性
- 表示 一个 tab 对应的 显示空格长度, 只与显示相关
- 也就是说, 如果 没有tab 的话, 这个选项就没啥用了...
- 默认值是 8
- 感兴趣的同学, 可以在 ruler 打开的情况下, 比较 tabstop 不同时, tab 的占位表现
- expandtab
- 这是个没有值的属性
- 如果设定, 则在 insert 模式下, 输入 tab 会转换为 softtabstop 个空格
- 默认值是 noexpandtab
- shiftwidth
- 这是一个有值的属性
- 表示 v 模式下, 一个 < 或者 > 对应的空格长度
- 默认值是 8, 应该和某个属性关联, 这个有待确认
- softtabstop
- 这是一个有值的属性
- noexpandtab 情况下
- softtabstop = 4, tabstop = 8, 按一次 tab, 会出现 4 个空格, 按 2 次 tab, 会出现一个 tab
- softtabstop = 8, tabstop = 8, 按一次 tab, 会出现 1 个 tab
- softtabstop = 16, tabstop = 8, 按一次 tab 会出现 2 个 tab
- 这些可以在 insert 模式下, 输入 tab, 观察 ruler 以及 按 左右键 观测得到
- expandtab 情况下
- 按一次 tab, 出现 softtabstop 个空格
- 如果打开文件里存在 tab, 那显示还是按 tab 来, 长度是 tabstop
- 自动换行也会受这个属性的影响
- tabstop
4. 其他选项
概述
- 常用的一些选项
选项
- autoindent
- 自动换行
- 默认不换行
- number
- 显示行号
- 默认不显示
- ruler
- 会在 右下角 显示 光标的位置
- 包括行, 列, 以及当前页 在整体文本中 的位置
- 默认显示
- 会在 右下角 显示 光标的位置
- autoindent
5. 有些问题
- 关于删除
- 开启 expandtab时, 输入 4 个空格, 删除完需要删除 4 次; 输入 1 个 tab, 删除完只需要 1 次; 这个有点想不通是如何区分的
- 关于 tabstop 和 softtabstop
- 什么样的人, 在什么场景下, 会把这俩设置成不一样的, 感觉使用起来, 很别扭啊...
6. 配置
" 这些是我自己加的配置项
" vim 的配置项如果出现冲突, 后面的会覆盖前面的
set tabstop=4
set expandtab
set shiftwidth=4
set softtabstop=4
set autoindent
set number
set ruler
ps
- ref
- Vim Tab使用技巧
- 这位老兄, 也对 tab 相关的东西做了一些总结, 感觉理解的比我透彻
- Vim Tab使用技巧
VIM - tab 相关的简单配置的更多相关文章
- Ubuntu环境下gedit以及vim的一些个简单配置
Gedit的配置: 参见 http://www.cnblogs.com/csulennon/p/4198054.html Gedit插件安装 Gedit快捷键 参见我的博客 添加快捷键 Ctrl + ...
- Linux中vim的简单配置
本文主要分享Linux中vim的简单配置 ★配置文件的位置 在目录/etc.下面,有个名为vimrc的文件,这就是系统中公共的vim配置文件,对所有用户都开放.而在每个用户的主目录下,都可以自 ...
- CCNA网络工程师学习进程(6)vlan相关协议的配置与路由器简单配置介绍
前面已经介绍了大部分与vlan技术相关的交换机的协议的配置,更深层次的还有STP协议和以太网端口聚合技术,接着还会简单介绍一下路由器的基本应用. (1)STP(Spanning-tre ...
- 手机端rem简单配置相关
手机端rem简单配置相关 1 <!DOCTYPE html> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 ...
- Linux下Openfire相关安装和配置
记录下来,方便下次再用时从头查找资料 小京东ecshop中的通讯有用到openfire,Window下配置安装很简单,直接下载exe文件安装就行,而linux下要麻烦一点.安装后的配置下面会细说: 一 ...
- vim学习、各类插件配置与安装
vim学习.各类插件配置与安装 vim 插件 配置 1. vim学习 vim基础学习:根据网上流行基础文章<简明Vim练级攻略>,进阶书籍<vim实用技巧>.注:进阶书籍可以在 ...
- 快速掌握Nginx(一) —— 安装Nginx和简单配置虚拟主机
Nginx安装和简单配置虚拟主机 1 Nginx简介 Nginx是近几年最火热的http.反向代理服务器,百度阿里等互联网公司也都在使用Nginx,它也可以用作邮件代理服务器.TCP/UDP代理服务器 ...
- dubbo 图片服务器(FastDFS) redis solr ActiveMQ等简单配置使用
一.dubbo 项目基于soa的架构,表现层和服务层是不同的工程.所以要实现商品列表查询需要两个系统之间进行通信. 1.1如何实现远程通信? 1.Webservice:效率不高基于soap协议.项目中 ...
- centos6和centos7的区别和常用的简单配置优化
- 本节主要介绍centos6和centos7的区别和常用的简单配置优化:- 第一部分: - 1.对比文件系统 - 2.对比防火墙,内核版本,默认数据库 - 3.对比时间同步,修改时区,修改语言 - ...
随机推荐
- java 内存分析之堆栈空间
package Demo; public class Demo { public static void main(String[] args) { Demo demo = new Demo(); ; ...
- Java对于表达式中的自动类型提升
1 表达式中的自动类型提升: 表达式求值时,Java自动的隐含的将每个byte.short或char操作数提升为int类型,这些类型的包装类型也是可以的. 例如: short s1 = 1; s1 = ...
- 2.Java英文缩写详解
1.JVM 2.JDK JRE 3.Java SE EE ME 4.OO OOP 5.IOC 6.SQL 7.POJO 1.JVM:Java Virtual Machine(Java虚拟机)的缩写. ...
- Oracle EBS 应收API只创建收款没有核销行以及消息堆栈
只创建了收款但没有创建核销行 排除其他原因 有可能是缓存溢出导致的这个要改成true 且使用消息堆栈处理
- 原生java调用webservice的方法,不用生成客户端代码
原生java调用webservice的方法,不用生成客户端代码 2015年10月29日 16:46:59 阅读数:1455 <span style="font-family: Aria ...
- webkit、cef、nwjs、electron、 miniblink浏览器内核优缺点
市面上作为嵌入的组件的可用的浏览器内核,不外乎这几个:webkit.cef.nwjs.electron. 1.cef:优点是由于集成的chromium内核,所以对H5支持的很全,同时因为使用的人也多, ...
- Oracle特殊恢复原理与实战(DSI系列)
1.深入浅出Oracle(DSI系列Ⅰ) 2.Oracle特殊恢复原理与实战(DSI系列Ⅱ) 3.Oracle SQL Tuning(DSI系列Ⅲ)即将开设 4.Oracle DB Performan ...
- [翻译] IDMPhotoBrowser
IDMPhotoBrowser IDMPhotoBrowser is a new implementation based on MWPhotoBrowser. IDMPhotoBrowser实现了图 ...
- UNIX高级环境编程(5)Files And Directories - 文件相关时间,目录文件相关操作
1 File Times 每个文件会维护三个时间字段,每个字段代表的时间都不同.如下表所示: 字段说明: st_mtim(the modification time)记录了文件内容最后一次被修改的时 ...
- zabbix的日常监控-API
Zabbix API提供两项主要功能: 远程管理Zabbix配置 远程检索配置和历史数据 官方文档:https://www.zabbix.com/documentation/3.4/zh/manual ...