Loading

Vim 部分常用快捷键

背景

本文记录学习vim过程中,常用到的一些快捷键

1. 将一个文件A的某几行拷贝到另一个文件B中。

  • 首先输入命令vim A,进入文件A中
  • 起始为正常模式,通过命令:sp:vsp切分一个窗口(sp为上下切分;vsp为左右切分,v表示的是垂直的意思vertical),需要注意这时两个窗口都是文件A的内容
  • 输入:e B,表示在其中一个窗口打开B文件,这是光标自动进入到B文件
  • 切换到源文件(切换时control+w 再按一下w)
  • 光标移动到要拷贝的首行,输入一个想要拷贝的行数数字,然后yy,暂存在寄存器中
  • 通过上述的切换方法(切换时control+w 再按一下w),再切换回文件B,通过p粘贴,完成拷贝

2. 有选择的保存

光标移动到某行,按v进入visual模式,光标移动到想存的最后一行,按:,之后w filename,回车,将这几行写入到filename里

当前文件插入其他文件的内容,光标到某位置,按:r filename,再此处插入filename的内容

如果用:r !command可以将命令的输出结果放置到指定位置

3. 关于复制与粘贴

visual模式选中 y 复制(yank,提起)

yw 可以复制一个单词

p 粘贴(put,放置)

4. 删除

x 删除一个字符

dw 从光标处删除到下个单词的起始

de 删除到单词末尾

d$ 从光标删除到行末

dd 删除整行

[x]dd 删除x行

ce 可以删除某个单词到结尾,并进入编辑模式

想要从某行删除到结尾,则先跳到结尾,然后输入:STARTLINE,. d, 这里STARTLINE为要删除的第一行

5. 插入或进入编辑模式

o 在光标下一行插入新一行并编辑

O 在上一行插入新的一行进行编辑

a 光标后开始编辑

A 结尾开始编辑

6. 移动光标

数字+w/e 光标移动,分别代表前移x个单词和前移到第x个单词末尾,0可以回到行首

dw/e 之间也可以有数字

e 移动到单词尾

w 移到单词首

0 回到行首

7. 撤销

u 撤销最后一次修改

U 撤销整行修改

CTRL+R 可以撤销已实施的撤销操作

8. 查找与替换

/string 查找string, n查找下一个,N反向查找。如果逆向查找(从下向上查)用?string代替/string。另外通过CTRL+o回到之前的位置,CTRL+i转到新位置

:s/old/new/ 替换第一个old为new

:s/old/new/g 整行替换

:x,#s/old/new/g 从x行到#行替换

:%s/old/new/g 整个文件的替换

:%s/old/new/gc 每次替换都要询问一下

r + 一个新字符,可以将光标原来所处的位置置换为新字符
(举例:光标处于apple的a上,现在在正常模式下,按r,再按b键,apple将变为bpple)

R 功能同r,只是直接进入到替换模式,将替换之后的所有字符直到通过esc回到正常模式

9. 关于行号

CTRL+g 查看行号

gg 到文件首行

G 到文件末尾行

行号 + G 到指定行

10. 其他

删除后再按p 会将最后一次删除的内容,置于光标处

% 匹配括号

:! command 执行外部command

:w filename 将文件写成一个新filename

posted @ 2020-11-23 11:10  JavicxhloWong  阅读(170)  评论(0编辑  收藏  举报