精通Linux中的编辑器(非常详细!!!)

今天我们来说一下编辑器......

Linux中的编辑器

vi:是一个文本编辑器,用于撰写文档,或者开发程序。

vim:是vi的增强版功能一致,可视化效果更好一些。去鼠标化编辑更加方便可定制化

注意:vim编辑器是一个模式化文本编辑器工具

编辑器中有三种常用的模式:

编辑模式、插入模式、末行模式

编辑模式

复制内容:#(数字)

单行复制:yy
多行复制:#yy

剪切内容(也可以是删除):

        单行剪切:dd

        多行剪切:#dd

        剪切(删除)光标之前的一个字符到行首的内容:d0

        光标到行尾的内容:d$

        光标到行尾的内容:D

        删除光标所在行到最后一行:dG

        删除光标所在位置的词组:dw        (注意:光标得在词组的第一个符号位置才可以删除词组否则只删除该单词)

粘贴内容: p

移动光标:

        h:左移光标
        l:右移光标
        j:下移光标
        k:上移光标
        H:移动到当前屏幕的第一行,注意不是文档的第一行
        L:移动到当前屏幕的最后一行,注意不是文档的最后一行
        M:移动当前屏幕中间行

翻页快捷键:

ctrl+f 上翻一页

ctrl+b 上翻一页

ctrl+d 上翻半页

ctrl+u 下翻半页

#G:数字+G,定位到文档指定行
G:定位到文档的最后一行
gg:定位到文档的第一行
w:跳转到最后一个词组的首字母
x:删除一个字符

撤销操作:

u:撤销上一步操作(最多可以撤销50条)
ctrl -r:撤销撤销操作(回复撤销内容)
点(.)重复上一步的操作

插查询功能:

输入/ str 搜索功能(str代表搜索的内容)

n:向下跳转一个搜索到的关键词

N:向上跳转一个搜索到的关键词

插入模式:

切换到插入模式的时候左下角会出现INSERRT单词

进入插入模式的方式:

i  -->  表示在光标前进行插入内容
a  -->  表示在光标后进行插入内容、
o  -->  表示在光标前行的下一行进行编辑
I  -->  表示在行首进行插入内容
A  -->  表示在行尾进行插入
O  -->  表示在光标所在的行的上一行插入新行进行插入内容

末行模式:

作用:用于执行一些命令或者与bash进行交互,或者执行一系列自动化指令

进入末行模式:切换到编辑模式才可以换成末行模式esc切换到编辑模式shift+:进入末行模式

保存:w
退出:q
保存退出:wq
强制保存退出:wq!
强制退出:q!
保存退出快捷方式:x 、zz 或者 shift+zz
命令执行:!command [option] 参数
读取命令执行结果:r !conmmand [option] 参数
读取其他文件的内容:r /路径/文件名
显示行号:set nu
取消高亮:nohl
查找替换功能:
    指定范围查找::start,stop s/查找内容/替换内容/g
        start:起始行  stop:结束行  g:表示全部替换(不写默认是每行只替换第一个)  %:表示全文搜索
特殊替换:就是替换/
这时格式中的就得用别的特殊符号
设置tab缩进4个字符:set tabstop=4
复制指定范围到n行下:start,stop co n
删除指定行:start,stop d
移动指定行下面:start,stop m n

注意:如果想打开文件就显示行号或者查询不显示高亮可以在vim中的配置文件中加上这两个

显示行号: :set nu

显示高亮: :syntax on

保存退出即可

替换模式(不常用):

R:进入替换模式,esc退出

r:当替换一个字符后自动退出

注意:插入模式不可直接切换到末行模式下

vi的崩溃缓存机制

如果vi打开的文件没有关闭,则会在文件的位置下生成缓存文件,文件名的格式是:.文件名.sw什么的隐藏文件

基于崩溃缓存文件恢复成原始文件的过程:

1、用vi -r 崩溃缓存文件 打开后保存退出

2、用vi打开原始文件

确定恢复后,就可以把崩溃缓存文件删了;如果在崩溃缓存文件中无法保存就可需要加上!号

注意:vi的配置文件

~/.vimrc:每一个用户都有自己的配置文件,设置只对当前用户生效

/etc/vimrc:这是全局配置文件,对所有用户都生效(不建议更改)

vi补充:

Vi打开文件的时候:

如果文件存在,就是修改现有文件

如果文件不存在,就是创建一个新的空文件

如果vi打开出现无法保存的情况,就要看看打开的是不是一个目录

下次咱们说配置网络......

相关推荐
dntktop31 分钟前
内嵌编辑器+AI助手,Wave Terminal打造终端新体验
运维
组态软件2 小时前
web组态软件
前端·后端·物联网·编辑器·html
Peter_chq2 小时前
【计算机网络】多路转接之select
linux·c语言·开发语言·网络·c++·后端·select
太阳风暴2 小时前
Ubuntu-修改左Alt和Win键位置关系
linux·ubuntu·修改键盘·键盘映射
kaiyuanheshang3 小时前
docker 中的entrypoint和cmd指令
运维·docker·容器·cmd·entrypoint
wanhengwangluo3 小时前
裸金属服务器能够帮助企业解决哪些问题?
运维·服务器
Python私教4 小时前
除了 Docker,还有哪些类似的容器技术?
运维·docker·容器
titxixYY4 小时前
SElinux
linux·运维·服务器
聚名网5 小时前
手机无法连接服务器1302什么意思?
运维·服务器·智能手机
香吧香5 小时前
getent使用小结
linux