大家觉得写还可以,可以点赞、收藏、关注一下吧!
也可以到我的个人博客参观一下,估计近几年都会一直更新!和我做个朋友吧!https://motongxue.cn
第4章vi编辑器
4.1开始使用编辑器
4.1.1vi编辑器简介
- 命令模式
- 插入模式
- 底线模式
4.1.2进入vi编辑器
- 编辑一个文件:vi file
- 编辑多个文件:
- vi file1 file2 file3
- :n:当前文件保存才能进入下一个文件
- :N:当前文件保存才能进入上一个文件
- :rew:直接返回到第一个文件
4.1.3文件不存盘退出
- q!
4.1.4文件存盘退出
- wq
4.1.5文件另存
- :w write newfile
4.1.6部分文件另存
- :1,$ write newfile
4.1.7文件覆盖
- :1,9 w! newfile
4.1.8向文件中追加内容
- :1,$ w >> file:不能是追加到原文件,会因为输入流问题导致最终文件为空
4.1.9撤销对文件内容修改
- u
4.2移动光标
4.2.1使用方向键
4.2.2使用字母键
4.2.3使用组合键
- h、j、k、l:左下上右
- 5h、5l
4.2.4逐单词移动
- w:将光标移动到下一个单词开头
- b:将光标向前移动一个单词
- e:将光标移动到单词的词尾
- 可用组合:5w
4.2.5在某一行内移动
- f+任意字母键:将光标移动到下一个指定的字母
- 任意数字键+|:行内移动个数
- $:当前行末
- ^:光标移动到当前行首
4.2.6在不同行上移动
- 数字+G:对应行行首
- G:最后一行
- :任意数字:对应行行首
- 😒:最后一行行首
- -:上移一行
- +:下移一行
4.2.7在屏幕上移动
- M:光标在当前屏幕中间
- L:光标在当前屏幕最下方
- H:光标在当前屏幕最上方
4.2.8返回初始位置
- ‘’:两个单引号
4.2.9调整显示文本
- Ctrl + D:下移半屏文本内容
- Ctrl + U:上移半屏文本内容
- Ctrl + F:下一屏文本内容
- Ctrl + B:上一屏文本内容
4.3文本添加
4.3.1在光标当前位置左侧插入文本
- i
4.3.2在光标当前位置右侧插入文本
- a
4.3.3在光标当前位置上方插入文本
- O
4.3.4在光标当前位置下方插入文本
- o
4.3.5在行首插入文本
- I
4.3.6在行末插入文本
- A
4.4文本查找和替换
4.4.1向前查找字符串
- :/string:下一个n,上一个N
4.4.2向后查找字符串
- :/string:上一个有两种方法N或?a
4.4.3替换指定字符
- r:替换一个字符
- R:替换连续字符
4.4.4单词替换
- cw,注意光标在单词开头,其是将光标后的单词部分删除了,所以没放在单词开头会删不全
4.4.5在某一行内替换
- 替换当前整行:cc:删除当前行并等待用户输入
- 查找当前行中的文本进行替换:😒/oldstring/newstring
- 修改行内的某段文本内容:C:光标后的文字被删除
4.4.6对所有行进行替换
- 在所有行上搜索并替换行内第一个目标内容
- :1,$ s/oldstring/newstring
- :g/oldstring/s//newstring:耗费更多时间
- 指定某行中的内容并进行替换::g/某行里的内容/s/该行内的文字/新的文字
- 在所有行上搜索并替换行内所有目标内容
- :1,$ s/oldstring/newstring/g:g表示在从第一行到最后一行进行搜索
4.5文本复制、剪切和粘贴
4.5.1复制和粘贴字符
4.5.2剪切和粘贴字符
4.5.3复制、剪切和粘贴指定字符
4.5.4复制和粘贴单词
4.5.5剪切和粘贴单词
4.5.6复制和粘贴行
4.5.7剪切和粘贴行
复制 | 剪切 |
---|---|
yl:复制一个字符 | x:剪切一个字符 |
yw:复制一个单词 | dw:剪切一个单词 |
yy:复制一行 | dd:剪切一行 |
- 加快复制、剪切:10yl、10yw、10dd等
- 粘贴:p
4.5.8复制和移动文本块
- 复制
- 2 copy 15:将第2行复制到15行后面
1,$ copy $
:将所有内容复制一遍
- 移动
- 8,13 move 13
4.6文本删除和撤销
4.6.1删除字符
- x
- 5x:多个单词
4.6.2删除单词
- dw
- 5dw
4.6.3删除单行
- dd
- 只删除行中光标的后面部分:D
- 删除该行中光标到某个字符之间的指定文本:dfy(y为字符)
4.6.4删除多行
- 3dd
4.6.5删除指定行
- :2d
- :1,$ d
4.6.6重复删除
- dw后重复按“.”,就可重复删除,其他删除操作同理
4.6.7撤销最近一次删除
- u:除了删除,还可对其他执行操作进行撤销
4.6.8连续撤销删除
- 在vim中用u实现
4.6.9撤销一行上所有修改
- U
4.7更改vi编辑器设置
4.7.1显示和隐藏行号
- :set number
- :set nonumber
4.7.2设置和取消字符自动缩进
- :set autoindent
- :set noautoindent
4.7.3显示或隐藏当前编辑状态
- :set showmode
4.7.4搜索时忽略大小写
- :set ignorecase
- :set noignorecase
4.7.5显示和隐藏特殊字符
- :set list
- :set nolist
4.7.6特殊字符匹配
- :set showmatch
- :set noshowmatch
4.7.7显示长文本行
- :set wrapmargin=10:当输入的内容距离屏幕右边界10个字符时,vi编辑器将强制换行,光标也会自动移动到下一新行的行首
- :set wrapmargin=0:关闭强制换行
4.7.8查看编辑器当前设置
- :set all
4.7.9编辑器的配置文件
4.8高级功能
4.8.1在vi中执行shell指令
- :!date
- :!cal
4.8.2读入文件和shell命令
- 1 read file:从别的文件全部内容导入到该文件第一行之后
- :read !date
- $ read !head -5 file1:将部分指定内容读入到当前文件中
4.8.3编辑命令
- 用vi错误打开一个文件,现在想切换回去:
- vi wrongfilename
- :edit!rightfilename
2020年12月15日更
大家觉得写还可以,可以点赞、收藏、关注一下吧!
也可以到我的个人博客参观一下,估计近几年都会一直更新!和我做个朋友吧!https://motongxue.cn