2010-06-23 回答

vi的基本概念

基本上vi可分为三种操作状态,分别是命令模式(command mode)、插入模式(insert mode)和底线命令模式(last line mode),

各模式的功能区分如下:

1. comand mode:控制屏幕光标的移动,字符或光标的删除,移动复制某区段及进入insert mode下,或者到last line mode。

2. insert mode:唯有在insert mode下,才可做文字数据输入,按esc等可回到comand mode。

3. last line mode:将储存文件或离开编辑器,也可设置编辑环境,如寻找字符串、列出行号等。

不过可以把vi简化成两个模式,即是将last line mode也算入command mode,把vi分成command 和insert mode。

vi的基本操作

?进入vi

在系统提示符号输入vi及文件名称后,即可进入vi全屏幕编辑画面:

$ vi testfile

有一点要特别注意,就是您进入vi之后是处于“command mode”下,您要切换到insert mode才能输入文字。

初次用vi的用户都会想先用上下左右键移动光标,结果电脑一直叫,把自己气个半死,所以进入vi后,先不要乱动,

转换入insert后再说。?切换至insert mode编辑文件在command mode下按‘i’、‘a’或‘o’三键就可进入insert mode。

这时候您就可以开始输入文字了。

i: 插入,从目前光标所在之处插入所输入的文字。

a: 增加,目前光标所在的下一个字开始输入文字。

o: 插入新的一行,从行首开始输入文字。

?insert的切换→command mode,按esc键

您目前处于insert mode,您就只能一直打字。假如您发现打错字了,想用光标键往回移动,将该字删除,

就要按esc键转换回command mode,再删除文字。

?离开vi及存文件

在command mode下,可按冒号“:”键入入last line mode,例如:

:w filename (输入“w filename”,将文章存入指定的文件名filename)

:wq (输入“wq”,因为进入之时已经指定文件名testfile,所以会写入testfile并离开vi)

:q! (输入“q!”,强制离开并放弃编辑的文件)

command mode功能键列表

在介绍command mode指令的时后,指令后面加上“常用”字眼的功能键,表示比较常用的vi指令,

请读者您一定要学会、记住。

(1)i、a、o切换进入insert mode。[超级常用]

(2)移动光标

vi可以直接用键盘上的光标键来上下左右移动,但正规的vi是用小写英文字母

h、j、k、l,分别控制光标左、下、上、右移一格。

按ctrl+b:屏幕往后移动一页。[常用]

按ctrl+f:屏幕往前移动一页。[常用]

按ctrl+u:屏幕往后移动半页。

按ctrl+d:屏幕往前移动半页。

按 0 (数字零):移动文章的开头。[常用]

按 g:移动到文章的最后。[常用]

按 w:光标跳到下个word的开头。[常用]

按 e:光标跳到下个word的字尾。

按 b:光标回到上个word的开头。

按 $:移到光标所在行的行尾。[常用]

按 ^:移到该行第一个非空白的字符。

按 0:移到该行的开头位置。[常用]

按 #:移到该行的第#个位置,例:51、121。[常用]

(3)删除文字

x:每按一次删除光标所在位置的后面一个字符。[超常用]

#x:例如,6x 表删除光标所在位置的后面6个字符。[常用]

x:大字的x,每按一次删除光标所在位置的前面一个字符。

#x:例如,20x 表删除光标所在位置的前面20个字符。

dd:删除光标所在行。[超常用]

#dd:例如,6dd表删除从光标所在的该行往下数6行之文字。[常用]

(4)复制

yw:将光标所在处到字尾的字符复制到缓冲区中。

(想在和#x、#x的功能相反)

p:将缓冲区内的字符粘贴到光标所在位置(指令‘yw’与‘p必须搭配使用)。

yy:复制光标所在行。[超常用]

p:复制单行到您想粘贴之处。(指令‘yy’与‘p’必须搭配使用)

#yy:如:6yy表示拷贝从光标所在的该行往下数6行之文字。[常用]

p:复制多行到您想粘贴之处。(指令‘#yy’与‘p’必须搭配使用)

“ayy:将复制行放入buffer a, vi提供buffer功能,可将常用的数据存在buffer

“ap:将放在buffer a的数据粘贴。

“b3yy:将三行数据存入buffer b。

“b3p:将存在buffer b的资料粘贴

(5)取代

r: 取代光标所在处的字符:[常用]

r:取代字符直到按esc为止。

(6)复原(undo)上一个指令

u:假如您误操作一个指令,可以马上按u,回复到上一个操作。[超常用]

.: .可以重复执行上一次的指令。

(7)更改

cw:更改光标所在处的字到字尾$处。

c#w:例如,c3w代表更改3个字。

(8)跳至指定行

ctrl+g:列出光标所在行的行号。

#g:例如,15g,表示移动光标至文章的第15行行首。[常用]

last line mode下指令简介

读者您要使用last line mode之前,请记得先按esc键确定您已经处于command mode下后,再按冒号“:”或“/”或“?”

三键的其中一键进入last line mode。

1.列出行号

set nu: 输入“set nu”后,会在文章的每一行前面列出行号。

2.跳到文章的某一行

#:井号代表一个数字,在last line mode提示符号“:”前输入数字,再按enter就会跳到该行了,

如:15[enter]就会跳到文章的第15行。[常用]

3.寻找字符串

/关键字:先按/,再输入您想寻找的字,如果第一次找的关键字不是您相尽可能的,可以一直按n会往下寻找到您要的关键字为止。

?关键字:先按?,再输入您想寻找的字,如果第一次找的关键字不是您想要的,可以按n会往前寻找到您要的关键字为止。

4.取代字符串

1,$s/string/replae/g:在last line mode输入“1,$s/string/replace/g”会将全文的string字符串取代为replace字符串,

其中1,$s就是指搜寻区间为文章从头至尾的意思,g则是表示全部取代不必确认。

%s/string/replace/c:同样会将全文的string字符串取代为replace字符串,和上面指令不同的地方是,%s和1,$s是相同的功能,

c则是表示要替代之前必须再次确认是否取代。

1,20s/string/replace/g:将1至20行间的string替代为relpace字符串。

5.存文件

w:在last line mode提示符号“:”前按w即可将文件存起来。[超常用]

#,# w filename:如果您想摘取文章的某一段,存成另一个文件,可用这个指令#代表行号,例如30,50 w nice,

将您正在编辑文章的第30~50行存成nice这个文件。

6.离开

q:按q就离开,有时如果无法离开vi,可搭配“!:强置离开vi,如“q!”

qw:一般建议离开时,搭配w一起使用,如此离开时还可存文件

linux命令vi编辑文件注释掉某一行,请问linux的vi命令进入文本编辑后怎么去删除一行?...相关推荐

  1. 在linux下给编辑文件在哪里设置密码,如何在Linux中用Vim对文件进行密码

    前言 Vim 是一种流行的.功能丰富的和高度可扩展的 Linux 文本编辑器,它的一个特殊功能便是支持用带密码各种的加密方法来加密文本文件. 本文中,我们将向你介绍一种简单的 Vim 使用技巧:在 L ...

  2. linux 编辑文件 cat 跳到指定行,Linux基础命令(二)

    mv:将指定的文件或目录转移位置. 如果目标位置与源位置相同,则效果相当于为文件或目录改名. 常用选项: -b:当文件存在时,覆盖前,为其创建一个备份: -f:若目标文件或目录与现有的文件或目录重复, ...

  3. linux vim无法编辑文件内容,Linux 使用vim命令编辑文件内容

    在终端可以使用vim命令来直接编辑文件内容. vim,也可以叫做vi. vim有三种模式:命令模式.输入模式.底线命令模式. 命令模式 vim  文件名   进入命令模式,vim也可以写成vi. 如果 ...

  4. vi 编辑文件中常用命令

    vi 编辑文件 : set nu 显示打开文件每行行号 :nu 显示当前行号 :1,3 co 4 将第1行到第3行的内容复制到第4行下 gg 直接到文件首行 shift + g 直接到文件最后一行 : ...

  5. 树莓派vi编辑文件时退格键和方向键无法正常使用的问题

    [问题现象] 树莓派在使用vi编辑文件时,发现退格删除键(Backspace键),无法删除,方向键变成了ABCD(对应上下右左)还自动换行. 现象如下图所示: [问题解决] 此问题根因是树莓派系统预装 ...

  6. Vi编辑文件无法保存退出的解决方法

    Vi编辑文件无法保存退出的解决方法 问题:在xshell下用vi Test.scala编辑完文件后却无法保存退出,如下 在这里插入图片描述 原因:没有具备root权限 解决方法: 第一种::w!!直接 ...

  7. Linux中vim编辑文件跳转指定的行和列

    一.前言   在Linux中使用vim编辑器修改文件,如果内容很多,那就需要定位到指定的行和列了.不同模式的跳转方式不一样,主要为正常模式和命令行模式的行号跳转.     如需设置vim编辑文件时显示 ...

  8. 学习 Linux,101: 使用 vi 编辑文件

    总是可用的编辑器 了解如何使用 vi 编辑器,这款编辑器在大部分 UNIX® 和 Linux® 系统中都存在.本文提供的材料可以帮助您准备 Linux 系统管理员认证 LPI 101 考试,也可以作为 ...

  9. linux创建和编辑文件,linux基础-第九单元 利用vi编辑器创建和编辑正文文件

    vi编辑器简介 什么是vi vi编辑器的操作模式 vi编辑器的3种基本模式 在vi编辑器中光标的移动 移动光标位置的键与光标移动间的关系 进入插入模式 从命令行模式进入插入模式的命令 在命令行模式下删 ...

  10. linux查看和编辑文件,查看和编辑文件(Linux的快捷键和主要命令)

    查看和编辑文件(Linux的快捷键和主要命令) cat filename | more 这个命令用于查看一个被称为 "filename"的文本文件的内容,每次一页. "| ...

最新文章

  1. javascript 操作Word和Excel的实现代码
  2. date比较大小 mybatis_MyBatis版本升级导致OffsetDateTime入参解析异常问题复盘
  3. mysql 字段存放小图标_让MySQL支持emoji图标存储
  4. 牛客题霸 NC13 二叉树的最大深度
  5. 丑数 Humble Numbers
  6. PHP获取各个IP地址
  7. 网管的自我修养-网络系统
  8. 前端学习(2940):vue作为组件的注意事项
  9. java 模拟qq源码
  10. gulp临时服务器显示html页面,用Gulp实现CSS压缩和页面自动刷新
  11. 【2012百度之星资格赛】E:C++ 与Java
  12. 再谈贝叶斯学派与频率学派的区别
  13. Helm 3 完整教程(二十一):Helm 创建和引用子模板
  14. webview加载百度失败_移动AI系列百度paddle.js在助力开发智能化的微信小程序
  15. 获取北京时间 日开始时间戳
  16. diskgenius做win10系统迁移
  17. 肠道重要菌属——Akkermansia Muciniphila,它如何保护肠道健康
  18. 物联网案例(一):将设备数据转换为明智决策
  19. 绿色商业包装材料在行业中的重要地位
  20. 小红书销售情况(EDA/RFM)

热门文章

  1. php怎么获得今天的日期,PHP怎么获取今天、昨天、明天的日期-php教程
  2. java中未处理的异常_Java中未处理的异常
  3. Linux 配置SSH免密登录
  4. java 中文大写金额_金额数字转中文大写
  5. 自己开发的网页嵌入到飞书后不能右键进行复制粘贴的解决方案
  6. PCF8591使用及Python控制
  7. 一键生成表白页面,个人网站,在线制作生成网站php源码
  8. VSCode连接远程服务器
  9. 【SCOI 2005】王室联邦 树上分块?
  10. paddle深度学习基础之训练调试与优化