Vim的使用
Vim是linux环境下常用的编辑器,这篇文章目的在于帮助我自己记忆Vim的相关语法命令.
i或Insert进入编辑模式
:或/进入命令模式
vim [文件名]使用vim进入文件
vim [文件名] [文件名] ...使用vim进入多个文件
:ls(命令)列出当前打开的所有文件,例如:ls
:bn(命令)打开第n个文件例如::b1,:b2
vim -On [files]打开多个文件并左右分屏
vim -on [flies]打开多个文件并上下分屏
:sp file打开一个新的文件file,并上下分割当前文件与新打开的文件
:vsp file打开一个文件file并与当前文件左右分割
Ctrl + W键为组合功能键,与其他键配合使用.
s上下分割当前打开的文件v左右分割当前打开的文件h将光标定在左边屏幕l将光标定在右边屏幕H将当前分屏移动到左边L将当前分屏移动到右边j将光标移到下面分屏k将光标移到上面分屏J将当前分屏移到下面K将当前分屏移到上面c关闭当前分屏q关闭当前分屏,如果是最后一个分屏则退出vim
:w保存文件但不退出
:w!强制保存但不退出
:w file保存当前文件修改到file中
:q!强制退出文件,但不保存
:qa!强制退出所有文件,任何修改都不保存
:wq退出文件,保存修改
:x退出文件保存修改
:e打开另一个文件
:e!放弃对文件的所以修改,恢复文件到上次保存的位置
:saveas file另存为file
快捷键ZZ(大写ZZ)保存退出
I进入插入模式,把光标移至行首
i进入插入模式,在光标所在字符之前插入
a在光标后插入
A在行尾插入
o光标下一行行首插入
O光标上一行行首插入
s删除光标所在处字符进行插入
S删除光标所在行在行首插入
cw删除光标处到单词结束的字符并进行插入
:set nu显示行号
:set nonu取消显示行号
:n定位至第n行
/{目标字符串}查找目标字符串
查找成功后n寻找下一个匹配,N寻找下一个匹配
:set ic查找时不区分大小写
:set noic查找时区分大小写
:n1, n2d删除n1到n2行
:{作用范围}s/{目标}/{替换}/{替换标志}文本替换
例如:
:s/test/TEST/g将当前行的test换为TEST:%s/test/TEST/g换全文:n1,n2s/test/TEST/g换n1到n2行- 选区,在可视模式下选区后输入
:会自动添加:'<,'>,比如:'<,'>s/test/TEST/g
替换标志
g替换所有出现
%s替换所有行第一次出现,例如%s/TEST/test
(空)替换当前光标开始的第一次出现
i大小写不敏感
I大小写敏感
c需要确认
执行linux命令
:![command]command即为欲执行的命令,例如:
:!date
:r ![command]将命令执行结果加至操作文本光标处
定义快捷键
:map [key] [value]
正常模式下
-
在当前行上移动光标
0移动至行头^移动到本行第一个不是空白字符的地方$移动至行尾g_移动到本行最后一个不是空白字符的地方w移动到下一个单词开头e移动到下一个单词结尾f[a]移动到下一个为a的字符处,例如fa移动到下一个a,fb移动到下一个bnf[a]移动到第n个字符为a的地方F[a]与nF[a]查找方向与上两个相反t[a]移动至a前一个字符nt[a]移动到第n个;与,;下一个字符,前一个字符
-
跨行移动光标
nG到第n行行首gg到第一行行首G最后一行行首H当前屏幕第一行行首M当前屏幕中间L当前屏幕尾部zt当前屏幕最上方zz当前屏幕中间zb当前屏幕尾部%匹配括号移动*与#匹配光标当前单词,移动光标至下一个或上一个匹配的单词,*为下一个,#为上一个
-
翻页操作
ctrl+f下一页ctrl+b上一页
复制粘贴删除
d删除,y复制,p粘贴
-
关于
d删除,它通常搭配不同字母使用dw删除一个单词dnw删除n个单词dfa删除光标到下一个a处的字符dnfa删除光标到第n个a处的字符dd删除一整行ndd删除光标开始的n行d$删除光标至本行结尾dH删除屏幕显示第一行文本到光标所在行dG删除光标所在行到文本的结束
-
y复制,操作和上面d的基本一样 -
p粘贴p光标和粘贴P光标前粘贴
u撤销
ctrl+u恢复撤销
x删除光标所在字符
r替换光标所在处的字符
R替换光标开始后的所有字符
~将光标处字母带小写改变
n~改变n个大小写
g~~改变当前行
gUU当前行全改成大写
guu小写
3gUU光标开始三行全改为大写
gUw光标处单词改为大写
guw小写
n[command]执行n次命令

浙公网安备 33010602011771号