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:粘贴删除的词到光标所在位置

原文地址:https://www.cnblogs.com/hanwwly/p/3980496.html