博客
关于我
复习2 --- vi编译器的使用
阅读量:272 次
发布时间:2019-03-01

本文共 1494 字,大约阅读时间需要 4 分钟。

vi编辑器功能与使用指南

vi编辑器的核心功能

vi编辑器是一款功能强大的文本编辑器,常用于Linux系统中。以下是其核心功能:

1. **文件操作**:打开文件、新建文件、保存文件2. **光标移动**:通过hjkl键快速定位光标位置3. **文本编辑**:支持插入、删除、替换操作4. **多行间操作**:复制、粘贴、删除5. **查找与替换**:支持全局搜索和替换

vi编辑器配置方法

通过命令配置vi编辑器:

```bashcd /etc/vimcp vimrc ~/.vimrccd ~gedit .vimrc```在`.vimrc`文件中,可添加以下配置:```vim"关闭兼容功能set nocompatible"显示行号set number"编辑时backspace设置为2个空格set backspace=2"编辑时tab设置为4个空格set tabstop=4"设置自动对齐为4个空格set shiftwidth=4"搜索时不区分大小写set ignorecase"搜索时高亮显示set hlsearch```

vi编辑器的三种工作模式

vi编辑器支持三种工作模式:

1. **一般模式**:用于光标移动、复制、粘贴、删除等操作2. **编辑模式**:用于文本输入,支持i、a、o等命令3. **命令模式**:用于查找、替换、保存退出等操作

文件操作指南

在vi编辑器中处理文件:

- **打开文件**:直接输入文件名,如`vi filename`- **保存文件**:在编辑完成后输入`:wq`,如已存在文件则保存并退出- **新建文件**:若文件不存在,输入`:wq`即可新建并保存- **退出文件**:在保存后输入`:q`或`:wq`退出- **强制退出**:未保存内容时使用`:q!`强制退出

光标移动技巧

光标移动是vi编辑器的核心操作:

- **基本移动**:h、j、k、l控制光标左右、上下移动- **快速定位**:使用`gg`定位到文件开头,`G`定位到文件结尾- **定位到特定行**:使用`ngg`定位到第n行开头,如`2gg`定位第二行- **定位到特定列**:使用`0`定位到当前行开头,`$`定位到当前行末尾

文本操作指南

文本操作是vi编辑器的核心功能:

- **复制**:使用`yy`复制当前行,或`nyy`复制n行- **粘贴**:使用`P`粘贴上一次复制内容- **删除**:使用`dd`删除当前行,或`ndd`删除n行- **撤销**:使用`u`撤销上一次操作- **字符删除**:使用`x`删除光标所在位置的字符

查找与替换操作

vi编辑器支持高效的查找与替换:

- **搜索**:输入`/pattern`从光标位置开始搜索,按`n`或`N`重复- **全局替换**:使用`:%s/p1/p2/g`替换所有`p1`为`p2`- **确认替换**:使用`:%s/p1/p2/gc`替换时需确认- **替换符号**:使用`s`替换单个实例,`g`替换全局

vi编辑器的难点与注意事项

使用vi编辑器时需注意:

1. 判断当前工作模式,使用`ESC`返回一般模式2. 快速定位光标位置,熟练使用`hjkl`等移动键3. 保存与退出时注意文件状态4. 复制粘贴等操作需在一般模式下进行5. 查找替换需掌握好使用方法

总结

vi编辑器是一种高效的文本编辑工具,其操作模式与传统Windows编辑器有所不同。熟练掌握vi编辑器的三种工作模式、光标移动技巧以及文本操作是提升工作效率的关键。通过持续练习和配置,可以快速适应vi编辑器的使用习惯。

转载地址:http://evga.baihongyu.com/

你可能感兴趣的文章
ViewHolder的改进写法
查看>>
Orderer节点启动报错解决方案:Not bootstrapping because of 3 existing channels
查看>>
org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Unexpected subelement profile
查看>>
sql查询中 查询字段数据类型 int 与 String 出现问题
查看>>
org.apache.commons.beanutils.BasicDynaBean cannot be cast to ...
查看>>
org.apache.dubbo.common.serialize.SerializationException: com.alibaba.fastjson2.JSONException: not s
查看>>
sqlserver学习笔记(三)—— 为数据库添加新的用户
查看>>
org.apache.http.conn.HttpHostConnectException: Connection to refused
查看>>
org.apache.ibatis.binding.BindingException: Invalid bound statement错误一例
查看>>
org.apache.ibatis.exceptions.PersistenceException:
查看>>
org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned
查看>>
org.apache.ibatis.type.TypeException: Could not resolve type alias 'xxxx'异常
查看>>
org.apache.poi.hssf.util.Region
查看>>
org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
查看>>
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /
查看>>
org.hibernate.HibernateException: Unable to get the default Bean Validation factory
查看>>
org.hibernate.ObjectNotFoundException: No row with the given identifier exists:
查看>>
org.springframework.beans.factory.BeanDefinitionStoreException
查看>>
org.springframework.boot:spring boot maven plugin丢失---SpringCloud Alibaba_若依微服务框架改造_--工作笔记012
查看>>
SQL-CLR 类型映射 (LINQ to SQL)
查看>>