zoukankan      html  css  js  c++  java
  • Vim

    鸟哥链接:http://cn.linux.vbird.org/linux_basic/0310vi_2.php

    u 撤销

    dd 删除当前行并存到剪切板 , 删除从当前行开始的下面n行:ndd

    p 粘贴剪切板

    x 删除当前光标所在的字符

    各种插入(会自动进入插入模式):

    a 在当前光标后插入

    o 换行(在光标所在行下开启一个行)

    O (大写O)换行(在…………     上…………)

    移动光标

    h、j、k、l 分别代表左、下、上、右。前面加数字表示移动多少次,比如20h表示向上移动20次

    n<space> 光标向右移动n个字符

    n<Enter> 向下移动n次

    翻页

    Ctrl + f 相当于Page Donw

    Ctrl + 相当于 Page Up

    0 (数字零)跳到行头

    ^ 到该行第一个不是blank的字符那

    $   到行尾

    g_  到该行最后一个不是blank的字符那

    /pattern 搜索pattern ,按n可以跳到下一个

    Undo/Redo

    u   undo  

    ctrl + r   redo

    复制粘贴

    yy 复制

    p或者P  粘贴  p是粘贴到光标下一行 P是粘贴到前一行 这里试了一下 如果是dd之后p的话 就是前面说的这种情况 如果是x然后p的话就是在光标前后

     

    剪切

    d$ 从光标处剪切到行尾

    选中

    shift+v

    缩进

    <  >分别朝两头缩进

    打开/保存/退出/

    :e <file path> 打开文件 可以e!强制执行 如果当前编辑没保存要打开另一个文件的话

    :w 保存

    :saveas <file path> 另存为

    :x ZZ :wq 保存并退出

    注意:上面这三种的区别

    :x只有在有修改的情况下才会改变写入,更改时间戳,如果没有更改,时间戳是不会变的

    :wq 无论有没有修改都会写入,更改时间戳

    ZZ 不需要进入命令模式,也就是不需要打冒号。若档案没有更动,则不储存离开,若档案已经被更动过,则储存后离开!

    :q! 退出不保存  

    :qa! 强行退出所有的正在编辑的文件,就算别的文件有更改。 

    :bn 和 :bp  你可以同时打开很多文件,使用这两个命令来切换下一个或上一个文件。

    行跳转

    gg 到第一行

    :N 跳转到第N行

    NG 同上 所以gg相当于 1G

    A 到行尾

    G 到最后一行

    H 移动到屏幕最上方的那行的第一个字符

    按单词移动

    w 到下一个单词的开头 e 到下一个单词的结尾

    * 和 #:  匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个)

    % : 匹配括号移动,包括 (, {, [. (需要把光标先移到括号上)

    这些光标的移动很重要

    比方说:0y$ 意味着

    • 0 → 先到行头
    • y → 从这里开始拷贝
    • $ → 拷贝到本行最后一个字符


    多文件操作

    方式一:

    vim file1 file2 能打开两个文件,不过显示的当前的是file1

    :n 转到下一个文件

    :N 转到上一个文件

    :files 列出开启的所有文件

    这样就能实现多个文件之间的利用 nyy 复制 然后p粘贴的功能

    方式二(多窗口):

    比如,打开文件 vim f1,然后再输入 :sp f2 就可以在f1中打开f2,如果只输入:sp ,那么就是打开当前文件,这样方便对照着看,当文件很大的时候。

    通过ctrl + w + 向上(k),ctrl + w + 向下(j)可以切换文件,然后进行复制操作,要退出的话,:q就可以了

    搜索

    /word 向光标之下寻找一个名称为 word 的字符串

    ?word 向光标之上寻找一个字符串名称为 word 的字符串

    n 重复前一个搜索动作,就相当于你在浏览器Ctrl + f 然后不断Enter一样

    N 与n反向

    替换

    :n1,n2s/word1/word2/g n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !举例来说,在 100 到 200 行之间搜寻 vbird 并取代为 VBIRD 则:『:100,200s/vbird/VBIRD/g』

    :1,$s/word1/word2/g 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 

    :1,$s/word1/word2/gc 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代

    代码折叠

    vim 提供 6中折叠方式
              manual           手工定义折叠
              indent             更多的缩进表示更高级别的折叠
              expr                用表达式来定义折叠
              syntax             用语法高亮来定义折叠
              diff                  对没有更改的文本进行折叠
              marker            对文中的标志折叠

    可用选项 'foldmethod' 来设定折叠方式:set fdm=*****。

    indent 对应的折叠代码有:
    zc      折叠
    zC     对所在范围内所有嵌套的折叠点进行折叠
    zo      展开折叠
    zO     对所在范围内所有嵌套的折叠点展开

    [z       到当前打开的折叠的开始处。
    ]z       到当前打开的折叠的末尾处。
    zj       向下移动。到达下一个折叠的开始处。关闭的折叠也被计入。
    zk      向上移动到前一折叠的结束处。关闭的折叠也被计入。

  • 相关阅读:
    8月的list
    hdu 2853
    【问题交流】JAVA 基础 switch 执行顺序的问题
    h5/css动态旋转木马源码
    javascript系列丛书之读后感
    java运行闪退,报错如下,是因为ole32.dll的问题吗?
    js
    切换为文本框编辑状态,点击空白区域保存修改
    前端工程师源码分享:html5 2d 扇子
    2017武汉马拉松4月9日开跑啦~~~
  • 原文地址:https://www.cnblogs.com/i-love-kobe/p/6085344.html
Copyright © 2011-2022 走看看