vim的基本使用命令


一、vim的工作模式

vim一般有以下几种工作模式:

  • 普通模式(NORMAL模式):使用vim打开一个文件时默认模式,也叫命令模式,允许用户通过各种命令浏览代码、滚屏等操作
  • 插入模式(INSERT模式):也可以叫做编辑模式,在普通模式下敲击 i 、a 或 o 就进入插入模式,允许用户通过键盘输入、编辑
  • 命令行模式:在普通模式下,先输入冒号:,接着输入命令,就可以通过配置命令对vim进行配置了,如改变颜色主题、显示行号等,这些配置命令也可以保存到/etc/vim/vimrc配置文件中,每次打开默认配置执行
  • 可视化模式(VISUAL LINE模式):在普通模式下敲击前盘上的 v 键,就进入可视化模式,然后移动光标就可以选中一块文本,常用来完成文本的复制、粘贴、删除等操作
  • 替换模式(REPLACE模式):如果我们想修改某个字符,不需要先进入插入模式,删除,然后再输入新的字符,直接在普通模式下,敲击R键就可以直接替换

vim的各种工作模式可以通过不同的键进行切换,默认使用ESC键返回到普通模式


二、操作命令

打开命令

vim filename     #打开或新建一个文件,并把光标置于首部
vim + filename   #打开一个文件,并把光标置于末尾
vim +n filename  #打开一个文件,并把光标置于第n行
vim -R filename  #只读方式打开一个文件

光标移动命令

单个字符移动

h  #向左移动
l  #向右移动
j  #向下移动
k  #向上移动

词组移动

w/W  #将光标移动到下一个单词的开头
b/B  #将光标移动到前一个单词的开头
e/E  #将光标移动到下一个单词的词末

行移动

$  #将光标移动到当前行的行尾
0  #将光标移动到当前行的行首

文本移动

gg  #移动到文件开头
G   #跳转到文件末尾
nG  #跳转到第n行
''  #(两次英文单引号)返回到跳转前的位置
n%  #移动到文件n%的位置
H   #(Head)移动到当前屏幕显示的开头
M   #(Middle)移动到当前屏幕显示的中间
L   #(Last)移动到当前屏幕显示的末尾

Ctrl+g  #查看当前的位置状态("test.yaml" line 10 of 46 --21%-- col 4)

文本插入命令

i  #在当前光标的前面插入字符
a  #在当前光标的后面追加字符
o  #在当前光标的下一行行首插入字符
O  #在当前光标的上一行行首插入字符
I  #在一行的开头添加文本
A  #在一行的结尾处添加文本
u  #撤销本次修改

Ctrl+g  #重做最后的改动

文本删除命令

字符删除

x  #删除当前光标所在处的字符
X  #删除当前光标左边的字符

行删除

d$   #删除从光标到一行末尾的所有内容,效果同`D`
d0   #删除从光标到一行开头的所有内容
dd   #删除当前光标处的一整行内容
ndd  #删除从光标所在行开始的n行代码
dgg  #删除从光标所在行向上到文本开头的内容
dG   #删除从光标所在行向下到文本结尾的内容

文本复制与粘贴命令

复制与粘贴

y    #复制
p    #在光标后面或下一行粘贴
y$   #复制从当前光标到行结尾的所有单词
y0   #复制从当前光标到行首的所有单词
yy   #复制一整行
nyy  #复制从当前光标所在行开始的n行

复制文本块

复制块:
1.首先进入visual模式:v
2.移动光标选择文本
3.复制与粘贴的操作

全文复制:
ggvG  #全选,到开头后进入visual模式,再跳转到末尾

文本的修改与替换命令

~   #修改光标下字符的大小写
rx  #将当前光标下的字符替换为x
R   #进入到替换模式

文本的查找与替换命令

查找命令

/string  #向后查找
?string  #向前查找
Enter确认查找,n浏览下一个查找结果; N浏览上一个查找结果

:set hls  #设置查询的结果高亮显示
:noh  #关闭当前的高亮结果

:set nu  #设置行号显示

替换命令

:s/old/new         #将当前行的第一个old替换为new
:s/old/new/g       #将当前行所有的old替换为new
:ns/old/new        #将第n行第一个old替换为new
:ns/old/new/g      #将第n行的所有old替换为new
:m,ns/old/new      #将指定的m、n行内的第1个old替换为new
:m,ns/old/new/g    #将指定的m、n行内的所有old替换为new
:%s/old/new        #将文本中所有行的第1个old替换为new
:%s/old/new/g      #将文本中所有的old替换为new
:%s/old/new/gc     #依次将old替换为new
:%s/^hello/hola/g  #将所有以hello开头的字符串替换为hola

撤销修改、重做与保存命令

u       #撤销上一步的操作
U       #恢复光标所在行原来的内容(文件打开时的文本状态)
Ctrl+r  #将原来撤销的恢复

:q      #若文件没有修改,直接退出
:q!     #文件已经被修改,放弃修改退出
:wq     #文件已经被修改,保存修改并退出
:e!     #放弃修改,重新回到文件打开时的状态
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值