VI 笔记

在vi下如何显示行号?

按Esc切换到命令行模式,输入:
:set nu



:wq  保存退出

/str   查找str

G   跳至最后一行


1、复制

1)单行复制

在命令模式下,将光标移动到将要复制的行处,按“yy”进行复制;

2)多行复制

在命令模式下,将光标移动到将要复制的首行处,按“nyy”复制n行;其中n为1、2、3……

2、粘贴

在命令模式下,将光标移动到将要粘贴的行处,按“p”进行粘贴

vi复制多行文本的方法
方法1:
光标放到第6行,
输入:2yy
光标放到第9行,
输入:p
此方法适合复制少量行文本的情况,复制第6行(包括)下面的2行数据,放到第9行下面。
方法2:
命令行模式下输入
6,9 co 12
复制第6行到第9行之间的内容到第12行后面。
方法3:
有时候不想费劲看多少行或复制大量行时,可以使用标签来替代
光标移到起始行,输入ma
光标移到结束行,输入mb
光标移到粘贴行,输入mc
然后 :'a,'b co 'c把 co 改成 m就成剪切了
要删除多行的话,可以用 :5, 9de

vi复制一个单词的方法

光标移到想要被复制词的词首,输入wy
光标移到想到粘贴的位置,输入p



vi替换

1. 基本的替换

:s/vivian/sky/ 替换当前行第一个 vivian 为sky

:s/vivian/sky/g 替换当前行所有 vivian 为sky

:n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个vivian 为 sky

:n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有vivian 为 sky

(n 为数字,若 n 为.,表示从当前行开始到最后一行)

:%s/vivian/sky/(等同于 :g/vivian/s//sky/)替换每一行的第一个 vivian 为 sky

:%s/vivian/sky/g(等同于:g/vivian/s//sky/g) 替换每一行中所有 vivian 为sky

VI 跳转

1.跳到文本的最后一行:按“G”,即“shift+g”

2.跳到最后一行的最后一个字符 : 先重复1的操作即按“G”,之后按“$”键,即“shift+4”。

3.跳到第一行的第一个字符:先按两次“g”,

4.跳转到当前行的第一个字符:在当前行按“0”。

5.vi加密。进入vi,输入":"  + "X" 之后就提示你输入两次密码。之后:wq 保存退出。再次进入时就提示你输入密码了。如果你不想要密码了,就:X 提示你输入密码时连续按两次回车,就搞定了


'u' : 撤销上一个编辑操作

'ctrl + r' : 恢复,即回退前一个命令

'U' : 行撤销,撤销所有在前一个编辑行上的操作

 

使用u 和 CTRL+R 命令可以恢复到任何编辑过的状态


你可能感兴趣的:(vi)