zoukankan      html  css  js  c++  java
  • vim命令详解

    vi或vim有三种模式,一般指令模式、编辑模式、末行模式

    一般指令模式的指令:

    h或向左方向键  #光标向左移动一个字符

    j或向下方向键  #光标向下移动一个字符

    k或向上方向键   #光标向上移动一个字符

    l(小写L)或向右方向键  #光标向右移动一个字符

    在hjkl前加数字的话,表示向上下移动几列,向左右移动几个字符

    ctrl+f #屏幕向下移动一页

    Ctrl+b #屏幕向上移动一页

    Ctrl+d #屏幕向下移动半页

    ctrl+u  #屏幕向上移动半页

    + #光标移动到非空白字符的下一列

    -  #光标移动到非空白字符的上一列

    n<space> #n是个数字,然后再按空白键,光标会向右移动此列的n个字符。

    0 或功能键[Home]  #移动到此列最前面字符处。

    $或功能键[end]  #移动到这一列的最后面字符处

    H  #光标移动到此屏幕上方那一列的第一个字符

    M  #光标移动到屏幕中央的那一列的第一个字符

    L  #光标移动到屏幕最后一行的第一个字符

    G  #移动到这个文件的最后一列

    nG  #移动到文件的第n列

    gg  #移动到文件第一列

    n<Enter> #n为数字,光标向下移动n列

    搜寻与取代:

    /word    #向光标下边搜寻一个名称为Word的字串。

    ?Word  #向光标上边搜寻一个名称为Word的字串

    n  #重复前一个搜寻的动作

    N  #与n搜寻方向相反

    :n1,n2s/word1/word2/g  #n1与n2为数字,在第n1与n2列之间寻找word1这个字符串并将该字符串取代为word2。

    :1,$s/word1/word2/g   #整个配置文件的word1替换为word2

    :1,$s/word1/word2/gc   #整个配置文件的word1替换为word2并在替换之前询问是否进行替换

    x  #删除后边一个字符

    X  #删除前边一个字符

    nx  #向后删除n个字符

    dd  #删除光标所在的那一列

    ndd  #n为数字,删除光标所在行之后的n行

    d1G  #删除光标所在到第一列的所有数据

    dG #删除光标所在到最后一列的所有数据

    d$ #删除光标所在处,到该列的最后一个字符

    d0    #数字0,删除光标所在处到该行首字符

    yy  #复制光标所在那一行

    nyy  #复制光标所在的向下n列

    y1G #复制光标所在列到第一列的所有数据

    yG  #复制光标所在列到最后一列的所有数据

    y0  #复制光标所在字符到该行行首所有数据

    y$  #复制光标所在字符到此行末尾字符所有数据

    p  #将已复制的数据在光标下一列贴上。

    P #与p相反,将已复制的数据在光标上一列贴上

    J  #将光标所在列于下一列的数据结合成同一列

    c  #重复删除多个数据

    u #复原前一个动作

    ctrl+r  #重复前一个动作

    .    #(小数点)重复前一个动作。

    编辑模式指令:

    i  #从当前游标所在处插入

    I (大写的i) #在当前所在行的第一个非空白字处开始插入

    a  #从当前游标所在字符的后面开始插入

    A #从当前游标所在行的最后一个非空白字符后面插入

    o(小写O)#在当前游标所在的下一行进行插入

    O(大写字母) #在当前游标所在行的上一行进行插入

    r #取代游标所在的那一个字符一次

    R #一直取代游标所在的文字

    [Esc]   #退出编辑模式,进入一般指令模式

    末行模式指令:

    :w  #保存

    :w!  #强制保存

    :q    #退出

    :q!   #强制退出

    :wq #保存退出

    :wq!  #强制保存退出

    ZZ (大写):若档案没有更动,则不存储离开,若档案已经被更动过,则存储后离开

    :w  [filename]  #将编辑的资料存成另一个档案

    :r [filename]   #在编辑的资料中,读入另一个档案的资料,即在将[filename]中的内容添加到当前游标所在字符后面

    :n1,n2 w [filename]  #将第n1行到第n2行内容存储成filename文件

    :! command  #暂时离开vi指令模式下执行command的显示结果,如: ":! ls /home"

    vim环境的变更:

    set nu #显示行号,设定之后,会在每一行的字首显示该行的行号

    set nonu  #与set nu 相反,取消行号

    一般指令模式下:

    v #字符选择,将游标经过的地方进行反白选择

    V #列选择,将游标经过的列进行反白选择

    ctrl+v #区块选择,可用长方形的方式选择资料

    y #将反白的地方复制

    d #将反白的地方删除

    p  #将刚复制的区块,粘贴在游标所在处

    :n   #编辑下一个文件 

    :N  #编辑上一个文件

    :files  #列出目前vim开启的所有档案

    :sp #同一个文件在一个屏幕上分成两个窗口界面

    :sp [filename]  #在同一屏幕下开启新窗口并打开文件

    ctrl+w  j #先按ctrl+w然放开,按j键(或向下方向键),游标进入下方视窗

    ctrl+w k #同上,游标进入上方视窗

    组合键:

    ctrl+x -->ctrl+n  #以当前文件的内容文字作为关键字进行补齐

    ctrl+x -->ctrl+f   #以当前目录内的文件名为关键字,进行补齐

    ctrl+x -->ctrl+o  #以副档名作为语法补充,以vim内建的关键字,进行补齐

  • 相关阅读:
    [leetcode] Palindrome Number
    [leetcode] Find Minimum in Rotated Sorted Array
    [leetcode] Word Search
    [leetcode] Construct Binary Tree from Preorder and Inorder Traversal
    [leetcode] Flatten Binary Tree to Linked List
    [leetcode] Recover Binary Search Tree
    [leetcode] Unique Binary Search Trees II
    [leetcode summary] Dynamic Programming
    [leetcode] Generate Parentheses
    [leetcode summary] Backtracing
  • 原文地址:https://www.cnblogs.com/xinxiao/p/8385277.html
Copyright © 2011-2022 走看看