Vim

1.模式

(1)Normal模式

默认/按ESC

i——进入Insert模式,在当前光标所在字符左侧插入

a——进入Insert模式,在当前光标所在字符右侧插入

u——撤销

Ctrl-r——恢复

(2)Visual可视模式

visual——Normal模式下按v,自由选中。按e选中到词尾

visual line——V,行选中

visual block——Ctrl-v,矩形块选中

通过jkhl选中代码行/块后,y为copy,p为paste

缩进——shift+>或<

(3)命令行模式

Normal模式下按:

set number——显示行号

q——退出

w——保存

!——强制

wq——退出保存

wq!——强制退出保存

(4)插入模式

i——光标前插入

a——光标后插入

2. 光标移动

Normal模式下

j——光标向下移动

k——光标向上移动

h——光标向左移动

l——光标向右移动

Ctrl-d——向下翻页

Ctrl-u——向上翻页

num+j——光标往下跳转num行

num+k——光标向上跳转num行

w——下一个word头部

b——上一个word头部

e——下一个word的尾部

  • word间——w/b跳转
  • word内部——b/e跳转

0——句首

$——句末

3. 拷贝与删除

Normal模式下

yy——复制光标所在整行

y$——复制光标到行尾

dd——剪切/删除光标所在行

d$——剪切光标到行尾,删除光标到行末

num+yy——拷贝包括当前行在内的向下num行

num+dd——剪切包括当前行在内的向下num行

p——将复制/剪切内容黏贴到光标所在行的下一行(整行);黏贴到光标右侧(非整行)

P——黏贴到光标上一行(整行),黏贴到光标左侧(非整行)

dw/de——剪切、删除word在光标之后的内容(dw删除word后的空格,de不删除word后的空格)

ce——删除光标所在word,同时进入Insert模式进行编辑

num+dw——删除包括光标在内的num个word

num+ce——删除包括光标在内的num个word,同时进入Insert模式进行编辑

:50,100t20——将50~100行的代码拷贝copy到20行的下一行

:50,100m20——将50~100行的代码移动move到20行的下一行

4. 多窗口

多文件

:qa——关闭所有窗口

关闭当前窗口——:q

切换窗口——Ctrl-ww(Ctrl-w+jk/hl)

vim -o file1 file2——上下分屏

:sp file2

image-20211006213317177

vim -O file1 file2——左右分屏

:vsp file2

image-20211006213518751

多窗口一个文件

多窗口打开的是同一文件,在任一窗口所做修改都会同步,主要用于查看/修改某文件的不同位置

上下分屏——:sp

左右分屏——:vsp

5. 场景总结

词间跳转

w——右侧词首

b——左侧词首

词内首尾跳转

b——词首

e——词尾

拷贝代码

放到需要拷贝代码的第一个字符,进入visual-mode,选中代码,按下y复制。

若是整行/段代码,按下p,黏贴到光标下行

在括号里插入

在()、[]、{}中插入时,先将左右括号都补全,然后进入normal-mode,按下i光标进入括号中间

删除某行

dd

复制词A替换词B

光标移动到aaa的开头,按 v 按e 按y

光标移动到aaa的开头,按 v 按e 按y

也就说,快速选中一个单词,按v按e即可

删除光标所在词

dw

删除光标所在词然后输入

ce

posted @   徘徊彼岸花  阅读(74)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示