vim常用命令

vim常用命令

vim是在linux环境使用的编辑器,功能强大但是不方便使用,但在开发环境往往需要远程登陆修改配置和脚本等操作,所以是程序员必须掌握的技能。
这里将常用的操作记录下来,以便学习回顾。

进入插入模式

命令 当前模式 说明
i 普通模式 进入插入模式,从当前光标所在字符的前面开始输入
I 普通模式 进入插入模式,从行首开始输入
a 普通模式 进入插入模式,从当前光标所在字符的后面开始输入
A 普通模式 进入插入模式,从行尾开始输入

移动光标

命令 当前模式 说明
0 普通模式 将光标移动到行首
$ 普通模式 将光标移动到行尾
gg 普通模式 将光标移动到第一行
G 普通模式 将光标移动到最后一行
nG 普通模式 n为数字,将光标移动到第n
行,经常搭配:set nu使用
Ctrl+f 普通模式 向下翻页(foreward)
Ctrl+b 普通模式 向上翻页(backward)

删除,复制和粘贴

命令 当前模式 说明
x 普通模式 向后删除一个字符
X 普通模式 向前删除一个字符,相当于退格键
nx 普通模式 n为数字,向后删除n个字符
nX 普通模式 n为数字,向前删除n个字符
dd 普通模式 删除当前行
ndd 普通模式 n为数字,删除当前光标向下n行
dgg 普通模式 删除当前行到第一行
dG 普通模式 删除当前行到最后一行
yy 普通模式 复制当前行
p 普通模式 将当前复制的数据粘贴到光标后面或者下面
. 普通模式 小数点,意思是重复前一个动作的意思,支持重复删除、重复粘贴等动作

undo和redo

命令 当前模式 说明
u 普通模式 取消上一个动作
Ctrl+r 普通模式 重做上一个取消的动作

查找单词

查找支持正则表达式。

命令 当前模式 说明
:/word 命令模式 向光标之下寻找一个名称为 word 的字符串
n 普通模式 重复前一个搜寻的动作,对于:/word来说就是继续向下寻找
N 普通模式 向相反方向进行前一个搜寻的动作,对于:/word来说就是向上寻找
:set ic 命令模式 查找的时候忽略大小写(ignorecase)
:set noic 命令模式 取消查找的时候忽略大小写

替换字符串

替换支持正则表达式。

命令 当前模式 说明
:n1,n2s/word1/word2/g 命令模式 将第n1行到第n2行每一行中的所有word1替换为word2,数字n为1表示第一行,为.表示当前行,为$表示最后一行
:n1,n2s/word1/word2/gc 命令模式 最后加上c表示每次替换都需要手动确认,可以中途退出替换
:%s/word1/word2/g 命令模式 替换所有行,等价于:1,$s/word1/word2/g
:s/word1/word2/g 命令模式 替换当前行所有的word1为word2

显示行号

命令 当前模式 说明
:set nu 命令模式 显示行号(number)
:set nonu 命令模式 取消显示行号

显示隐藏字符

命令 当前模式 说明
:set list 命令模式 显示隐藏字符
:set nolist 命令模式 取消显示隐藏字符

设置文本格式

也可以使用:%s/\r$//g来替换:set ff=unix命令(fileformat)。

命令 当前模式 说明
:set ff=unix 命令模式 windows上的文本上传到linux机器,会出现换行多出一个\r回车字符,可以设置为unix格式,然后:wq保存即可进行转换
:set ff=dos 命令模式 转换为dos格式,每个换行都是\r\n的组合

保存退出

命令 当前模式 说明
:wq 命令模式 保存并退出
:w 命令模式 只保存
:q! 命令模式 强制退出不保存(放弃本次所有修改)

参考资料

posted @ 2022-09-22 10:17  HachikoT  阅读(76)  评论(0编辑  收藏  举报