vim手册(vim cheatsheet)

vim手册(vim cheatsheet)


1. 命令模式

shell 复制代码
1). 移动光标
在命令模式下,可以使用以下命令来移动光标:
- h:向左移动一个字符。
- j:向下移动一行。
- k:向上移动一行。
- l:向右移动一个字符。
- w:向右移动一个单词。
- b:向左移动一个单词。
- 0:移动到当前行的开头。
- $:移动到当前行的结尾。
- gg:移动到文本的第一行。
- G:移动到文本的最后一行。
2). 插入文本
在命令模式下,可以使用以下命令来插入文本:
- i:在当前光标位置前插入文本。
- I:在当前行的开头插入文本。
- a:在当前光标位置后插入文本。
- A:在当前行的结尾插入文本。
- o:在当前行的下方插入一行。
- O:在当前行的上方插入一行。
3). 删除文本
在命令模式下,可以使用以下命令来删除文本:
- x:删除当前光标所在位置的字符。
- dw:删除当前光标位置到单词结尾的文本。
- d0:删除当前光标位置到行开头的文本。
- d$:删除当前光标位置到行结尾的文本。
- dd:删除整行文本。
4). 复制和粘贴文本
在命令模式下,可以使用以下命令来复制和粘贴文本:
- yy:复制当前行。
- yw:复制当前光标位置到单词结尾的文本。
- p:将复制的文本粘贴到当前光标位置的下方。
- P:将复制的文本粘贴到当前光标位置的上方。
5). 撤销和恢复操作
在命令模式下,可以使用以下命令来撤销和恢复操作:
- u:撤销上一次操作。
- Ctrl+r:恢复上一次撤销的操作。
6). 查找和替换文本
在命令模式下,可以使用以下命令来查找和替换文本:
- /pattern:搜索文本中的模式。
- n:在查找模式时,移动到下一个匹配项。
- N:在查找模式时,移动到上一个匹配项。
- :s/old/new/g:将当前行中的所有"old"替换为"new"。
- :%s/old/new/g:将文本中所有的"old"替换为"new"。
7). 块操作
在命令模式下,可以使用以下命令来执行块操作:
- Ctrl+v:进入可视块模式,可以选择一个矩形块。
- Shift+i:在可视块模式下,进入插入模式,可以在选择的矩形块中插入文本。
- d:在可视块模式下,删除选择的矩形块中的所有文本。

2. 末行模式

shell 复制代码
1). 保存文件
- :w:保存文件。
- :w filename:将文件保存为指定的文件名。
2). 退出VIM
- :q:退出VIM。
- :q!:强制退出VIM,不保存修改。
- :wq:保存并退出VIM。
3). 查找和替换文本
- /pattern:搜索文本中的模式。
- :s/old/new/g:将当前行中的所有"old"替换为"new"。
- :%s/old/new/g:将文本中所有的"old"替换为"new"。
4). 移动光标
- :n:将光标移动到第n行。
- :$:将光标移动到文本的最后一行。
- :1:将光标移动到文本的第一行。
5). 显示和隐藏行号
- :set number:显示行号。
- :set nonumber:隐藏行号。
6). 执行外部命令
- :!command:执行外部命令,例如:!ls。
7). 插入文本
- :a:在当前行的后面插入文本。
- :i:在当前行的前面插入文本。
- :o:在当前行下面插入一行并插入文本。
8). 删除文本
- :d:删除当前行。
- :%d:删除整个文本。
9). 执行宏
- :@x:执行名称为x的宏。
10).代码着色
- :syntax on/off

3. 可视化模式

shell 复制代码
VIM中的可视化模式用于选择文本块,用户可以使用以下命令来执行各种操作:
1). 进入可视化模式
- v:进入可视化模式。
- V:进入行可视化模式。
- Ctrl+v:进入块可视化模式。
2). 选择文本块
- j:向下选择一行。
- k:向上选择一行。
- h:向左选择一个字符。
- l:向右选择一个字符。
- w:选择下一个单词。
- e:选择下一个单词的结尾。
- b:选择上一个单词的开头。
3). 操作文本块
- d:删除选择的文本块。
- y:复制选择的文本块。
- p:将复制的文本块粘贴到当前光标位置下面。
- P:将复制的文本块粘贴到当前光标位置上面。
- I:在选择的文本块的开头插入文本。
- A:在选择的文本块的末尾插入文本。
4). 取消选择
- Esc:退出可视化模式。
相关推荐
2035去旅行3 小时前
bootcmd 详细讲解
linux·嵌入式·arm·soc
陈希1234 小时前
Linux 防火墙配置实战:firewalld、iptables 与云安全组
linux·运维·服务器
女神下凡5 小时前
芯参谋(95):嵌入式文件系统_开发指南
linux·服务器·arm开发·驱动开发·设计规范
且从容.8 小时前
Ubuntu安装flume
linux·ubuntu·flume
承渊政道9 小时前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
且从容.12 小时前
ubuntu安装flink
linux·ubuntu·flink
爱和冰阔落13 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
程序员沉梦听雨13 小时前
WSL2的安装与使用
linux·wsl
微小的鱼13 小时前
Linux的渲染与显示系统链路
android·java·linux
lisanmengmeng14 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器