欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用vim的几个基础命令总结

程序员文章站 2024-02-20 20:15:52
...

vi 文件名 + 行数 定位到行
行内移动
命令 英文 功能
w word 向后移动一个单词
b back 向前移动一个单词
0 行首
^ 行首,第一个不是空白字符的位置
$ 行尾
行数移动
命令 英文 功能
gg go 文件顶部
G go 文件末尾
数字gg go 移动到 数字 对应行数
数字G go 移动到 数字 对应行数
:数字 移动到 数字 对应行数
屏幕移动
命令 英文 功能
Ctrl + b back 向上翻页
Ctrl + f forward 向下翻页
H Head 屏幕顶部
M Middle 屏幕中间
L Low 屏幕底部
段落移动
vi 中使用 空行 来区分段落
在程序开发时,通常 一段功能相关的代码会写在一起 —— 之间没有空行
命令 功能
{ 上一段
} 下一段
括号切换
在程序世界中,()、[]、{} 使用频率很高,而且 都是成对出现的
命令 功能
% 括号匹配及切换
标记
mx mark 添加标记 x,x 是 a~z 或者 A~Z 之间的任意一个字母
‘x 直接定位到标记 x 所在位置
可视模式
v 可视模式 从光标位置开始按照正常模式选择文本
V 可视行模式 选中光标经过的完整行
Ctrl + v 可视块模式 垂直方向选中文本
撤销和恢复撤销
u undo 撤销上次命令
CTRL + r redo 恢复撤销的命令
删除文本
x cut 删除光标所在字符,或者选中文字
d(移动命令) delete 删除移动命令对应的内容
dd delete 删除光标所在行,可以 ndd 删除多行
D delete 删除至行尾
复制、粘贴
y(移动命令) copy 复制
yy copy 复制一行,可以 nyy 复制多行
p paste 粘贴
替换
r replace 替换当前字符 命令模式
R replace 替换当前行光标后的字符 替换模式
缩排和重复执行

向右增加缩进
<< 向左减少缩进
. 重复上次命令
查找-末行模式
/str 查找 str
n: 查找下一个
N: 查找上一个
查找并替换
:%s///g
全局替换
:%s/旧文本/新文本/g
可视区域替换
????/旧文本/新文本/g
确认替换
:%s/旧文本/新文本/gc
插入命令
i insert 在当前字符前插入文本 常用
I insert 在行首插入文本 较常用
a append 在当前字符后添加文本
A append 在行末添加文本 较常用
o 在当前行后面插入一空行 常用
O 在当前行前面插入一空行 常用
末行命令扩展
:e . edit 会打开内置的文件浏览器,浏览要当前目录下的文件
:n 文件名 new 新建文件
:w 文件名 write 另存为,但是仍然编辑当前文件,并不会切换文件
分屏命令
:sp [文件名] split 横向增加分屏
:vsp [文件名] vertical split 纵向增加分屏
切换分屏窗口
w window 切换到下一个窗口
r reverse 互换窗口
c close 关闭当前窗口,但是不能关闭最后一个窗口
q quit 退出当前窗口,如果是最后一个窗口,则关闭 vi
o other 关闭其他窗口
调整窗口大小

  •   增加窗口高度
    
  •   减少窗口高度
    
  增加窗口宽度

< 减少窗口宽度
= 等分窗口大小