欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

在Linux系统中vim命令使用总结

程序员文章站 2022-12-04 08:52:40
一、一般模式下命令 1、光标移动 h:向左移动一个字符 l:向右移动一个字符 k:向上移动一个字符 j:向下移动一个字符 ctrl + f:向下移动一页 ctrl + b:向上移...
一、一般模式下命令

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:取消显示行号,即不显示行号