vi使用方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vi使用方法相关的知识,希望对你有一定的参考价值。

  1. 编辑命令使用方法 vi/vim
    1) 编辑命令模式信息
    命令模式: 可以实现特殊功能操作
    编辑模式: 可以编辑文件内容信息
    底行模式: 可以输入特殊命令信息 wq q wq! q!

    命令模式 -i-> 编辑模式 -esc-> 命令模式
    命令模式 -:-> 底行模式 -esc-> 命令模式

    2) 命令模式 ---> 编辑模式
    i --- 在光标所在位置直接进入编辑模式
    I --- 将光标切换到行首进入编辑模式
    a --- 在光标所在位置下一个字符进入编辑模式
    A --- 将光标切换到行尾进入编辑模式
    o --- 在光标所在行的下面插入新的一行,并进入编辑状态
    O --- 在光标所在行的上面插入新的一行,并进入编辑状态
    s --- 删除光标所在位置字符并进入编辑状态
    S --- 删除光标所在行并进入编辑状态哦

3) 命令模式 ---> 底行模式
: --- 进入到底行模式,完成功能操作 wq w q wq! q!
/ --- 搜索文件信息 n 向下查找 N 向上查找
? --- 搜索文件信息 n 向上查找 N 向下查找
PS: 忽略大小写查找文件中数据
/oldboyc

4) 如何快速移动光标 (命令模式)

G --- 切换到文件的最后一行
gg --- 切换到文件的第一行
100G --- 切换到文件指定行
100gg
^ --- 切换到一行的开头
$ --- 切换到一行的结尾

5) 如何完成特殊编辑操作

yy --- 复制指定行信息
nyy --- 复制多行信息
p --- 将复制的内容在指定行进行粘贴
np --- 将复制的内容在指定行进行粘贴多次
dd --- 删除指定行信息 (实质是剪切)
ndd --- 删除指定多行信息 (实质是剪切)
dG --- 删除光标之后的所有行内容
C --- 删除光标之后的内容并进入编辑状态
r --- 替换指定字符信息
R --- 连续替换多个字符信息

6) 命令模式特殊功能操作
u --- 撤回操作 undo
ctrl+r --- 取消撤回 redo

   底行模式特殊功能操作

: set nu --- 显示行号信息
: set nonu --- 取消行号显示

  1. 编辑命令常见错误
    错误01: 编辑命令只能编辑文件
    错误02: 必须指定要编辑文件
    错误03: 编辑文件目录必须存在
    错误04: 显示错误提示信息,无法正常编辑
    分析问题原因:
    1) 编辑文件时,出现突然中断
    2) 文件被多个用户同时编辑了

进行问题解决:
问题一: 解决方法
第一个历程: 恢复中断前的数据信息
vi -r 编辑文件信息
第二个历程: 删除一个隐藏文件
说明: linux系统中以 . 开始的文件就是隐藏文件
利用ls -a 查看隐藏文件
rm -f /oldboy/oldboy.txt.swp

vi命令执行原理

1) 编辑文件会产生隐藏文件
2) 是直接在隐藏文件中编辑内容
3) 保存文件时,是将隐藏文件重命名操作

linux系统/目录下目录结构信息
PS: 系统中一切数据皆文件
boot --- 存放引导系统启动文件信息 类似windows系统c:/windows
etc --- 系统服务配置文件保存目录
opt/usr --- 用户安装的第三软件程序保存的目录 Program Files
root --- 系统用户家目录 超级管理员用户的家(皇宫)
home --- 系统用户家目录 普通用户的家(平民窟)
var --- 系统日志文件保存目录
tmp --- 临时存储数据目录 类似windows回收站
sbin --- 二进制文件==命令文件 super Binary
bin --- 二进制文件==命令文件 Binary
dev --- ??????
mnt --- ??????
media --- 存放音频 视频 图片
sys/proc --- ???
lib --- library 调好酱料 开发代码需要使用库文件保存的目录 32位程序所需的库文件
lib64 --- library 64位程序所需的库文件
目录层级官方资料: http://www.pathname.com/fhs/pub/fhs-2.3.html

以上是关于vi使用方法的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法以编程方式使用kotlin更改片段中的文本颜色?

如何使用 tabLayout 在 ViewPager 中显示片段?

使用 ViewPager 滑动时,片段没有调用 OnResume()

在片段中,如何停止 ZXing Scanner 的摄像头?

当我旋转屏幕时,我想更改 MainActivity 的布局,其中包含两个片段

利用mask-image蒙层编写异形头像