vim 常用命令

来源:互联网 发布:致幻蘑菇 知乎 编辑:程序博客网 时间:2024/05/17 12:55

vim常用模式为普通模式、插入模式和命令行模式

vim启动进入普通模式,处于插入模式或命令行模式时只需要按Esc或者Ctrl+[即可进入普通模式。普通模式中按i(插入)或a(附加)键都可以进入插入模式,普通模式中按:进入命令行模式

普通模式使用下面的键将进入插入模式,并可以从相应的位置开始输入

i在当前光标处进行编辑I在行首插入A在行末插入a在光标后插入编辑从普通模式输入:进入命令行模式,输入w,或x回车,保存文档

:q!强制退出,不保存:q退出:wq!强制保存并退出:w <文件路径>另存为:saveas 文件路径另存为:x保存并退出:wq保存并退出普通模式下输入Shift+zz即可保存退出vim

进入普通模式,使用下列命令可以进行文本快速删除:

命令说明x删除游标所在的字符X删除游标所在前一个字符Deletexdd删除整行

2dd表示一次删除2行

在普通模式下.(小数点)表示重复上一次的命令操作,普通模式下输入x,删除第一个字符,输入.(小数点)会再次删除一个字符,除此之外也可以重复dd的删除操作

  • 输入10x,删除10个连续字符
  • 输入3dd,将会删除3行文本

游标的快速跳转

行间跳转nG(n Shift+g)游标移动到第 n 行(如果默认没有显示行号,请先进入命令模式,输入:set nu以显示行号)gg游标移动到到第一行G(Shift+g)到最后一行gg游标移动到到第一行G(Shift+g)到最后一行

行内跳转

w到下一个单词的开头
b到前一个单词的开头

复制及粘贴文本

普通模式中使用y复制

  • 普通模式中,yy复制游标所在的整行(3yy表示复制3行)
  • 普通模式中,yw 复制一个单词。
  • 普通模式中,y2w 复制两个单词。
  • 普通模式中,yG 复制至文本末。
普通模式中使用p粘贴

  • 普通模式中,p(小写)代表粘贴至光标后(下)
  • 普通模式中,P(大写)代表粘贴至光标前(上)
  • ~将游标所在字母变成大写或小写

剪切及粘贴

其实前面讲得dd删除命令就是剪切,你每次dd删除文档内容后,便可以使用p来粘贴,也这一点可以让我们实现一个很爽快的功能——交换上下行:

替换和撤销(Undo)命令,替换和Undo命令都是针对普通模式下的操作

r+<待替换字母>将游标所在字母替换为指定字母R连续替换,直到按下Esccc替换整行,即删除游标所在行,并进入插入模式cw替换一个单词,即删除一个单词,并进入插入u{n}撤销一次或n次操作U(大写)撤销当前行的所有修改Ctrl+rredo,即撤销undo的操作

使用命令进行快速调整缩进操作

  • 普通模式下输入>> 整行将向右缩进(使用,用于格式化代码超爽)
  • 普通模式下输入<< 整行向左回退
  • 普通模式下输入:进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数
普通模式下输入:进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数 获取目前的设定值
:set shiftwidth=10

快速查找

普通模式下输入/然后键入需要查找的字符串 按回车后就会进行查找。 /功能相同,只不过是向上而/是向下查找。 进入查找之后,输入nN可以继续查找 n表示继续查找,N反向查找

高级查找

  • 普通模式下输入\*寻找游标所在处的单词
  • 普通模式下输入\#同上,但 \* 是向前(上)找,#则是向后(下)找
  • 普通模式下输入g\*\* ,但部分符合该单词即可
  • 普通模式下输入g\#\# ,但部分符合该单词即可

使用vim编辑多个文件

  • 命令行模式下输入:n编辑2.txt文件,可以加!:n!强制切换,之前一个文件的输入没有保存,仅仅切换到另一个文件
  • 命令行模式下输入:N编辑1.txt文件,可以加!:N!强制切换,之前文件内的输入没有保存,仅仅是切换到另一个文件

进入vim后打开新文件

  • 命令行模式下输入:e 3.txt 打开新文件3.txt
  • 命令行模式下输入:e# 回到前一个文件
  • 命令行模式下输入:ls可以列出以前编辑过的文档
  • 命令行模式下输入:b 2.txt(或者编号)可以直接进入文件2.txt编辑
  • 命令行模式下输入:bd 2.txt(或者编号)可以删除以前编辑过的列表中的文件项目
  • 命令行模式下输入:e! 4.txt,新打开文件4.txt,放弃正在编辑的文件
  • 命令行模式下输入:f 显示正在编辑的文件名
  • 命令行模式下输入:f new.txt,改变正在编辑的文件名字为new.txt

恢复文件

vim -r进入文档后,输入:ewcover 1.txt来恢复




1 0