vi/vim经常使用命令

工作模式


插入命令

a 光标后附加文本

A 在本行行尾附加文本

i 光标前插入

I 在本行行首插入文本

o 在光标以下插入新的一行

O 在光标上面插入新的一行

定位命令

h 左移一个字符/ 向左的箭头键

j 下移一行 / 向下的箭头键

k 上移一行 / 向上的箭头键

l 右移一个字符 / 向右的箭头键

$ 移动到行尾

0(数字零)     移动到行首

H 移动到屏幕上端

M 移动到屏幕中央

L 移动到屏幕下端

Ctrl + f       向下翻一页 forward

Ctrl+b      向前翻一页 backward

Ctrl + d      向后翻半页 down

Ctrl + u     向前翻半页  up

高速定位

:set nu 显示行号

:set nonu 取消行号

gg 移动到第一行

G 移动到最后一行

nG 到第n行

:n 到第n行

删除命令

x 删除光标所在字符

nx 删除连续向后的n个字符

dd  删除所在光标所在一行。ndd删除n行 

dG 删除从当前行到文件末尾全部的行,包括当前行

D 删除光标所在处到行尾的内容

:n1,n2d 删除n1~n2行


复制命令

yy。Y 复制当前行

nyy。nY 复制n行

dd 剪切当前行。ndd剪切当前行及一下的n行

p 粘贴在当前行下

P[大写] 粘贴在当前行上


替换或取消命令

r       代替光标所在处字符 样例:要将光标所在的字符替换为b。那么先按下r,在按下b就可以

R       从光标所在处開始替换字符,直到Esc结束 

u       取消上一步操作 ,首先你没有保存过,文档还是在内存中。还没有同步到硬盘。

Ctrl + r       重做上一个操作

. (小数点)  反复前一个操作,比如反复删除、反复黏贴

替换或搜索命令

/string 向后搜索指定字符串string。搜索时忽略大写和小写 :set ic 。取消:set noic

n 从前往后翻

N 从后往前翻

?string                向上寻找字符串string


:%s/old/new/g  全文替换指定字符串,old为须要替换的关键词。

:n1,n2s/old/new/g  在一定范围内替换指定字符串

:%s/old/new/c  全文替换指定字符串。可是会询问用户是否确定


保存、退出

ZZ :wq的快捷键

:w new_filename  另存为指定文件

:wq!  强行保存改动并退出[root/文件全部者]

:q! 不保存退出

:[filename]                                   将文件另存为

:r[filename]                                 在编辑的数据中。读入还有一个文件的数据。即将filename这个文件的内容加入到光标所在行的后面

原文地址:https://www.cnblogs.com/blfshiye/p/5166764.html