VI常用命令整理

1、复制多行,并粘贴

    1)将光标定位于想开始复制的行,然后输入想要复制的行数:如3,然后输入yy

    2)定位到需要粘贴到的前一行,输入p

 

2、删除多行

    1)将光标定位于想要开始删除的行,然后输入想要删除的行数:如3,然后输入dd

    说明:其实这个操作是剪切操作,如果需要将刚才删除的行粘贴到另外一个地方,则定位到需要粘贴到的前一行,输入p

 

3、保存退出操作

保存到一个新文件 w filename (输入“w filename”,将文章存入指定的文件名filename)

没有修改任何内容,退出:q

已修改内容,但不希望保存,强制退出:q!

保存并退出命令:xwq

     xwq的区别

     :wq   强制性写入文件并退出。即使文件没有被修改也强制写入,并更新文件的修改时间。

     :x    写入文件并退出。仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间。

     这两者一般情况下没什么不一样,但是在编程方面,对编辑源文件可能会产生重要影响。因为文件即使没有修改,":wq"强制更新文件的修改时间,这样会让make编译整个项目时以为文件被修改过了,然后就得重新编译链接生成可执行文件。这可能会产生让人误解的后果,当然也产生了不必要的系统资源花销。

 

4、翻页操作

向文件尾翻页命令:Ctrl+f  向文件尾翻半页命令:Ctrl+d

向文件首翻页命令:Ctrl+b  向文件首翻半页命令:Ctrl+u

 

5、替换光标所在字符命令:r

 

6、行内快数跳转

^0移动到本行行首

$移动到本行行尾

显示行号和取消行号(末行模式使用)

set nu显示行号

set nonu取消行号

 

7、在命令模式下,使用以下命令可以快速的在行间跳转

1G跳转到文件首行 gg(这个是自己试验出来的)

G跳转到尾行(shift+g)

#G跳转到文件的#

 

8、进入输入模式

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

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

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

 

9、删除操作(命令模式使用)

x删除光标处的单个字符

dd删除光标所在行

dw删除当前字符到单词尾包括空格的所有字符

d0: 删至行首

d$: 删至行尾

#x例如3x删除光标处向右的三个字符

#dd例如3dd从当前行开始向下删除三行文本

 

10、撤销操作

u命令取消最近一次的操作,可以使用多次来恢复原有的操作

U取消所有操作

Ctrl+R可以恢复对使用u命令的操作

 

11、复制操作

yy命令复制当前整行的内容到vi缓冲区

yw复制当前光标所在位置到单词尾字符的内容到vi缓存区,相当于复制一个单词

y$复制光标所在位置到行尾内容到缓存区

y^复制光标所在位置到行首内容到缓存区

#yy例如:5yy就是复制5

#yw例如:2yw就是复制两个单词

如果要复制第m行到第n行之间的内容,可以在末行模式中输入mny例如:35y复制第三行到第五行内容到缓存区

 

vi的查找和替换功能主要在末行模式完成:

12、查找操作

/ 要查找的字符串,其中/代表从光标所在位置起开始查找,例如:

/work

从上往下查找 n,从下往上查找N

 

13、替换操作

:s/old/newnew替换行中首次出现的old

:s/old/new/g new替换行中所有出现的old

:#,# s/old/new/gnew替换从第#行到第#行中出现的old

:% s/old/new/gnew替换整篇中出现的old

注意,如果替换的范围较大时,在所有的命令尾加一个c命令,强制每个替换需要用户进行确认,例如:s/old/new/c s/old/new/gc

 

你可能感兴趣的:(编程,c)