Vi的使用

时间:2023-12-16 12:00:44

Vi的使用:

范例一:

使用Vi进入一般模式:

[root@dsetl lp]# vi test1.txt

范例二:按下i键进入编辑模式,开始编辑文字

-- INSERT –

范例三:按下【ESC】键回到一般模式

范例四:在一般模式下按下 :wq保存后离开Vi

注意:如果文件权限不对,例如为-r--r--r--,可能无法写入,使用 :wq!多加一个叹号进行强制写入.

范例5vi命令设置行号

[root@dsetl lp]# cp /etc/man.config .

[root@dsetl lp]# vi man.config

:set nu – 设置行号

:set nonu --取消行号

范例6vi命令删除所在行

  • D或者d按两次 删除光标所在行

范例7vi命令查找字串

  • /text  从光标位置往下找字串text ?text 从光标位置往上找字串text

  • n 继续找下一个字串(在输入上面的寻找指令之后使用)

  • N 继续向上找一个字符串(在输入上面的寻找指令之后使用)

范例8vi命令移动光标

  • Ctrl+f 向下移动一页

  • Ctrl+b 向上移动一页

  • 0 移动到这一行的最前面处

  • $ 移动到这一行的最后面字符处

  • G移动到这个文件的最后一行

  • nG移动到这个文件的第n行。10G移动到这个文件的第10

  • gg移动到这个文件的第1

  • n<Enter> 光标向下移动n行。

  • 40 + 向右箭头

范例8vi命令搜索与替换(一般模式)

%表示整个文件,$从当前行到文件尾。s表示替换操作。

g放在命令末尾,表示对指定行的搜索字符串的每次出现进行替换;

不加g,表示支队指定行的搜索字符串的首次出现进行替换。

  • :%s/text1/text2/g   将各行的text1替换为text2

  • :1,$s/ str1/ str2/g 用字符串str2替换所有出现的字符串str1

  • :.,$s/ str1/ str2/g 用字符串str2替换正文当前行到末尾所有出现的字符串str1

  • :1,$s/ str1/ str2/gc 用字符串str2替换所有出现的字符串str1,进行询问

范例8vi命令删除、复制、粘贴(一般模式)

删除:

  • x为向后删除一个字符,X为向前删除一个字符。

  • dd 删除光标所在的那一整行,ndd,例如3dd删除向下的3行。

复制

  • yy表示复制光标所在的哪一行

  • nyy :n为数字。复制光标所在的向下n行,例如20yy则是复制20行。

  • yw 将光标所在单词拷入剪贴板

  • y$ 将光标至行尾的字符拷入剪贴板

粘贴:

  • p :把粘贴到的数据粘贴到光标的下一行,

  • P则为贴在光标的上一行。

范例9:复原操作与重做操作

  • u表示复原前一个操作,【Ctrl+r表示重做上一个操作。

  • . 小数点,意思是重复前一个动作。如果想重复删除,重复粘贴,按下“.”就可以。

  • Vi命令的使用练习: