Linux文件管理(3)——文本编辑vi/vim
来源:互联网 发布:python绝技用的2还是3 编辑:程序博客网 时间:2024/05/16 00:49
vi/vim三种模式
基本上 vi/vim 共分为三种模式,分别是一般模式、编辑模式与指令列命令模式。 这三种模式的作用分别是:
(1)一般模式(末行模式Last Line mode)
以 vi 打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据。
(2)编辑模式(插入模式Insert mode)
在一般模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的! 要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。注意了!通常在 Linux 中,按下这些按键时,在画面的左下方会出现『INSERT 或 REPLACE 』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。
(3)指令列命令模式(Command mode)
在一般模式当中,输入『 : / ? 』三个中的任何一个按钮,就可以将光标移动到最底下那一行。在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等等的动作则是在此模式中达成的!
vi/vim基本操作
1、移动光标
行号G 光标移到某行(如1G表示光标移到第一行) G 光标移到文件结尾 H 移到屏幕的左上角 M 移到屏幕的中间行开头 L 移到屏幕的最后一行 [ 移到文件开始位置 (双击)] 移到文件结束位置(双击):n 移到文件的第n行 Ctrl + b 屏幕上卷一个菜单 Ctrl + F 屏幕下卷一个菜单h 将光标左移一格 l 将光标右移一格 j 将光标下移一格k 将光标上移一格w 将光标移到下一个小字的前面b 将光标移到前一个小字的前面0 把光标移到当前行的第一个字符处$ 把光标移到当前行的最后一个字符处
2、编辑切换
a 将在光标所在位置之后插入文本(append) A 将在光标所在行末插入文本 i 将在光标所在位置之前插入文本(insert) I 将在光标所在行的第一个非空字符前插入文本 o 将在光标所在行的下一行开始插入文本(open) O 将在光标所在行的上一行开始插入文本
3、修改内容
#删除操作x 删除光标所在字符nx 删除由光标位置起始的n个字符(含光标位置)dw 删除光标所在的单词 ndw 删除光标位置起始的n个字符组dd 删除光标所在行 d0 将行的开始到光标位置的字符全部删除d$ 或D 将光标位置起始到行尾的字符全部删除ndd 将光标位置起始的n行(整行)删除:start,endd 删除文件的第start到end行#修改rc 把光符所在字符替换成cR 覆盖本行内容u 恢复上一次的修改cw 改变光标所在单词C 改变一行光标位置以后的部分cc或S 修改一整行#复制粘贴yy 把当前行放入缓冲区yw 把光标所在的单词放入缓冲区p 将缓冲区内容取到光标所在行的下面一行P 将缓冲区内容取到光标所在行的上面一行:first,last co dest 将first到last行的数据复制到目标行(dest)下面:start,end m dest 将start到end行的数据移动到目标行(dest)下:r filename 将指定文件的内容读入光标所在行下
4、寻找替换
/pattern 向后寻找指定的pattern ,若遇到文件尾,则从头再开始。 ?pattern 向前寻找指定的pattern ,若遇到文件头,则从尾再开始。 n 在上次指定的方向上,再次执行N 在上次指定的方向的相反方向上,再次执行上次定义的查找:%s/old/new/g 查找所有old并替换为new:start,ends/old/new 替换指定区域
5、保存
退出vi编辑器 :在命令方式下运行。不管在什么状态,最好在运行下面命令前,先按以下ESC键,以防出错。
:wq 存盘退出 :q 不存盘退出 :q! 不存盘强制退出 :w 只存盘不退出
6、其它
vi 进入vi而不读入任何文件 vi filename 进入vi并读入指定名称的文件(新、旧文件均可)。 vi +n filename 进入vi并且由文件的第几行开始。 vi + filename 进入vi并且由文件的最后一行开始vi filename(s) 进入vi并且将各指定文件列入名单内,第一个文件先读入u 取消前一指令Ctrl + l 刷新屏幕显示:set nu 显示文件的行号,但不会存文件:set nonu 解除行号显示e! 重新装入当前文件,若当前文件有改动,则丢弃以前的改动:sh 启动sh ,从sh中返回可用exit或ctrl+d:! Command 执行命令command!! 重新执行上次的:! Command子命令#删除多余的回车符※vi中执行:g/^Ms///g,其中^M为ctrl+v和ctrl+m组和输入※执行dos2unix filename※执行sed 's/^M//' test.sh > back.sh
0 0
- Linux文件管理(3)——文本编辑vi/vim
- Linux的文本编辑命令除了vi(vim),还有哪些?
- Linux 文件(vi/vim)与目录管理
- linux基础命令——文本编辑vim
- linux基础命令——文本编辑vim
- linux基础命令——文本编辑vim
- linux基础命令——文本编辑vim
- 文本编辑使用---vi/vim
- 对linux 的文本编辑vi或vim的基本操作
- vi/vim命令-文本编辑工具
- Linux文本编辑VI大全
- Linux的vi-文本编辑
- 管理输入输出、vim文本编辑
- Linux—vi/vim编辑器
- 学习vi和vim编辑器(3):简单的文本编辑(2)
- Linux文件编辑器 Vi(Vim)
- Linux文件编辑器 Vi(Vim)
- Linux文件编辑器 Vi(Vim)
- Vue初体验(一),最简单的Vue示例
- 深度学习之各种优化算法
- MySQL
- Linux根文件之系统制作流程
- loadrunner监视windows和linux资源
- Linux文件管理(3)——文本编辑vi/vim
- dubbo提供方与消费方的三种连接方式
- A*
- oracle 数据库 50道经典例题
- s5pv210——LCD的原理和实战
- 大数相乘
- SpringBoot集成篇(一)无状态shiro
- mysql索引总结
- Android的异或加密解密算法解析