Linux下vim命令使用整理,让你更牛X

原创
2017/04/19 10:12
阅读数 40

一、一般模式下命令

1、光标移动

h:向左移动一个字符

l:向右移动一个字符

k:向上移动一个字符

j:向下移动一个字符

ctrl + f:向下移动一页

ctrl + b:向上移动一页

ctrl + d:向下移动半页

ctrl + u:向上移动半页

0:移动到行首

$:移动到行尾

H:移动到这一页第一行的行首

G:移动到次文件的最后一行

nG:n代表数字,例如:n=10,那么为移动到次文件的第10行

gg:移动到此文件的第一行

2、搜索与替换

/str:向光标之下搜索 “str” 字符串

?str:向光标之上搜索 “str” 字符串

n:继续执行上一个的搜索命令,搜索方向不变

N:继续执行上一个的搜索命令,但是搜索方向是相反的

:line1,line2s/str1/str2/g:把line1与line2行之间的 “str1” 字符串替换为 “str2” 字符串

:1,$s/str1/str2/g:次文件中的 “str1” 字符串 替换为 “str2” 字符串

:1,$s/str1/str2/gc:次文件中的 “str1” 字符串 替换为 “str2” 字符串,替换之前需要确认后才可以替换

3、删除、复制、粘贴

x:向右删除一个字符

X:向左删除一个字符

nx:向右删除n个字符

nX:向左删除n个字符

dd:删除当前行

ndd:向下删除n行

dG:删除光标当前行之后所有的内容

d1G:删除光标当前行之前所有的内容

d$:删除光标当前位置到本行尾所有内容

d0:删除光标当前位置到本行首所有内容

yy:复制当前行内容

nyy:向下复制n行内容

y1G:复制光标位置到次文件开始位置所有内容

yG:复制光标位置到次文件末尾位置所有内容

y0:复制光标位置到本行首所有内容

y$:复制光标位置到本行尾所有内容

p:当前行下一行开始粘贴内容

P:当前行上一行开始粘贴内容

J:当前行与下一行合并为一行

c:重复删除多个数据

u:还原上一次的操作

ctrl + r:重复执行上一个操作

二、编辑模式下命令

i:当前光标位置插入

I:当前行第一个非空格符处开始插入

a:当前光标位置下一个位置插入

A:当前行行尾插入

o:当前行下一行插入

O:当前行上一行插入

r:替换当前光标位置字符

R:替换当前光标位置字符为新字符或者新字符串直到按ESC命令为止

ESC:退出编辑模式,进入一般模式

三、指令模式下命令

:w:保存文件

:w!:强制保存文件

:q:退出vim

:q!:强制退出不保存文件

:wq:保存文件后退出

:wq!:强制保存文件后退出

:ZZ:如果文件没有更新过,不保存退出;否则保存文件退出

:w filename:文件内容另存为新的文件,新文件名为 “filename”

:r filename:当前行后追加另一个 “filename” 文件的内容

:line1,line2 w filename:将line1行至line2的内容另存为新的文件,新文件名为 “filename”

:! command:执行linux命令,例如:“:! cat 1.txt” 次模式下可以显示 “1.txt” 文件的内容

:set nu:显示行号

:set nonu:取消显示行号,即不显示行号

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部