zoukankan      html  css  js  c++  java
  • 【linux基础】vim常用操作

    http://www.cnblogs.com/lijia0511/p/5644566.html

    1、在线安装vim:(原文

    sudo apt-get install vim (ubuntu)

    2、vim初始化配置:

      2.1 查看存放位置: 

    命令模式键入
    :version  (查看基本配置路径)
    :echo $VIM(查看具体路径值)
    :echo $HOME(查看具体路径值)
    

      系统版本:/etc/vimrc,是整个系统vim的默认配置;

      用户版本:~/.vimrc,是当前用户的vim配置,会覆盖系统配置, ~/.vimrc有时并不存在,此时用户可以建立一个.vimrc,放入主目录以实现自己的vim配置

    3、vim基础操作  

      3.1 插入:

    i → 在光标前插入
    a → 在光标后插入
    o → 在当前行后插入一个新行
    O → 在当前行前插入一个新行
    cw → 替换从光标所在位置后到一个单词结尾的字符

      3.2 移动光标:

    0 → 数字零,到行头(shift + 0,跳转到最后一行的最后一个字符)
    ^ → 到本行第一个不是blank字符的位置(所谓blank字符就是空格,tab,换行,回车等)(和 _ 有什么区别?)
    $ → 到本行行尾
    g_ → 到本行最后一个不是blank字符的位置。
    /pattern → 搜索 pattern 的字符串(如果搜索出多个匹配,可按n键到下一个)

      3.3 删除/拷贝/粘贴:

    x → 删当前光标所在的一个字符
    dd → 删除当前行,并把删除的行存到剪贴板里
    P → 粘贴(p是表示在当前位置之后,P表示在当前位置之前)
    yy → 拷贝当前行当行于 ddP

      3.4 Undo/Redo: 

    u → undo  撤销上一步的操作
    <C-r> → redo  重做上一步撤销操作
    

      3.5 打开/保存/退出/改变文件(Buffer):

    :e <path/to/file> → 打开一个文件(打开后,当前文件就关闭了?)
    :w → 存盘(w 后可以跟文件名)
    :saveas <path/to/file> → 另存为 <path/to/file>
    :x, ZZ 或 :wq → 保存并退出 (:x 表示仅在需要时保存,ZZ不需要输入冒号并回车)
    :q! → 退出不保存 :qa! 强行退出所有的正在编辑的文件,就算别的文件有更改。
    :bn 和 :bp → 你可以同时打开很多文件,使用这两个命令来切换下一个或上一个文件。(陈皓注:我喜欢使用:n到下一个文件)
    

      3.6 重复命令:

    . → (小数点) 可以重复上一次的命令
    N<command> → 重复某个命令N次
    举例:
    2dd → 删除2行 3p → 粘贴文本3次 10idesu [ESC] → 会写下 “desu desu desu desu desu desu desu desu desu desu “
    . → 重复上一个命令—— 100 “desu “. 3. → 重复 3 次 “desu”

      3.7 光标移动:

    1. NG → 到第 N 行 (注意命令中的G是大写的,还可以使用 : N 到第N行,如 :137 到第137行)
    2. gg → 到第一行。 (相当于1G,或 :1)
    3. G → 到最后一行。
    4. 按单词移动

        w → 到下一个单词的开头。

        e → 到下一个单词的结尾。

          > 如果你认为单词是由默认方式,那么就用小写的e和w。默认上来说,一个单词由字母,数字和下划线组成(例:程序变量)

          > 如果你认为单词是由blank字符分隔符,那么你需要使用大写的E和W。(例:程序语句)

          

      5.匹配移动

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

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

    可视化模式可以分为以下三种

    v: 进入的字符可视化模式(Characterwise visual mode)。文本选择是以字符为单位的。
    V: 进入的行可视化模式(Linewise visual mode)。文本选择是以行为单位的。
    CRTL+v: 进入的块可视化模式(Blockwise visual mode)。可以选择一个矩形内的文本。

    基本指令

    gv: 重复选中前一次可视化模式时选中的文本(对同一段文本反复操作时很方便)
    ESC: 退出可视化模式
    o: 光标移动到选中文本的另一结尾
    O: 光标移动到选中文本的另一角落

    实用例子

    1)Visual Mode下,一样可以进行各种编辑操作~。
    d: 删除高亮显示的文本
    D: 删除一行,即使这一行中只有部分文本是高亮显示的。(y/Y, c/C都类似)
    y: 复制高亮显示的文本
    Y: 命令会复制整行
    c: 将高亮显示的文本删除并进入编辑模式
    C: 删除一行文本并进入编辑状态

    2)高亮显示的文本块,我们可以用命令~进行大小写转换。用命令>增加缩进,或用命令<减少缩进。比如页首增加缩进(指令:ggVG)。

    3)每一行行首加入一个#符号(多行注释太方便了)。gg到开头,CTRL+v进入块选择模式, G,这样就选中了所有的第一列,然后I进入列插入状态,然后输入#,再ESC即可。还有一种在行尾增加字符的类似方式, gg->CTRL+V->$(这一步是跳到行尾的关键)->A(列添加状态,可视化模式下,列的写入都是大写的I,A,C)->输入字符->ESC

    4)V10j,选中10行,然后J合并成一行,同时以空格来分隔各行。如果不希望在行间插入空格,那么可以使用gJ命令

    5)使用g?命令,可以使用rot 13算法来加密高亮显示的文本。针对同一个文本再次执行加密命令,就可以进行文本解密。(其实就是字母转盘,算不上加密)

    6)在可视化模式下,按下:键就可以对选定范围进行操作。例如:我们先在可视化模式下选中文本,然后执行:write block.txt命令,就可以将文本块写入另一文件中。选择多行,然后执行:sort命令,则可以对选中的文本进行排序。

  • 相关阅读:
    Java数组的使用
    Java的栈堆以及数组两种不同类型的定义
    Java数组声明的创建
    JAVA递归
    Java可变参数
    Java方法(类--------对象--------方法)
    html块元素和内联元素的区别
    HTML基础介绍
    CSS网页美化元素属性介绍
    ArrayList类的remove(Object o)方法简述
  • 原文地址:https://www.cnblogs.com/wmjlh/p/7380464.html
Copyright © 2011-2022 走看看