vim编辑器基本操作

1 篇文章 0 订阅
1 篇文章 0 订阅

vim基本操作

 

1、复制/粘贴/删除

复制:

yy复制当前行

5yy复制当前行开始的5行

粘贴:

    p粘贴到下一行

    P粘贴到上一行

删除

    D当前光标开始删除到行尾

    dd 删除当前行

    ndd从当前行开始向后删除n行

    d1G删除第1行到当前行的数据

    dnG删除第n行到当前行的数据

    dG删除当前行到最后一行的数据

    x向后删除1个字符

    nx向后删除n个字符

    X向前删除1个字符

daw 删除一个单词(包括词尾空格) : (dw删除光标所在位置到下个字的第一个字母,因此如果我们要用dw删除整个单词,就需要先将光标移动到词首,这样很不方便。使用daw就可以比较方便的做到这一点。这里的aw意为A Word)

diw删除一个单词(不包括词尾空格)::

   

2、搜索

    /str 从光标位置向下搜索str

    ?str 从光标位置向上搜索str

        n 找下一个

        N 找上一个

    * 向下搜索当前光标下的word

# 向上搜索当前光标下的word

3、替换

    :%s/abc/123/g   把abc全部替换成123

    :%s/abc/123/gc  同上,但需要用户一个个确认是否替换

 

4、撤销

    u退回前一个动作

    ctrl+r重复前一个动作

    :e! 文档还原到原始状态

   

5、插入

    i 在光标前插入

    I 在行首插入

    a 在光标后插入

    A 在行末插入

    o 在下一行插入

    O 在上一行插入

    r 输入替换光标位置字符

    R 进入输入替换模式

    - 大小写转换

    Ctrl+p 插入模式下进行单词补齐很有用 ^_^

6、保存和退出

    :w 保存

    :w! 强制保存

    :w fileName 文件另存为fileName

    n1,n2 w fileName 将n1行到n2行数据另存为fileName

    :q 退出

    :q! 强制不保存退出

    :qw! 强制保存退出

    :x 保存并退出

   

7、光标移动

基本移动:

 

    hjkl 左下上右

    w移动到下个单词的词首  b移动到上个单词的词首

    e 移动到下个单词的词尾  ge移动到上个单词的词尾

^ 移动到当前行的第一个非空白字符上

g_ 移动到当前行的最后一个非空白字符上

    0 / <home> 光标到行首  $ / <End>光标到行尾

    gg 光标到文档第一行     G 光标到文档最后一行

    H 跳转到当前屏幕中的首行

    M 跳转到当前屏幕的中间一行

    L 跳转到当前屏幕的尾行

    nG / :n<enter> 光标到第n行

    n<enter> 向下移动n行

    n<space> 向后移动n字符

    pageup /ctrl+b 向上翻页

    pagedown/ ctrl+f向下翻页

 

高级移动:

跳到最后修改的那一行  : '.  很有用 ^_^

跳到最后修改的点   :  `.  (不仅跳到最后修改的那一行,还要定位到修改点)

跳到当前变量在当前文件的定义处: gd  (其实是跳转到当前变量在此文件中第一次出现的地方,不过一般来说,第一次出现的地方也就是变量定义的地方)

在当前位置作标记: ma   (用字母a标记当前光标所在的位置,这里的a可以是任意字母)

跳转到标记a处  :`a   (同样的,这里的a可以是任意字母,只要你用了该字母做标记)

跳转到上一次光标所在处:`` (相当有用,比如看代码时不小心误按了n,光标一下子不知道跳到哪了,就可以输入``迅速回到原来的位置。再比如在看代码时,如果看到了一个不太清楚含义的变量,则可以先键入gd跳到定义处,再键入``回到刚才浏览的地方。)

 

8、块操作

    v 字符选择 光标经过的字符被选中

    V 行选择 光标经过的行被选中

ctrl+v块选择 矩阵方式选中,这时你会看到vim的左下方出现了VISUAL BLOCK 的字样。用j键向下移动,你会发现Vim以高亮为你选择了一条矩形文本块。移动到需要注释代码的最后一行,键入I进入插入模式,这时光标跳回到了文本块的第一行,键入 //,按下<Esc>结束插入,你会发现刚刚选择的文本块的所有行都被加上了//。是不是很爽?

 

    y 复制被选中的数据

    d 删除被选中的数据

   

9、多文件编辑

    vim file1 file2 同时编辑两个文件file1和file2

    :files 列出vim当前打开的文件列表

    :n 编辑下一个文件

    :N 编辑上一个文件

   

10、其他操作

    :set nu 显示行号

    :set nonu 取消行号

    :r fileName 把fileName文件里的内容插入到当前光标所在的位置下

    :!command 暂时离开vim,执行command命令,如::df -h

   

   

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值