当前位置:网站首页>vim命令大全
vim命令大全
2022-06-12 03:20:00 【望月湖】
vim命令大全
1.vim介绍
vim编辑器有三种模式:
命令模式、编辑模式、末行模式
模式间切换方法:
(1)命令模式下,输入“:”后,进入末行模式
(2)末行模式下,按esc慢退、按两次esc快退、或者删除所有命令,可以回到命令模式
(3)命令模式下,按下i、a等键,可以计入编辑模式
(4)编辑模式下,按下esc,可以回到命令模式
vim打开文件:
| Vi 使用的选项 | 说 明 |
|---|---|
| vim filename | 打开或新建一个文件,并将光标置于第一行的首部 |
| vim -r filename | 恢复上次 vim 打开时崩溃的文件 |
| vim -R filename | 把指定的文件以只读方式放入 Vim 编辑器中 |
| vim + filename | 打开文件,并将光标置于最后一行的首部 |
| vi +n filename | 打开文件,并将光标置于第 n 行的首部 |
| vi +/pattern filename | 打幵文件,并将光标置于第一个与 pattern 匹配的位置 |
| vi -c command filename | 在对文件进行编辑前,先执行指定的命令 |
2.命令模式
1.光标移动
| 快捷键 | 功能描述 |
|---|---|
| jkhl | 基本上下左右 |
| gg | 光标移动到文档首行 |
| G | 光标移动到文档尾行 |
| ^或_ | 光标移动到行首第一个非空字符 |
| home键或0或者g0 | 光标移动到行首第一个字符 |
| g_ | 光标移动到行尾最后一个非空字符 |
| end或 或 者 g 或者g 或者g | 光标移动到行尾最后一个字符 |
| gm | 光标移动到当前行中间处 |
| w/W | 光标向前移动一个单词(大写忽略/-等等特殊字符) |
| b/B | 光标向后移动一个单词(大写忽略/-等等特殊字符) |
| e/E | 移到单词结尾(大写忽略/-等等特殊字符) |
| ctrl+b或pageUp键 | 翻屏操作,向上翻 |
| ctrl+f或pageDn键 | 翻屏操作,向下翻 |
| 数字+G | 快速将光标移动到指定行 |
| `. | 移动到上次编辑处 |
| 数字+上下方向键 | 以当前光标为准,向上/下移动n行 |
| 数字+左右方向键 | 以当前光标为准,向左/右移动n个字符 |
| H | 移动到屏幕顶部 |
| M | 移动到屏幕中间 |
| L | 移动到屏幕尾部 |
| z+Enter键 | 当前行在屏幕顶部 |
| z+ . | 当前行在屏幕中间 |
| z+ - | 当前行在屏幕底部 |
| shift+6 | 光标移动到行首 |
| shift+4 | 光标移动到行尾 |
| - | 移动到上一行第一个非空字符 |
| + | 移动到下一行第一个非空字符 |
| ) | 向前移动一个句子 |
| ( | 向后移动一个句子 |
| } | 向前移动一个段落 |
| { | 向前移动一个段落 |
| count l | 移动到count 列 |
| counth | 向左移动count 字符 |
| countl | 向右移动count字符 |
| countgo | 移动到count字符 |
2.选中内容
| 快捷键 | 功能描述 |
|---|---|
| v | 进行字符选中 |
| V | 进行行选中 |
| gv | 选中上一次选择的内容 |
| o | 光标移动到选中内容另一处结尾 |
| O | 光标移动到选中内容另一处角落 |
| ctr + V | 进行块选中 |
3.复制(配合粘贴命令p使用)
| 快捷键 | 功能描述 |
|---|---|
| y | 复制已选中的文本到剪贴板 |
| n+yy | 复制光标所在行,此命令前可以加数字 n,可复制多行 |
| yw | 复制光标位置的单词 |
| ctrl+v + 方向键+yy | ctrl+v,并按方向键选中区块,按下yy复制 |
4.剪切
| 快捷键 | 功能描述 |
|---|---|
| dd | 剪切光标所在行 |
| 数字+dd | 以光标所在行为准(包含当前行),向下剪切指定行数 |
| D | 剪切光标所在行 |
5.粘贴
| 快捷键 | 功能描述 |
|---|---|
| p | 将剪贴板中的内容粘贴到光标后 |
| P(大写) | 将剪贴板中的内容粘贴到光标前 |
6.删除
| 快捷键 | 功能描述 |
|---|---|
| x | 删除光标所在位置的字符 |
| X(大写) | 删除光标前一个字符 |
| dd | 删除光标所在行,删除之后,下一行上移 |
| D | 删除光标位置到行尾的内容,删除之后,下一行不上移 |
| ndd | 删除当前行(包括此行)后 n 行文本 |
| dw | 移动光标到单词的开头以删除该单词 |
| dG | 删除光标所在行一直到文件末尾的所有内容 |
| :a1,a2d | 删除从 a1 行到 a2 行的文本内容 |
7.撤销/恢复
| 快捷键 | 功能描述 |
|---|---|
| u | 撤销 |
| ctrl+r | 恢复 |
| U(大写) | 撤销所有编辑 |
8.字符转换
| 快捷键 | 功能描述 |
|---|---|
| ~ | 转换大小写 |
| u | 变成小写 |
| U | 变成大写 |
9.编辑命令的快捷键
| 快捷键 | 功能描述 |
|---|---|
| ↑或ctr + p | 上一条命令 |
| ↓或ctr + n | 下一条命令 |
| ctr + b | 移动到命令行开头 |
| ctr + e | 移动到命令行结尾 |
| ctr + ← | 向左一个单词 |
| ctr + → | 向右一个单词 |
3.末行模式(: xxx命令)
1.保存/退出文件操作
| 命令 | 功能描述 |
|---|---|
| :wq | 保存并退出 Vim 编辑器 |
| :wq! | 保存并强制退出 Vim 编辑器 |
| :q | 不保存就退出 Vim 编辑器 |
| :q! | 不保存,且强制退出 Vim 编辑器 |
| :w | 保存但是不退出 Vim 编辑器 |
| :w! | 强制保存文本 |
| :w filename | 另存到 filename 文件 |
| x! | 保存文本,并退出 Vim 编辑器 |
| ZZ | 直接退出 Vim 编辑器 |
2.查找:“/关键词”
在查找结果中,用N、n可以切换上下结果;输入“nohl”,可以取消高亮
| 快捷键 | 功能描述 |
|---|---|
| /abc | 从光标所在位置向前查找字符串 abc |
| /^abc | 查找以 abc 为行首的行 |
| /abc$ | 查找以 abc 为行尾的行 |
| ?abc | 从光标所在位置向后查找字符串 abc |
| n或; | 向同一方向重复上次的查找指令 |
| N或, | 向相反方向重复上次的查找指定 |
3.替换
| 快捷键 | 功能描述 |
|---|---|
| r | 替换光标所在位置的字符 |
| R | 从光标所在位置开始替换字符,其输入内容会覆盖掉后面等长的文本内容,按“Esc”可以结束 |
:s/a1/a2 | 替换当前光标所在行第一处符合条件的内容 |
:s/a1/a2/g | 替换当前光标所在行所有的 a1 都用 a2 替换 |
| :%s /a1 /a2 | 替换所有行中,第一处符合条件的内容 |
| :%s /a1 /a2/g | 替换所有行中,所有符合条件的内容 |
| :n1,n2 s/a1/a2 | 将文件中 n1 到 n2 行中第一处 a1 都用 a2 替换 |
| :n1,n2 s/a1/a2/g | 将文件中 n1 到 n2 行中所有 a1 都用 a2 替换 |
4.行号显示:“: set nu”;
- 行号显示
: set nu - 取消行号显示:“: set nonu”
5.文件切换
使用vim打开多个文件后,在末行模式下可以进行切换。
- 查看当前已经打开的所有文件:“:files”(%a表示激活状态,#表示上一个打开的文件)
- 切换到指定文件:“:open 文件名”
- 切换到上一个文(back previous):“:bp”
- 切换到下一个文件(back next):“:bn”
4.编辑模式
| 快捷键 | 功能描述 |
|---|---|
| i | 在当前光标所在位置插入,光标后的文本相应向右移动 |
| I | 在光标所在行的行首插入,行首是该行的第一个非空白字符,相当于光标移动到行首执行 i 命令 |
| o | 在光标所在行的下插入新的一行。光标停在空行首,等待输入文本 |
| O(大写) | 在光标所在行的上插入新的一行。光标停在空行的行首,等待输入文本 |
| a | 在当前光标所在位置之后插入 |
| A | 在光标所在行的行尾插入,相当于光标移动到行尾再执行 a 命令 |
| esc键 | 退出编辑模式 |
5.扩展
1.代码颜色显示:“:syntax on/off”
2.vim内置计算器:
a.进入编辑模式
b.按下“ctrl+r”,光标变成引号,,输入“=”,光标转到最后一行
c.输入需要计算的内容,按下enter后,计算结果回替代上一步中的引号,光标恢复
3.vim的配置
a.文件打开时,末行模式下输入的配置为临时配置,关闭文件后配置无效
b.修改个人配置文件,可以永久保存个人配置(~/.vimrc,如果没有可以自行创建)
c.修改全局配置文件,对每个用户生效(vim自带,/etc/vimrc)
注:个人配置文件优先级更高,当个人配置和全局配置发生冲突时,系统以当前用户的个人配置文件为准
4.异常退出
在编辑文件后,未正常保存退出时,会产生异常退出交换文件(.原文件名.swp)
将交换文件删除后,再次打开文件时,无提示:“#rm -f .原文件名.swp”
5.别名机制:自定义指令
Linux中,存在一个别名映射文件: ~/.bashrc
修改文件内容,可以自定义指令,重新登录账号后生效
6.文件快捷方式
对于深层文件,可以创建文件快捷方式,便于后续操作:#ln -s 源路径 新路径
7.**退出方式 **
(1)在vim中退出文件编辑模式,可以使用“:q”或者“:wq”
(2)建议使用“:x”:使用效果等同于wq,如果文件有改动则先保存后退出;但是如果文件没有做修改,则直接退出,不会修改文件更新时间,避免用户魂兄对文件修改时间的认定
边栏推荐
- xml
- [point cloud compression] variable image compression with a scale hyperprior
- Comparaison de la taille des fractions
- 1 minute to understand the essential difference between low code and zero code
- 简单的数据库连接示例
- ARD3M电动机保护器在煤炭行业中的应用
- 2020-12-06
- errno: -4091, syscall: ‘listen‘, address: ‘::‘, port: 8000
- Summary -day11
- 2020-12-12
猜你喜欢

Application of ard3m motor protector in coal industry

安科瑞抗晃电产品在河北某化工项目的应用

SSH public key login failed with error: Sign_ and_ send_ pubkey: no mutual signature supported

In 2022, don't you know the difference between arrow function and ordinary function?

About 100 to realize the query table? Really? Let's experience the charm of amiya.

errno: -4078, code: ‘ECONNREFUSED‘, syscall: ‘connect‘, address: ‘127.0.0.1‘, port: 3306; Postman error

Inverted string - two solutions
![[Business Research Report] Research Report on super automation technology and application (2022) -- download link attached](/img/c9/6d34bed3bde0044270c5dca269d6b9.jpg)
[Business Research Report] Research Report on super automation technology and application (2022) -- download link attached

Cupp dictionary generation tool (similar tools include crunch)

【点云压缩】Variational Image Compression with A Scale Hyperprior
随机推荐
central limit theorem
Go syntax variable
顺序表与链表-----进阶
[Business Research Report] the salary growth rate report of each industry in 2022 includes regional growth rate - download link is attached
Sparse tensor based point cloud attribute compression
C language array
Using SSH public key to transfer files
Requirements and business model analysis requirements 13 data modeling
[Business Research Report] Research Report on super automation technology and application (2022) -- download link attached
分数大小的比较
Wechat applet project example - Fitness calculator
go 递归无限极分类
string manipulation:
Oracle users and tablespaces
2020-12-17
Demand and business model innovation - demand 8- interview
Application of acrelcloud-6000 secure power cloud platform in a commercial plaza
[untitled]
laravel 8 选用 jwt 进行接口验证
Cupp dictionary generation tool (similar tools include crunch)