Vim的常用操作

@

1. Vim使用

1.1. Vim的模式

  • 正常模式:可以使用快捷键命令
  • 插入模式:可以输入文本,在正常模式下aio都可以进入插入模式
  • 可视模式:正常模式下按v进入,按V进入可视行模式,按control+v进入可视块模式
  • 替换模式:正常模式下按R进入

1.1.1. Vim的启动

  • vim -c cmd file:打开文件前先执行指定的命令
  • vim -r file: 恢复上次异常退出的文件
  • vim -R file 以只读方式打开文件,但可以强制保存
  • vim -M file: 以只读方式打开文件,不可以强制保存
  • vim -y num file: 将编辑窗口的大小设置为num行
  • vim + file: 从文件的末尾开始
  • vim +num file: 从第num行开始
  • vim +/string file: 打开file并将光标停留在第一个找到的string上
  • vim -remote file:用已有的vim进程打开指定的文件.如果你用vim,会寻找名叫VIM的服务器,如果已经有一个gvim在运行,则可以使用gvim -remote file

1.2. 文档操作

  • :e file:关闭当前编辑的文件,并开启新的文件,如果修改未保存,vi会警告
  • : e! file: 放弃对当前文件的修改,编辑新的文件
  • : e+file: 开始一个新的文件,追加模式
  • : e+n file: 开启一个新的file,并从第n行开始
  • : enew: 编译一个未命名的新文档
  • :e#: 回到刚才编辑的地方
  • :f filename:改变编辑的文件名,相当于另存为
  • :f 或者 ctrl + g : 显示文档名,是否修改和文件位置
  • :wq ZZ:x:保存并退出
  • :q: 退出当前窗口
  • :saves newFileName: 另存为

1.3. 基本移动

  • h 或者Backspace:左移一个字符
  • l 或者空格:右移一个字符
  • j:下移一行
  • k:上移一行
  • gg :到文件头部
  • Gn:移动到第n行
  • 0:移动到行首

1.3.1. 翻屏

  • ctrl+f:下翻一屏
  • ctrl + b:上翻一屏
  • ctrl + u:up 上翻半屏
  • ctrl + d: down 下翻半屏
  • %n: 移动文件到百分n的地方
  • zz:当前行移动到屏幕中央
  • zt: zone top 当前行移动到屏幕顶部
  • zb: zone bottom 当前行移动到屏幕底端

1.3.2. 标记

  • m{a-z}:标记光标所在位置,局部标记
  • m{A-Z}:全局标记
  • ` + {a-z}:移动到标记位置
  • ctrl + o:上次标记的位置
  • ctrl + i:

1.4. 插入文本

  • i:在光标前插入
  • I 在当前行第一个非空字符前插入
  • a 在光标后插入
  • A:在行尾插入
  • o:下面新建一行插入
  • O:上面新建一行插入

1.5. 剪切和复制

  • [n]x:剪切光标右边n个字符,相当于d[n]
  • [n]X:剪切光标左边n个字符,相当于d[n]h
  • y:复制选中的文本
  • yy 或者 Y :复制整行文本
  • y[n]w:复制n个词
  • D:删除当前位置到行尾的内容
  • d0:删除到行首
  • [n]dd:删除n行
  • dG:剪切光标以下所有
  • dgg:剪切光标以上所有
  • :m,nd:剪切m-n行的内容
  • p:在光标之前粘贴
  • P:在光标之后粘贴

1.6. 查找与替换

1.6.1. 查找

  • /something:在后面的文本中查找somet
  • ?someth:在前忙的文本中查找something
  • /pattern/+number:将光标停在包含pattern的后面number行上
  • n:下一个
  • N:上一个

1.6.2. 替换

  • :s/old/new:用new替换当前行第一个old
  • :s/old/new/g:用new替换当前行所有的old
  • :%s/old/new/g:用new替换全部文本
  • m,n s/old/new:替换指定行的old

1.7. 窗口分割

1.7.1. shell中打开

  • vim -O[n] [file1][file2]:
    • O:垂直分割
    • -o:水平分割
    • n:表示分屏个数,可以缺省不写

1.7.2. 在vim中打开分屏

  • :new:新建空白分屏
  • sp[lit] file:水平打开文件
  • vs[plite]:垂直打开文件
  • :only:只保留当前分屏
  • :q: 退出分屏

1.7.3. 分屏操作

  • ctrl w +: 扩大窗口
  • ctrl w - :缩小窗口
posted @ 2021-03-31 17:08  Venking-  阅读(374)  评论(0)    收藏  举报