vim

set nu设置行号

set nonu取消行号


 i在光标所在字符前插入

a在光标所在字符后插入

I在光标所在行行首插入

A在光标所在行行尾插入

o在光标下插入新行

O在光标上插入新行


gg回到首行首列

G回到末行首列

nG回到第n行行首

:n回到第n行行首

$回到当前行行尾

0回到当前行行首


 x删除光标所在字符

nx删除光标所在字符及后共n个字符

dG删除光标所在行到文件末尾内容

D删除光标所在行到行尾内容

:n,md删除从第n行到第m行内容,例:3,5d删除3到5行,共删除3行。


yy复制当前行

nyy复制当前行及以下n行

dd剪切当前行

ndd剪切当前行及以下n行

p粘贴到光标所在行行下

P粘贴到光标所在行行上


r替换光标所在处字符

R从光标所在位置开始替换,按Esc结束替换

u取消上一步操作


/string搜索字符串

:set ic不区分大小写搜索

n搜索到指定字符串的一下个出现位置

:%s/old/new/g全文替换指定字符串

:n,ms/old/new/g从n行开始到m行替换指定新旧字符串,例:8,16s/a/b/g替换8到16行,a换成b,s表示switch,g表示不询问,也可用c,表示替换前询问确认。


:w保存

:w newFileName另存为一个新文件

:wq保存并退出

ZZ保存并退出

:q!不保存退出

:wq!保存并退出(文件所有者及root可使用,当对只读文件修改后可用此方式强制保存)


:r 文件名(包括绝对路径) 导入指定文件到当前光标所在处

:!命令 在不退出vim情况下执行命令

:r !命令 可以把命令的执行结果导入到光标所在处

:map ^P I#<ESC> 定义快捷键,^P通过Ctrl+V+P敲出,I表示定位到光标所在行行首并进入插入模式,#表示插入#,<ESC>表示退出插入模式回到命令模式,此定义好的快捷键可通过Ctrl+P对光标所在行进行快速注释。

:map ^B 0x 取消注释

:map ^M ixiongjiawei@xxx.com<ESC> 插入邮箱

:1,8s/^/#/g 同时注释1到8行

:1,8s/^#//g 同时取消注释1到8行

:1,8s/^////g 在行首加//

:1,8s/^/\/g 在行首加

:ab 输入的字串 显示的字串,例:ab pet tomAndJerry,输入pet会自动录入tomAndJerry

快捷键或其他的设置需要写入配置文件才能重启也生效,配置文件.vimrc保存在每个用户的家目录下。

加了转义符后的ls才是ls的最原始含义,ls有别名

原文地址:https://www.cnblogs.com/xiongjiawei/p/7225677.html