在 linux 系统中,“vi”命令的使用方法是什么? 在Linux系统下Vi命令模式和编辑模式如何切换?

linux\u7cfb\u7edf\u4f7f\u7528vi\u547d\u4ee4\u8fdb\u5165\u6587\u4ef6\u540e\u600e\u4e48\u4fee\u6539\u4fdd\u5b58

1\u3001\u67e5\u770b\u76ee\u5f55\u4e0b\u6587\u4ef6file.txt\u7684\u5185\u5bb9\uff0c\u4f7f\u7528cat file.txt(ls // \u8868\u793a\u67e5\u770b\u5f53\u524d\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\u76ee\u5f55 ; cat file.txt // \u8868\u793a\u67e5\u770b\u8be5\u6587\u4ef6\u7684\u5185\u5bb9)\u53d1\u73b0\u5185\u5bb9\u662fhello world

2\u3001\u4f7f\u7528vi file.txt \u8fdb\u5165\u5230\u7f16\u8f91\u754c\u9762,\u5982\u4e0b\u6240\u793a\uff1a

3\u3001\u8fdb\u5165\u5230\u7f16\u8f91\u6a21\u5f0f\uff0c\u6309\u952ei,\u6b64\u65f6\u53ef\u4ee5\u79fb\u52a8\u5149\u6807\u5230\u60f3\u4fee\u6539\u7684\u4f4d\u7f6e\uff0c\u540c\u65f6\u6211\u4eec\u4fee\u6539\u5185\u5bb9\u5982\u4e0b\uff1a(\u6ce8\u610f\u754c\u9762\u5de6\u4e0b\u89d2\u8fdb\u5165\u5230\u4e86insert\u7684\u6a21\u5f0f\uff0c\u624d\u4ee3\u8868\u73b0\u5728\u662f\u7f16\u8f91\u6a21\u5f0f)

4\u3001\u63a8\u51fa\u7f16\u8f91\u6a21\u5f0f\uff0c\u5e76\u4fdd\u5b58\uff0c\u6309\u952eesc\u9000\u51fainsert\u6a21\u5f0f\uff0c\u7136\u540e\u6309shift+: (shift+\u5192\u53f7\u952e)\uff0c\u7136\u540e\u8f93\u5165wq,wq\u8868\u793a\uff0c\u4fdd\u5b58\u5e76\u9000\u51fa\u3002\u5982\u679c\u53ea\u6309\u952eq,\u5219\u662f\u53ea\u9000\u51fa\u4e0d\u4fdd\u5b58\u3002

5\u3001\u6700\u540e\uff0c\u6309 enter\u952e\u9000\u51fa\u754c\u9762,\u518d\u6b21\u67e5\u770b\u5185\u5bb9\uff0c\u9a8c\u8bc1\u4e00\u4e0b\uff0c\u5982\u4e0b\u56fe\u6240\u793a\u3002

\u6269\u5c55\u8d44\u6599\uff1a
linux\u7cfb\u7edf\u7684\u5e38\u7528\u547d
1\u3001date \uff1aprint or set the system date and time
2\u3001stty -a: \u53ef\u4ee5\u67e5\u770b\u6216\u8005\u6253\u5370\u63a7\u5236\u5b57\u7b26(Ctrl-C, Ctrl-D, Ctrl-Z\u7b49)
3\u3001 passwd: print or set the system date and time (\u7528passwd -h\u67e5\u770b)
4\u3001logout, login: \u767b\u5f55shell\u7684\u767b\u5f55\u548c\u6ce8\u9500\u547d\u4ee4
5\u3001pwd: print working directory
6\u3001more, less, head tail: \u663e\u793a\u6216\u90e8\u5206\u663e\u793a\u6587\u4ef6\u5185\u5bb9.
7\u3001lp/lpstat/cancel, lpr/lpq/lprm: \u6253\u5370\u6587\u4ef6.
8\u3001 \u66f4\u6539\u6587\u4ef6\u6743\u9650\uff1a chmod u+x...
9\u3001\u5220\u9664\u975e\u7a7a\u76ee\u5f55\uff1arm -fr dir
10\u3001\u62f7\u8d1d\u76ee\u5f55\uff1a cp -R dir
\u53c2\u8003\u8d44\u6599\u6765\u6e90\uff1a\u767e\u5ea6\u767e\u79d1-linux

1\u3001VI\u7f16\u8f91\u5668\u662fLinux\u4e0b\u7528\u7684\u6700\u591a\u4e5f\u662f\u529f\u80fd\u6700\u5f3a\u5927\u7684\u6587\u672c\u7f16\u8f91\u5668\uff0cVI\u5177\u6709\u4e09\u79cd\u6a21\u5f0f\uff1a\u547d\u4ee4\u6a21\u5f0f\u3001\u7f16\u8f91\u6a21\u5f0f\u4ee5\u53ca\u672b\u884c\u6a21\u5f0f\uff0c\u5728\u6700\u521d\u4f7f\u7528VI\u6253\u5f00\u4e00\u4e2a\u6587\u4ef6\u7684\u65f6\u5019\uff0c\u5904\u5728\u547d\u4ee4\u6a21\u5f0f\u4e0b\uff0c\u8fd9\u65f6\u4f7f\u7528\u547d\u4ee4i\u3001I\u3001a\u3001A\u3001o\u3001O\u90fd\u53ef\u4ee5\u8fdb\u5165\u7f16\u8f91\u6a21\u5f0f\uff0c\u800c\u60f3\u653e\u56de\u5230\u547d\u4ee4\u6a21\u5f0f\u53ea\u9700\u8981\u5728\u7f16\u8f91\u6a21\u5f0f\u4e0b\u6572\u51fbESC\u952e\u5373\u53ef\uff0c\u5982\u679c\u6709\u4ec0\u4e48\u4e0d\u61c2\u7684\u8bdd\uff0c\u53ef\u4ee5\u770b\u770b\u300aLinux\u5c31\u8be5\u8fd9\u4e48\u5b66\u300b\u7684\u7b2c\u56db\u7ae0\uff0c\u8be6\u7ec6\u4ecb\u7ecd\u4e86VI\uff08M\uff09\u7f16\u8f91\u5668\u7684\u7528\u6cd5\u4ee5\u53ca\u9ad8\u7ea7\u6280\u5de7\u7b49\u7b49\u3002
\u62d3\u5c55\uff1a
2\u3001Linux\u64cd\u4f5c\u7cfb\u7edf\u662f\u57fa\u4e8eUNIX\u64cd\u4f5c\u7cfb\u7edf\u53d1\u5c55\u800c\u6765\u7684\u4e00\u79cd\u514b\u9686\u7cfb\u7edf\uff0c\u5b83\u8bde\u751f\u4e8e1991 \u5e74\u7684 [Linux\u684c\u9762] 10 \u67085 \u65e5\uff08\u8fd9\u662f\u7b2c\u4e00\u6b21\u6b63\u5f0f\u5411\u5916\u516c\u5e03\u7684\u65f6\u95f4\uff09\u3002\u4ee5\u540e\u501f\u52a9\u4e8eInternet\u7f51\u7edc\uff0c\u5e76\u901a\u8fc7\u5168\u4e16\u754c\u5404\u5730\u8ba1\u7b97\u673a\u7231\u597d\u8005\u7684\u5171\u540c\u52aa\u529b\uff0c\u5df2\u6210\u4e3a\u4eca\u5929\u4e16\u754c\u4e0a\u4f7f\u7528\u6700\u591a\u7684\u4e00\u79cdUNIX \u7c7b\u64cd\u4f5c\u7cfb\u7edf\uff0c\u5e76\u4e14\u4f7f\u7528\u4eba\u6570\u8fd8\u5728\u8fc5\u731b\u589e\u957f\u3002
3\u3001Linux\u662f\u4e00\u5957\u514d\u8d39\u4f7f\u7528\u548c\u81ea\u7531\u4f20\u64ad\u7684\u7c7bUnix\u64cd\u4f5c\u7cfb\u7edf\uff0c\u662f\u4e00\u4e2a\u57fa\u4e8ePOSIX\u548cUNIX\u7684\u591a\u7528\u6237\u3001\u591a\u4efb\u52a1\u3001\u652f\u6301\u591a\u7ebf\u7a0b\u548c\u591aCPU\u7684\u64cd\u4f5c\u7cfb\u7edf\u3002\u5b83\u80fd\u8fd0\u884c\u4e3b\u8981\u7684UNIX\u5de5\u5177\u8f6f\u4ef6\u3001\u5e94\u7528\u7a0b\u5e8f\u548c\u7f51\u7edc\u534f\u8bae\u3002\u5b83\u652f\u630132\u4f4d\u548c64\u4f4d\u786c\u4ef6\u3002Linux\u7ee7\u627f\u4e86Unix\u4ee5\u7f51\u7edc\u4e3a\u6838\u5fc3\u7684\u8bbe\u8ba1\u601d\u60f3\uff0c\u662f\u4e00\u4e2a\u6027\u80fd\u7a33\u5b9a\u7684\u591a\u7528\u6237\u7f51\u7edc\u64cd\u4f5c\u7cfb\u7edf\u3002\u5b83\u4e3b\u8981\u7528\u4e8e\u57fa\u4e8eIntel x86\u7cfb\u5217CPU\u7684\u8ba1\u7b97\u673a\u4e0a\u3002\u8fd9\u4e2a\u7cfb\u7edf\u662f\u7531\u5168\u4e16\u754c\u5404\u5730\u7684\u6210\u5343\u4e0a\u4e07\u7684\u7a0b\u5e8f\u5458\u8bbe\u8ba1\u548c\u5b9e\u73b0\u7684\u3002\u5176\u76ee\u7684\u662f\u5efa\u7acb\u4e0d\u53d7\u4efb\u4f55\u5546\u54c1\u5316\u8f6f\u4ef6\u7684\u7248\u6743\u5236\u7ea6\u7684\u3001\u5168\u4e16\u754c\u90fd\u80fd\u81ea\u7531\u4f7f\u7528\u7684Unix\u517c\u5bb9\u4ea7\u54c1\u3002

一般模式常用操作

【h(或向左方向键)】 光标左移一个字符

【j(或向下方向键)】 光标下移一个字符

【k(或向上方向键)】 光标上移一个字符

【l(或向右方向键)】 光标右移一个字符

【[Ctrl] + f】 屏幕向下移动一页(相当于Page Down键)

【[Ctrl] + b】 屏幕向上移动一页(相当于Page Up键)

【[0]或[Home]】 光标移动到当前行的最前面

【[$]或[End]】 光标移动到当前行的末尾

【G】 光标移动到文件的最后一行(第一个字符处)

【nG】 n为数字(下同),移动到当前文件中第n行

【gg】 移动到文件的第一行,相当于"1G"

【n[Enter]】 光标向下移动n行



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一起使用,如此离开时还可存文件

扩展阅读:java windowbuilder ... java ... javascript 在线 ... java入门网站 ... javascript入门 ... hyper-v linux ... 新手s应该怎么玩 ... risc-v linux ... linux kylin v10 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网