基本上 vi 共分为三种模式,分别是『一般指令模式』、『编辑模式』与『指令列命令模式』 。这 三种模式的作用分别是:一般指令模式 (command mode)、编辑模式 (insert mode)、指令列命令模式 (command-line mode) 。
以 vi 打开一个文件就直接进入一般指令模式了(这是默认的模式,也简称为一般模式) 。在这个模 式中,linux的vi搜索命令你可以使用『上下左右』按键来移动光标 , linux的vi搜索命令你可以使用『删除字符』或『删除整列』来处 理文件内容 , 也可以使用『复制、贴上』来处理你的文件数据 。
在一般指令模式中可以进行删除、复制、贴上等等的动作 , 但是却无法编辑文件内容的! 要等到你按下『 i, I, o, O, a, A, r, R 』等任何一个字母之后才会进入编辑模式 。通常在 Linux
中 , 按下这些按键时,在画面的左下方会出现『 INSERT 或 REPLACE 』的字样,此时才可以进 行编辑 。而如果要回到一般指令模式时,则必须要按下『Esc』这个按键即可退出编辑模式 。
在一般模式当中,输入『 : / ?』三个中的任何一个按钮 , 就可以将光标移动到最底下那一列 。在 这个模式当中,可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显 示行号等等的动作则是在此模式中达成的!
具体命令如下图所示(来自鸟哥的 linux 私房菜)
Linux之vi命令vi profile
返回
:q退出
:wq或者:x或者shift+zz 保存并退出
:q! 不保存并退出
:w 保存
:w! 强制保存
编辑到输入模式:
i 在当前光标前面输入
I 在当前光标所在行的行首,转换为输入模式
a 在当前光标后面输入
A 在当前光标所在行的行尾,转换为输入模式
o 在当前光标所在行的下方 , 新建一行 , 并转为输入模式
O 在当前光标所在行的上方,新建一行,并转为输入模式
1、移动光标
字符:方向键上下左右或者键盘kjhl(上下左右)
单词:w移至下一个单词的词首;e跳至当前或下一个单词的词尾;b跳至当前或前一个单词的词首
行内:0绝对行首;^行首的第一个非空白字符;$绝对行尾
行间:G文章末尾;3G第3行;gg文章开头
翻屏:ctrl f【往后翻】;Ctrl b【往前翻】
2、删除、替换单个字符
x删除光标位置字符;3x删除光标开始3个字符;r替换光标位置字符
dw删除一个单词;4dw删除光标开始的4个单词;dd删除光标所在行;5dd删除光标开始的5行
3、复制粘贴剪切
yw复制一个单词,p在该行粘贴单词;yy复制整行,p在该行下方粘贴整行
dd剪切整行,p再粘贴整行;dw剪切一个单词,p再粘贴一个单词
4、撤销重做
u:撤销;ctrl+r:重做撤销的操作;.重复上一步的操作【假设先dd,再.,会再执行dd命令】
1、set设置
set nu
set nonu
set readonly#设置只读文件 , 不能修改,只在当前环境有效 , 退出文件 , 再次打开 , 这个只读就无效了
set noreadonly #取消只读
2、/查找
/after查找文档中的after【可以找到所有的after】,n向下翻,N向上翻
:/after查找文档中的after所在行【可以找到所有的after】,n向下翻,N向上翻
3、!执行命令
比如:查找root目录
:!ls /root/
4、查找并替换
格式
【 :查找范围s/查找的词/要替换的词/ 】
或者【:查找范围s#查找的词#要替换的词# 】
或者【:查找范围s%查找的词%要替换的词%】,
即分隔符可以是/、#、%
推荐阅读
- 直播伴侣直播怎么那么卡,直播伴侣直播怎么那么卡顿
- oppo手机root怎么解除root,oppo解除root权限设置
- 大型sap,大型saas平台,技术架构
- php怎么自定义插入数据 php自定义表单
- 要怎么彻底删除sqlserver,要怎么彻底删除存在sim卡上的号码
- 表情包怎么制作小程序的,表情制作小程序源码
- 奥运格斗游戏,奥运格斗类项目
- php连接数据库的软件 php连接数据库的软件叫什么
- chatgpt提供算法模型,ChatGPT对算法岗影响吗