Vim - 扩展命令(末行命令)模式
2020-08-04 16:08
134 查看
扩展命令模式
在命令模式下,按
:进入Ex(个人更偏向于叫末行)模式,创建一个命令提示符:处于屏幕底部的左侧
扩展命令模式基本命令
w 写(存)磁盘文件 wq 写入并退出,个人建议使用该命令保存退出 x 写入并退出,等同于wq X 加密,不建议使用 q 退出 q! 不保存退出,及时更改都将丢失 r 后接FILENAME,读取FILENAME 的内容到当前vim 文本中 w 后接FILENAME,将当前文件内容写入另一个文件 !CMD 在不退出vi的情况下,执行命令 r!CMD 读入命令的输出
地址定界
命令格式
:start_pos,end_pos CMD #起始坐标,结束坐标 命令
地址定界格式
# 具体第# 行,如2表示第二行 #,# 第一个表示起始行,第二个表示结尾行,如2,4表示从第二行到第四行 #,+# 第一个表示起始行,加上第二个表示行数,如3,+5表示从第三行到第八行 . 当前行 $ 最后一行 .,$-1 当前行到倒数第二行 % 全文,等同1,$ /pattern/ 从当前行向下查找,直到匹配pattern的第一行,即:正则表达式 /pat1/,/pat2/ 从第一次被pat1模式匹配到的行开始,一直到第一次被pat2匹配到的行结束 #,/pat/ 从指定行开始,一直找到第一个匹配pattern的行结束 /pat/,$ 向下找到第一个匹配pattern的行到整个文件的结尾的所有行
地址定界后跟编辑命令
d 删除 y 复制 p 粘贴到当前行的上一行 P 粘贴到当前行的下一行 w file 将范围内的行另存至指定文件中 r file 在指定位置插入指定文件中的所有内容
范例
#末行模式下,4,9 将第4行到第9行的内容删除 :4,9 按d 键 #末行模式下,4,+5 将第4行到第9行的内容另存到f1.txt中 :4,+5 r f1.txt
查找并替代
s/要查找的内容/替换的内容/修饰符 内容说明: 要查找的内容:可使用基本正则表达模式 替换为的内容:不能使用模式,但可以使用\1,\2,...等后向引用符号;还可以使用“&”引用前面查看时查找到的整个内容 修饰符: i 忽略大小写 g 全局替换,默认情况下,每一行只替代第一个匹配项 gc 全局替换,替换前提示 / 查找替换中的分隔符 / 可替换为其他字符,如:#,@ (个人喜欢使用@)
范例
#在末行模式下,@ 是分隔符,g 表示全局替换。将文中的etc 替换成var :s@etc@var@g #在末行模式下,# 是分隔符,i 表示忽略大小写。将文中的/boot 替换成/ :s#/boot#/#i #在末行模式下,从当前行到倒数第二行,root 替换成dawn :.,$-1s@root@dawn@g #全文中l..e 后追加r ()模式匹配,\1,\2...前向引用 [root@centos8 data]#vim test hello, like hgrei, love hefgelo,like hihafd,lvoe #末行模式下,% 表示全文,l..e需要放在()内,且()需要转义,属于模式匹配,\1 表示前向引用 :%s@\(l..e\)@\1r@g #匹配后的结果 hello, liker hgrei, lover hefgelo,liker hihafd,lvoer #全文中l..e 替换为 r [root@centos8 data]#vim test hello, like hgrei, love hefgelo,like hihafd,lvoe #末行模式下,% 表示全文,l..e需要放在()内,且()需要转义,属于模式匹配,r是替换的内容 :%s@\(l..e\)@r@g #匹配后的结果 hello, r hgrei, r hefgelo,r hihafd,r #将全文中的good 后追加xxx,as后追加aaa :%s#\(good\) \(as\)#\1xxx,\2aaa#
定制vim 的工作特性
扩展命令(末行)模式的配置只对当前vim 进程有效,可将配置存放在文件中持久保存
全局 /etc/.vimrc 个人 ~/.vimrc
行号*
显示:set number 缩写:set nu 取消显示:set no number 缩写:set nonu
忽略大小写*
启用:set ignorecase 缩写:set ic 不忽略:set noic
显示Tab 和换行符 ^| 和$ 显示*
启用:set list 禁用:set nolist
自动缩进*
启用:set autoindent 缩写:set ai 禁用:set noai
复制保留格式*
启用:set paste 禁用:set nopaste
高亮搜索
启用:set hlsearch 禁用:set nohlsearch 缩写:set nohl
语法高亮
启用:syntax on 禁用:syntax off
文件格式
启用windows格式:set fileformat=dos 启用unix格式:set fileformat=unix 简写:set ff=dos|unix
Tab 用空格代替
启用:set expandtab 默认为8个空格代替Tab 禁用:set noexpandtab 简写:set et
Tab 用指定空格的个数代替*
启用:set tabstop=# 指定# 个空格代替Tab 简写:set ts=4
设置文本高度
set textwidth=65(vim only) set wrapmargin=15
设置光标所在行的标识线*
启用:set cursorline 缩写:set cul 禁用:set nocursorline
加密
启用:set key=pwd 禁用:set key=
set 帮助
:help option-list :set or :set all
相关文章推荐
- 马哥2016全新Linux+Python高端运维班-Linux vim 末行模式,sed命令,基本bash脚本
- VIM扩展命令模式
- vim进入编辑模式,vim命令模式,vim扩展
- Linux 学习笔记 - VIM编译器操作 命令模式-文本模式-末行模式
- Vim 模式及常用命令整理
- VIM命令模式与输入模式切换
- vim 命令模式与输入模式切换
- vim编辑模式与命令模式
- vim编辑模式,命令模式
- vim的编辑模式与命令模式
- 基础知识 day-10 (vim介绍, vim颜色显示和移动光标, vim一般模式下移动光标, vim一般模式下复制、剪切和粘贴, 进入编辑模式, vim命令模式, vim实践)
- vim的末行模式讲解
- linux命令-vim编辑模式
- 四周第三次课(11月8日)5.5 进入编辑模式5.6 vim命令模式5.7 vim实践
- C#编程模式之扩展命令
- vim底行模式命令
- Vim的工作模式、插入命令、定位命令、删除命令、复制剪切命令、保存退出命令等等
- [VIM]可视模式下的几个命令
- VIM -- 从命令模式切换到sudo以获取足够的权限
- vim编辑模式、命令模式以及实践