vim缩进参考线
编辑缩进嵌套的文件时想找到对应的层级比较困难,写了一个函数,使用cc选项设定一条辅助线,标识到指定的缩进层级。代码如下:
|
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
|
" --------------------------------------------------" [参考线切换] {{{" --------------------------------------------------fu! ReferenceLine(t) if exists('w:ccnum') let ccnum=w:ccnum elsei exists('b:ccnum') let ccnum=b:ccnum else let ccnum=0 en let oldcc=ccnum " let ccc=&cc " ec oldcc let ccc=','.&cc.',' " add/sub if a:t=='add' || a:t=='sub' " check old cc if match(ccc, ','.oldcc.',')<0 let oldcc=0 let ccnum=0 en " step let csw=&sw if a:t=='add' let ccnum=ccnum + csw elsei a:t=='sub' let ccnum=ccnum - csw if ccnum < 0 | let ccnum=0 | en en if oldcc > 0 | let ccc=substitute(ccc, ','.oldcc.',', ',', '') | en let ccc=ccc.ccnum " ec ccc " ec ccnum let ccc=substitute(ccc, '^0,\|,0,\|,0$', ',', 'g') let ccc=substitute(ccc, '^,\+\|,\+$', '', 'g') " ec ccc let w:ccnum=ccnum let b:ccnum=ccnum exec "setl cc=".ccc " del elsei a:t=='del' let ccc=substitute(ccc, ','.oldcc.',', ',', '') let ccc=substitute(ccc, '^,\+\|,\+$', '', 'g') " ec ccc let w:ccnum=0 let b:ccnum=0 exec "setl cc=".ccc enendfnn <silent> <A-u> :call ReferenceLine('sub')<CR>nn <silent> <A-o> :call ReferenceLine('add')<CR>" }}} |
使用方法:
Alt+o 增加参考线、Alt+u 减少参考线,最后两行是键映射,可以按照需求自行修改。
设定参考线后,如果想要设定cc做列宽参照,请使用set cc+=<num>来设定。
效果如下:左侧的是缩进辅助线,右侧的是手动设置的列宽参照。
vim缩进参考线的更多相关文章
- 【Linux】vim缩进配置 (转载)
1.安装vim,终端输入: wanpeng@ubuntu:~$ sudo apt-get install vim-full 2.终端输入,打开配置文件: wanpeng@ubuntu:~$ vim ~ ...
- vim 缩进设置
1.在自己的家目录(/home)下建立.vimrc文件.控制台输入vi ~/.vimrc 回车. 2.在.vimrc文件中输入如下文本: set tabstop=4 set softtabstop= ...
- 设置Ubuntu下vim缩进为4个空格
输入命令编辑vim配置文件: sudo vim /etc/vim/vimrc 文件中添加如下: 保存退出即可
- vim选中多行缩进(python多行缩进)与删除多行前面的空格
最近用vim写python,有时候会在一段代码前面套一个循环的操作,这个时候将这一段代码整体向后平移四个空格,来满足vim缩进的要求,如何做到这一点呢? 1. ESC之后,ctrl+v进入多行行首选中 ...
- [No000018F]Vim自动缩进配置、原理和tab键替换空格-Vim使用技巧(4)
一.Vim缩进介绍 在没有设置Vim自动缩进的条件下,可以手动使用Vim命令对特定行进行缩进处理.在Vim插入模式下,按下 Tab 键时默认会输入一个制表符,可通过Vim配置项将 Tab 替换为空格, ...
- vim的一些配置
所有用户的共同配置位于 /etc/vimrc 或者 /ect/vim/vimrcz中,可能还会有其他的配置文件,例如vimrc.tiny,具体的应用场景文件内会有说明. 某个特定用户的vim配置位于 ...
- 转载:如何利用Vim进行Erlang开发
转自:http://ovalpo.info/how_to_use_vim_for_erlang_dev/ 如何利用Vim进行Erlang开发 by Martin J. Logan on Septemb ...
- vim 高级使用技巧第二篇
上篇我贴上了我使用的vim配置及插件配置,有这些东西只能是一个脚本堆积,无从谈高效的代码阅读开发. 下面我们就来写经常使用的命令,就从配置F系列快捷键开始吧. F+ n 快捷键配置 F1基本上时帮助, ...
- linux vim编辑
常用vim操作自我总结,大神请回避: vim 打开退出保存 打开:直接打开 vim practice_1.txt也可以先打开vim,后:e 文件路径 保存::w 文件名或者退出保存:wq! 普通模式下 ...
随机推荐
- WINDOWS 逻辑坐标 设备坐标 屏幕坐标 客户区坐标
转自:http://blog.csdn.net/lovesunshine2008/article/details/4048158 设置坐标映射 (1)Windows坐标系统 Windows坐标系 ...
- wamp因配置错误而导致apache无法启动的问题
在使用wamp搭建一个PHP项目环境时,却出现了apache无法启动的问题 通过查看window的错误日志才发现apache出现了错误 错误的原因说的很清楚,是因为配置文件中的Director ...
- 有用的java工具
1.Jsoup html页面解析 2.FastJson java中json处理工具,类似于gson 3.jodd 类似于apache commons的一些常用工具集 4.Selenium IDE we ...
- Masonry应用【美图秀秀首页界面自动布局】
Masonry在此实现时候,并没有比NSLayoutConstraint简单,相反我觉得还不如NSLayoutConstraint. [self.topView mas_makeConstraints ...
- windows 下 nginx 的启动 停止 关闭
停止 nginx -s stop 重新加载配置文件(改动了参数无需重启,只有执行重新加载即可)nginx -s reload 退出 停止 关闭nginx -s quit
- Go语言中使用SQLite数据库
Go语言中使用SQLite数据库 1.驱动 Go支持sqlite的驱动也比较多,但是好多都是不支持database/sql接口的 https://github.com/mattn/go-sqlite3 ...
- 008-Go 关于字符串拼接
如果是少量小文本拼接,用 “+” 如果是大量小文本拼接,用 strings.Join 如果是大量大文本拼接,用 bytes.Buffer package main import( "fmt& ...
- 算法笔记_229:有理数的循环节(Java)
目录 1 问题描述 2 解决方案 1 问题描述 1/7 = 0.142857142... 是个无限循环小数.任何有理数都可以表示为无限循环小数的形式. 本题目要求即是:给出一个数字的循环小数表示法 ...
- JS或AS中处理ARGB、RGBA颜色值时要小心
(0xffffffff)>>24; //-1 (0xffffffff / 2)>>23; argb颜色需要一个无符号整数uint才能存储,如果首位是F,那么第一个二进制位就是1 ...
- 〖Linux〗bash和expect执行ssh命令行sshcmd.exp
#!/usr/bin/expect -f # sudo apt-get install expect # ./ssh.exp user passwd server set user [lrange $ ...