【原创】VIM常用命令

如有错误请指正 转载请注明来源

i:在光标位置前插入

I(大写i):在当前行行首插入

a:追加,在光标后插入

A:在当前行行尾追加

o:在当前行下另起一行插入

O:在当前行前新起一行插入

yy+n :复制当前行及前n-1行的内容 缺省n为当前行

p:粘贴 前加数字表示粘贴几次

x:删除光标所在处的字符 前加数字表示向后删除几个字符

X:删除光标前的字符 前加数字表示向前删除几个字符

d0:删除光标前一个字符到行首的内容

dw:删除一个单词

dd:删除整行

0.后悔药

  u:撤销操作

1.光标移动

单字符移动

  行内移动

    0:移动到行首

    ^:移动到行首第一个非空字符

    $:移动到行尾

    f :向右跳到下一个相同字符位置,之后按;可以继续跳到再下一个相同字符位置

    F:向左跳到下一个相同字符位置

    A:移动到行位并处于追加状态

    wW:向右跳到下一个词的词首

    eE:移动到最近的单词词尾

    bB:移动到最近的单词词首

  行间移动

    gg: 移动到首行

    G:  移动到末行

    n:移动到n行

    $ :移动到末行

    ctrl+b :向上翻页

    ctrl+ :向下翻页

    ctrl+u :向上翻半页

    ctrl+d :向后翻半页

    H:移动到当前屏幕首行

    M:移动到当前屏幕中间一行

    L:移动到当前屏幕末行

    - :上一行行首

    +:下一行行首

2.窗口操作

  开启新窗口

    ctrl w n

    :new  :新建一个无名窗口

    :new name 新建一个名字叫name的窗口

  水平分割窗口

    ctrl w s

    :sp name   横向分割 在上方新打开一个名字叫name的文件  原本打开的窗口在下方

    :vsp name 垂直分割 在左边新打开一个名字叫name的文件 原本打开的窗口在右边

  窗口切换

    通过ctrl w + j/k/h/l按方向切换窗口

    连续按两次ctrl w轮换切换窗口

3.文本搜索与替换

  替换命令 :[rang]s/src/dest/[flags]

    [rang]:缺省为光标所在行

    .:光标所在行

    1:第一行

    $:末行

    'a :标记a所在行

    .+1:光标所在行的下一行

    $-1:倒数第二行

    22,33:第22到第33行

    %:所有行

    [flags] 缺省为对[rang]范围内的第一个匹配项进行替换

    g:对[rang]范围内的所有匹配项进行替换

    c:在替换前请求用户确认

    e:忽略执行过程中的错误

  替换当前行中的内容 :s/src/dest/

    :s/src/dest/:将当前行中的第一个src替换成dest

    :s/src/dest/g :将当前行中所有的src替换成dest

    :s/src/dest/gc:同上,但是每次替换会请求

    注意:src可以使用正则表达式

  替换某一行的内容 :行号s/src/dest/

    :33s/src/dest/g :将33行中所有的src替换成dest

  替换范围行的内容 :起始,末尾s/src/dest/

    :10,20s/src/dest/g :将10到20行中的src都替换成dest

    :%s/src/dest/g :将当前文档中所有的src替换成dest

    :%s/^#//g:将全文开头的#去除 

4.匹配删除 [rang]g/xxxx/d

  [rang]缺省值为全文档范围

  删除空行 :g/^\s*$/d

  删除带“comment”的行 :g/comment/d

  删除“#”开头的行:g/^#/d

5.列操作

  ①进入列操作模式:ctrl v

  ②光标移动选择区块

  ③针对选择的区块进行操作

    复制 y

    删除 d

    替换 c

    插入 shift i  然后输入要插入的内容

  ④退出列操作模式 连按两次ESC

posted @ 2020-01-19 11:04  IC_See  阅读(152)  评论(0)    收藏  举报