vim使用指北 ---- Advanced Editing
本节介绍vi和ex的一些高级功能。
配置vi
配置文件.exrc可以保存在你的主目录下,在vi启动的时候执行这个配置文件。但在当前工作目录下可以放置一个配置文件,对当前目录做一个自定义配置。
:set命令
:set命令有两种参数,一种开关参数,表示开启或关闭;一种普通的参数,后面为一个数字或者一个字符串。
开关参数基本都有默认值,:set option:开启 :set nooption:关闭。例如::set ic(查找忽略大小写),:set noic(查找区分大小写)
有一些参数必须赋值,:set option=value,例如:set window=20(当前屏幕显示20行)
:set all ---- 可以查看当前的所有参数情况
:set option? ---- 查看当前参数设置的值
:set ---- 现实哪些参数有修改,相对于.exrc文件或当前Session
配置文件.exrc
.exrc文件可以用vi编辑,如果主目录下面没有这个文件,可以用vi创建,在.exrc文件中使用:set命令,不需要使用前面的冒号
替代环境
vi启动时先读取u用户主目录下.exrc文件,再读取当前工作目录下的.exrc文件。当前工作目录下的设置会覆盖主目录下的设置。
你也可以不用.exrc文件来这个当前的环境,随便弄一个文件保存环境配置。这个 时候必须要使用:so(source)命令读取自定义的文件。
一些有用设置
:set wrapmargin=10 ---- 设置输入到右边界还有10个字符的时候,自动换行
:set ignorecase/noignorecase ----- 设置查找时忽略大小写/对大小写敏感,noignorecase默认
:set wrapscan/nowrapscan ---- 设置在文件的任何查找,是否可以遍历整个文件,wrapscan默认
:set magic/nomagic ---- 设置查找时是否可以使用通配符号,magic默认
:set autoindent/noautoindent ---- 设置自动缩进
:set showmatch/noshowmatch ---- 设置是否显示匹配的括号
:set tabstop=8 ---- 设置tab在文件的空格数
:set shiftwidth=8 ---- 设置自动缩进的宽度
:set number/nonumber ---- 设置是否现实行号
:set list/nolist ---- 设置是否现实每行的结束位置(?我看到的效果是这样)
:set autowrite/noaautowrite ---- 设置在用:n编辑下一个文件或者运行shell命令时自动保存当前文件改动
运行linux命令
:!command 退出当前vi,显示shell,并显示命令执行结果,按Enter返回vi编辑
:sh 创建shell窗口,执行想要的命令,如果想回到vi编辑,按Ctrl+D
:r !command 读取命令执行结果,并插入到当前光标所在位置
定义词汇缩写
:ab abbr phrase ---- 把phrase定义为abbr所确定的缩写,在插入模式,键入abbr后,空格,回车,ESC后会把缩写展开成phrase所定义的短句
:unab abbr ---- 取消abbr的定义
:ab ---- 列出当前所有的定义
使用map命令
:map x sequence ---- 定义字符x作为senqunce命令的快捷方式
:unmap x ---- 取消x的快捷方式
:map ---- 列出当前所有的map
例如 :map V dwelp dw:删除当前单词,e:移动光标到词的末尾,l:光标右移一个,p:粘贴删除的词到光标所在位置
vim使用指北 ---- Advanced Editing的更多相关文章
- vi/vim使用指北 ---- Sample Editing
本篇介绍vim的基础操作,各种编辑模式的切换,光标的移动,删除,撤销/重做,保存,查找等基础命令: 基础操作 编辑文件 vim [options] [file ...] 模式 打开文件后进入vim的 ...
- vi/vim使用指北 ---- Learning the vi and Vim Editors 读书 笔记
vi/vim作为liux系统下最强大,最流行的文本编辑器之一.边看<Learning the vi and vim Editor>边学习vim,顺便做写简单的笔记,供以后查询. 没看这本书 ...
- vi/vim使用指北 ---- Beyond the Basic
更多的组合命令 [number]-[command]-[test object] number: 数字 comand: c,d,y (修改,删除,复制) test object: 移动光标的命 ...
- vi/vim使用指北 ---- Moving Around in a Hurry
上一篇文章中,简单列出了一些基本的Vim操作,也列出了很多的光标移动命令,本章主要是有哪些命令可以更快的移动光标. vim的编辑操作,用得最多就是移动光标,对于很少行的文件来说,基本的命令就够用了,但 ...
- vim使用指北 ---- Multiple Windows in Vim
多窗口打开多个文件 vim -o file1 file2 ... ---- 默认上下分割窗口 vim -0n file1 file2 ... ---- vim默认会上下等分n个窗口 分割窗口 :[v] ...
- vim使用指北 ---- Global Replacement
一般替换 s/old/new --- 替换当前行的第一个匹配项 s/old/new/g ---- 替换当前行所有的匹配项 number1,number2-s/old/new/g ---- 替换从 ...
- vi/vim使用指北 ---- Introducting the ex Editor
本章介绍ex编辑器,为什么要介绍这样一个新的编辑器呢:其实ex编辑器不能算是一个新的编辑器,vi只是它的visual model,它已经是一个更普遍,基于行的编辑器.ex提供更大机动和范围的编辑命令. ...
- 颓废选手在 Ubuntu/Noilinux 下的生存指北
颓废选手在 Ubuntu/Noilinux 下的生存指北 Hint: 这里的 "#" 都是假注释,复制的时候记得删除 一些基本的生存命令 ctrl + alt + t #调出终端 ...
- ansible使用指北(二)
前言在上一篇文章里我们了解了ansible的常用模块,今天我们来了解下ansible-playbook,ansbile-playbook是一系统ansible命令的集合,其利用yaml 语言编写,an ...
随机推荐
- ASP.NET Core文章汇总
现有Asp.Net Core 文章资料,2016 3-20月汇总如下 ASP.NET Core 1.0 与 .NET Core 1.0 基础概述 http://www.cnblogs.com/Irvi ...
- python爬取糗百第一页的笑话
自学python网络爬虫,发现request比urllib还是要好用一些,因此利用request和BeautifulSoup来实现糗百的首页笑话的抓取.BeautifulSoup通过find和find ...
- [terry笔记]RMAN综合学习之备份
rman是最经济实惠的oracle备份工具,在这里做一个rman的整体学习. 文章中大多是rman命令的语法,还是最好做做实验,以便印象深刻,因为大多数数据库的备份就是按时跑脚本,恢复也不是经常能遇到 ...
- [terry笔记]Oracle会话追踪(二):TKPROF
接上一笔记[terry笔记]Oracle会话追踪(一):SQL_TRACE&EVENT 10046 http://www.cnblogs.com/kkterry/p/3279282.html ...
- String类详解,StringBuffer
先说一下String类的equals()方法. 下面我们先看一段代码: 这段代码输出的结果为: ture true -------------- false 咋看之下貌似Object类比较特别,那么我 ...
- QTP获取系统时间并自定义格式
function GetDateTime(Nowstr) Dim Currentdatetime Dim YY 'Year Dim MM ...
- hud 2586 How far away ?
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2586 How far away ? Description There are n houses in ...
- ext4.1动态生成多个checkboxgroup(或者radiogroup),并且有toolbar操作、
转载自:http://blog.csdn.net/zhengyuechuan/article/details/9327291 前台controller代码: Ext.define('zyc.contr ...
- 49.关于Quartus和ISE中ROM的初始化和仿真的一些小结
最近在玩Altera的FPGA,当我用Quartus II自带的IP核生成ROM时,出现了各种问题,于是在网上各种查资料,终于解决了我的问题.这里做一下小结,方便自己日后查阅. Quartus II ...
- mysql卸载注意事项
由于数据库软件十分的复杂,不管是Mysql还是sqlserver安装都有很多配置要选择. 假若你第一次安装数据库失败,然后又想卸载,又再次安装,这时可能由于你第一次的卸载不完全,会导致你第二次安装时出 ...