vim 跳转命令

基本跳转:

hjkl:左下上右

HML:当前屏幕顶、中、底部

web:下一单词词首、下一单词词尾、前一单词词首

gg:文件首  G:文件末尾  ngg/nG:第n行

ta:移动到所在行之后第一个字符a前一字符

fa:移动到所在行之后第一个字符a处

Ta:移动到所在行之前最后一个字符a的后一个字符

Fa:移动到所在行之前最后一个字符a处

ctrl+F:下一页

ctrl+B:上一页

ctrl+D:下半页

ctrl+U:上半页

ctrl+E:下一行

ctrl+Y:上一行

^$0:行首、行尾、第一个字符

dt定位符:一直删除到该行的定位符处

ctrl+i:跳转到前面第x词光标所在位置

gg=G:重新缩进

shift+v行选模式:

i { :选中光标所在中括号之间所有内容,不包括中括号

a { :选中光标所在中括号之间所有内容,包括中括号

ib / i(:选中光标所在小括号之间所有内容,不包括小括号

ab / a(:选中光标所在小括号之间所有内容,包括小括号

v模式:

i {、(、<、[

i w:选中一个单词

i s:选中一个句子

i p:选中一个段落

文件跳转:

如果vim打开了多个文件,可以通过

:n 跳转到后一个文件

:n filename 跳转到filename

:prev 跳转到后一个文件

:first 跳转到第一个文件

:last 跳转到最后一个文件

:e anotherFile 新增一个编辑文件 :e#返回之前的文件

:bN 跳转到打开的第N个文件

多窗口:

1)横向切割窗口

  :new name (保存口name为文件名)

  :split name (sp name)

  :[n] split(vsplit)  [++opt]  [+cmd]  [file]

    opt:vim命令选项  

    cmd:欲在新窗口中执行的命令

    file:新窗口打开的文件

2)纵向切割窗口

  :vsplit name (vsp name)

3)关闭多窗口

  :q! 、 :close(暂时关闭窗口,其内容还存在缓存中)

  :tabc 关闭当前窗口

  :tabo 关闭所有窗口

4)窗口切换

  ctrl + w + k/j/h/l 上下左右切换窗口

  ctrl + w + w 依次切换窗口

  ctrl + w + t:移动到最左上角的窗口

  ctrl + w + b:移动到最右下角的窗口

  ctrl + w + p:移动到前一个访问的窗口

5)窗口大小调整

  ctrl + w + “+” 窗口纵向扩大

  ctrl + w + "-" 窗口纵向缩小

  :resize num (:res num)窗口显示num行

  :resize +num (:res +num)窗口高度增加num行

  :resize -num (:res -num)窗口高度减少num行

  纵向调整:在resize前加vertical

6)窗口重命名

  :f new_name

7)文件浏览

  :Ex 开启目录浏览器

  :Sex 水平切割窗口,并开启目录浏览器

8)vi与shell切换

  :shell 不关闭vi的情况下切换到shell命令行

  :exit 从shell回到vi

9)移动窗口

  ctrl + w + r:向右或向下交换窗口位置

  ctrl + w + R:向左或向上交换窗口位置

查找与替换

  :s/str1/str2/ 将该行第一个str1替换为str2

  :s/str1/str2/g 将该行所有str1替换为str2

  :n,$s/str1/str2 将第n行到最后一行,每一行的第一个str1替换为str2  n换成.表示从当前行到最后一行

  :n,$s/str1/str2/g  将第n行到最后一行,每一行的所有str1替换为str2  n换成.表示从当前行到最后一行

  :%s/str1/str2 将每一行的第一个str1替换为str2

  :%s/str1/str2/g 将每一行的所有str1替换为str2

  如果替换字符中存在/可以用#作为替换命令分割符

  

续:http://www.2cto.com/os/201309/242189.html

原文地址:https://www.cnblogs.com/buptlyn/p/4550042.html