4.21周五 vi编辑器.note
VI是命令行中的一个文本编辑器
gedit //文本编辑器,类似于Windows的记事本
脚本开始:
#! /bin/bash

没有图形界面时,使用vim
vim是vi的高级界面
若是最小化安装的系统,则只会有vi,没有vim
查看一个命令是否存在:which
VIM两种用法:
打开一个不存在的文件,左下角显示new,保存后会自动创建
VIM用来在命令行中编辑文档
VIM的三种模式:
1、命令模式(普通模式):
进入VIM命令模式:
VIM 【文件名】
进入编辑模式快捷键:
i,a,o,O
2、编辑模式
使用“ / ”搜索
也可以使用“?”搜索
按“n”向下搜索,按大写“N”,向上搜索
编辑模式退出到命令模式:ESC键
3、末行模式
使用冒号“:”
能够输入:
q //不保存退出
wq //保存退出
常用快捷键:
1、命令模式:
h、j、k、l39加大写G来到第39行
第一行:gg 两个小写g
最后一行:G 一个大写G
去到行首用0或者^
去到行尾$
删除:dd 两个d
删除5行:5dd
删除所有:dG 一个小d 大写G
删除光标后的内容:d$/d0
删掉一个单词:dw
删掉一个字母:x
复制和粘贴:
复制:yy
粘贴:p
ygg
撤销和重做:
撤销一次操作:u
恢复一次:Ctrl + r
替换:
替换一次:r
替换模式:R
2、编辑模式:
ins/i等键进入编辑模式没有快捷键
ESC退回到命令模式
3、末行模式:
“:”进入末行模式
:w //保存
:wq //保存退出
:q //不保存退出
:q! //强制不保存退出
:x //保存退出
加!等于强制保存退出
:w 【路径/名字】 //另存为
:1! //复原到保存之前
:127,$ w man_backup.cof //将从127行到末尾保存到另一个文件
n1,n2 w 【另一个文件】 //支持保存部分
或n1,$末行模式下的搜索和替换:
/或? 【想要搜索的内容】 //进行搜索
:%s/share/8888/ //将share替换成8888,但只会替换每一行的第一个
:%s/share/8888/g //将每一行的所有share都替换成8888
:%s/share/8888/gc //替换每一行的所有,c表示每遇到一个都需要手动确定是否替换
:1,10s/man/8888/g //将1到10行的所有man都替换成8888
n1,n2或$s/man/8888/g
:%s/\<old\>/new/g在一定程度上支持正则表达式

#set
:set nu
:set nonu
:set nohlsearch //
:set autoindent //自动对齐
:set noautoindent //关闭自动对齐
:set tabst
:set ruler
:set ignorecase //忽略正则表达式中的大小写
:set noignorecase
:set mouse-=a
:set tabstop=4
:r anothor_file //读取其他文件
:! 【命令】
:r ! 【命令】
:sh //进入到bash编辑,使用(exit)才能够退出
visual模式 - 使用鼠标框选
Ctrl + V进入模式,
进行操作,
y c p
d
x
shift + i
ESC退出,然后相同的都会被替换
使用:
:set mouse=a
关闭visual
vim /usr/share/vim/vim82/debian.vim //设置vim专属的参数
窗口的分割:
要同时编辑两个文件时,可以进行窗口分割
在前面加一个 -O,就会有两个窗口
vim -o file1.txt file2.txt //水平分割;-O //垂直分割
Ctrl + w //在窗口之间切换(按两次Ctrl + w)
Ctrl +ws //快捷分割
在vim编辑时退出,若修改了文件,再次进入会有一些错误提示,有一些选项
o //只读模式
r //恢复
d //将缓存文件删除
哪怕选择了,只后打开还是会提示,需要删除缓存文件,才不会提示