退出vi

 

   q   在没有修改的情况下可以,如果修改了文件的内容会报错

 q!

   wq!

  wq

  ZZ(:wq)命令

  ZQ (:q!)命令

 

v      删除文本

删除一个字符:

•          xX

删除单词:

•          dwde

删除一行:

•          ddDd$)、d0d^

删除多行:

•          ndd

•          dG

•          dgg

 

 

v      删除行的部分内容:

§         将光标放置到该行要保存部分的右边,并输入D。为删除光标左边的所有内容,须将光标放置到该行要删除部分的右边,并输入d0d-零)。

v      删除到文件的结尾:

§         为删除从当前行到文件结尾的所有内容,需输入dG

 

 

v      复制和移动文本

§         复制:

•          y

§         剪切:

•          d

§         粘贴:

•          p

 

v      撤销和重做

§         撤销:

•          uU

§         在最后一个命令之后立即输入u来撤消该命令撤消对一行的更改:

§         输入U来撤消你对一行所做的所有更改

§         这个命令只有在你没将光标移动到该行以外时才生效

§         重做:

•          Ctrl+r 或用.

v      插入文本

§         追加:

•          aA

§         插入:

•          iI

§         插入新行:

•          oO

§         删除并插入新行:

•          s删除光标所在的字符并插入、S删除一整行并插入、C (c$)删除当前光标到行尾并插入、cG   c0    cgg   cG

 

 

v      查找字符串

§         使用 / 查询 向下查

§         使用 ? 查询  向上查

§         使用nN跳转

v      向左移动一个字符:按h

v      向右移动一个字符:按l

v      向下移动一行:按j

v      向上移动一行:按k

v      移动到当前行的开头处:按(即Shift6

v      移动到当前行的结尾处:按(即Shift4

v      移动到顶部:按H(大写)使光标移动到屏幕的顶部

v      nH 将光标移到屏幕的第 n

v      2H 将光标移到屏幕的第 2

v      移动到中部:按M(大写)使光标移动到屏幕的中间

v      移动到底部:按L(大写)使光标移动到屏幕的底部

v      nL 将光标移到屏幕的倒数第 n

v      3L 将光标移到屏幕的倒数第 3

v      向前翻页一屏:要向前滚动(向下移动)一整屏,需按下Ctrl-f。光标将移动到新屏的左上角

v      向后翻页一屏:要向后滚动(即向上移动)一整屏,需按下Ctrl-b

 

 

v      文件另存为

§         :write  /root/newfile

§         :w  /root/newfile

v      取消高亮

§         :nohl

 

v      nG ——n为行数,该命令立即使光标跳到指定行/:n

v      r 在当前光标处替换

v      进入替换模式esc退回命令模式

v      J 合并两行

v      :set number(nu) 显示行号

v      : set nonumber (nonu) 不显示行号

v      v 字符选中命令 V 行选中命令

v      x/del  在命令模式下删除一个字符

 

v      给文件设密码

v       gg    将光标定位到文件的第一行

v      G      将光标定位到文件的最后一行

v      vi   /etc/passwd  /etc/passwd  同时打开两个文件,:next切换两个文件,无法返回

v      vi   -o  /etc/passwd  /etc/shadow  水平打开两个文件  ^+w在两个窗口间来回切换

v      vi   -O  /etc/passwd  /etc/shadow  垂直打开两个文件  ^+w在两个窗口间来回切换

 

 

v      在一行内替换头一个字符串old为新的字符串new

§          :s/old/new

v      在一行内替换所有的字符串old为新的字符串new

§          :s/old/new/g

v      在两行内替换所有的字符串old为新的字符串new

§         :#,#s/old/new/g

v      在文件内替换所有的字符串old为新的字符串new

§         :%s/old/new/g

v      进行全文替换时询问用户确认每个替换需添加c选项

§         :%s/old/new/gc