Vim的使用

​ Vim是linux环境下常用的编辑器,这篇文章目的在于帮助我自己记忆Vim的相关语法命令.


iInsert进入编辑模式

:/进入命令模式

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]


正常模式下

  1. 在当前行上移动光标

    • 0移动至行头
    • ^移动到本行第一个不是空白字符的地方
    • $移动至行尾
    • g_移动到本行最后一个不是空白字符的地方
    • w移动到下一个单词开头
    • e移动到下一个单词结尾
    • f[a]移动到下一个为a的字符处,例如fa移动到下一个a,fb移动到下一个b
    • nf[a]移动到第n个字符为a的地方
    • F[a]与nF[a]查找方向与上两个相反
    • t[a]移动至a前一个字符
    • nt[a]移动到第n个
    • ;与,;下一个字符,前一个字符
  2. 跨行移动光标

    • nG到第n行行首
    • gg到第一行行首
    • G最后一行行首
    • H当前屏幕第一行行首
    • M当前屏幕中间
    • L当前屏幕尾部
    • zt当前屏幕最上方
    • zz当前屏幕中间
    • zb当前屏幕尾部
    • %匹配括号移动
    • *与#匹配光标当前单词,移动光标至下一个或上一个匹配的单词,*为下一个,#为上一个
  3. 翻页操作

    • ctrl+f下一页
    • ctrl+b上一页

复制粘贴删除

d删除,y复制,p粘贴

  1. 关于d删除,它通常搭配不同字母使用

    • dw删除一个单词
    • dnw删除n个单词
    • dfa删除光标到下一个a处的字符
    • dnfa删除光标到第n个a处的字符
    • dd删除一整行
    • ndd删除光标开始的n行
    • d$删除光标至本行结尾
    • dH删除屏幕显示第一行文本到光标所在行
    • dG删除光标所在行到文本的结束
  2. y复制,操作和上面d的基本一样

  3. p粘贴

    • p光标和粘贴
    • P光标前粘贴

u撤销

ctrl+u恢复撤销


x删除光标所在字符

r替换光标所在处的字符

R替换光标开始后的所有字符


~将光标处字母带小写改变

n~改变n个大小写

g~~改变当前行

gUU当前行全改成大写

guu小写

3gUU光标开始三行全改为大写

gUw光标处单词改为大写

guw小写

n[command]执行n次命令

posted @ 2022-06-25 10:12  帝皇の惊  阅读(84)  评论(0)    收藏  举报