vim基础操作

i - 当前位置插入 进入插入模式
x - 删除光标所在字符
s - 删除当前字符并进入插入模式
dd - 剪切当前行
yy - 复制当前行
p - 贴贴
a - 在光标后插入
A - 在一行后插入
o - 在当前行后新开一行
O - 在当前行前新开一行
^ - 定位到本行第一个非空字符位置
$ - 定位到本行最后一个非空字符位置
gg - 到第一行
G - 到最后一行
w(W) - 到下一个单词(字串)的开头
b(B) - 到上一个单词的开头
e(E) - 到下一个单词的结尾
ge(gE) - 到上一个单词的结尾
% - 括号匹配操作
.操作符:重复上一次操作 即从进入插入模式到退出插入操作的操作,注意在插入模式中移动光标会重置修改状态
u - 回退修改
f{char}/t{char}: 行内查找下一指定字符 使用一次后可通过;查找下一个,回退上一次
*: 将光标移动到单词上 使用*键移动到下一个相同单词上
cw:删除从当前位置到单词结尾的字符,并进入插入模式
dw:删除从当前位置到单词结尾的字符
db:删除从光标起始位置到单词开头的内容
daw:删除光标所指向的完整单词 -> delete a word
Num+<C-a>: 移动到下一个数字并加上Num
Num+<C-x>:移动到下一个数字并减去Num
d2w 2dw dw. 的区别:d2w 2dw使用后用u回退撤销会恢复被删除的2个单词, dw.回退需要按2次u而且后续按.只会删除一个单词
d{motion},y{motion},c{motion}可以对一个字符(l), 一个完整单词(aw),一整个段落(ap)进行操作-> i), i", iw当前(单词)
操作符+动作命令=操作
gUaw可以把当前单词转化成大写形式, gUap把整段文字转换为大写
Vim语法有一个规则,即当一个操作符命令被连续调用两次时,它会作用于当前行,所以dd删除当前行,>>缩进当前行
常用操作符:d,y,c,gu,gU,g~,>,<

常用操作符

c:修改
d:删除
y:复制到寄存器
g~:反转大小写
gu:转换为小写
gU:转换为大写
>:增加缩进
<:减小缩进
=:自动缩进

插入模式中无需返回普通模式的删除操作

<C-h>:删除前一个字符
<C-w>:删除前一个单词
<C-u>:删除至行首

插入非常用字符

在插入模式中使用<C-v>{code}可以通过字符编码插入该字符
<C-v>065 -> 插入A
<C-v>u00bf -> 对于编码超过3位数的字符使用4位16禁止编码
将光标移动到某一字符上面使用ga命令可以显示其对应编码

在普通模式下按R键可以进入替换模式

viw(vaw):高亮选择一个单词
vi":高亮选择"“区域内的内容
va”:高亮选择"“区域内的内容,包括”
v:激活面向字符的可视模式
V:激活面向行的可视模式
<C-v>:激活面向列块的可视模式
gv:重选上次的高亮选区

高亮选区的范围由两个端点界定,其中一端固定,另一端随光标自由移动,可以使用o键切换其活动的端点
在长短不一的高亮块后添加文本:使用v命令后使用A命令即可在每行的结尾添加内容,在可视模式下插入使用的是I命令而非i

命令行模式
按下:键可以进入命令行模式
:3 转到第3行
:3d 跳到第3行并且删除第三行
:1,3p打印1,2,3行的内容
:%s/man/woman 把每行内的第一个man换成woman
:1copy. 将第一行的内容复制到当前行的下方copy可以替换成co, t
:’<,’>m$ 将高亮选区移动到末尾
:’<,’>normal . 对高亮选区的每一行,执行普通模式下的.命令
在执行指定的普通模式指令之前,Vim会先把光标移动到改行的起始处
:%normal i// 在每个文件前面加上//
:!ls 在命令前加上一个!可以直接调用外部程序
:!cat % 符号%代表当前文件名
:shell 在vim中启动一个交互的shell 使用exit退出此shell并返回vim
:buffer N 根据编号跳转到一个缓冲区
:bdelete N 删除某个缓冲区
:args 2.txt 将文件添加入缓冲区

<C-w>s :水平切分此窗口
<C-w>v : 垂直切分此窗口
:edit {file} 在当前窗口载入file
:split {file} 水平切分当前窗口 并且打开file
:vsplit{file} 垂直切分当前窗口,并且打开file
<C-w>w 在窗口间进行切换
:only 只保留活动窗口 关闭其他所有窗口
:close 关闭活动窗口
:set number 显示屏幕行数

_d{motion}:执行真正的删除操作,不会将删除内容放到寄存器中
"ayiw:将当前单词复制到寄存器a中
"ap:粘贴寄存器a的单词
"bdd:将整行文本剪切到寄存器b中
“0 复制专用寄存器 ""无名寄存器
:reg "0 查看对应寄存器内容

/:搜索xxx
\c忽略大小写 \C强制大小写
:set hls 开启高亮查找
:set hls! 关闭高亮查找

:s/going/rolling 将第一个匹配going换成rolling
:s/going/rolling/g 将整个横轴的匹配进行替换
:%s/going/rolling/g 将整个横轴以及纵轴的匹配进行替换
:%s/going/rolling/gc 手动控制每一次替换
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值