首页 > 代码库 > VI常见用法

VI常见用法

一般模式

  i->编辑模式

  :->命令模式

esc键可从编辑或命令模式返回至一般模式


在一般模式下,
  光标
    移动 :↑↓←→
    翻页 :PageUp / PageDown
    0 :将光标移动到当前行首
    $ :将光标移动到当前行尾
    G :将光标移动到文件末行
    nG:将光标移动到文件的第n行
    gg:将光标移动到文件首行(等价于1G)
  搜索与替换
    ?word :从光标开始,向上查询一个名为word的字符串。可按n,N重复向上,向下查询
    /word :从光标开始,向下查询一个名为word的字符串。可按n,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 : 在一行中,x为向后删除一个字符,X为向前删除一个字符
    dd : 删除光标所在行
    ndd : 从光标所在行开始,向下删除n行
    yy : 复制光标所在的那一行
    nyy : 从光标所在行开始,向下复制n行
    p,P : p为将剪贴板中的数据插入到光标所在行下面,P则为插入到光标所在行上面
    u : 复原前一个操作
    CTRL + r : 重做上一个操作
    小数点‘.‘: 重复前一个动作

在命令模式下,
  :set nu -> 显示行号
  :w -> 将编辑的数据写入硬盘
  :q -> 退出
  :q! -> 强制退出
  上面三条命令可组合使用

附加命令
  块选择
    v :将光标经过的地方反白显示
    V :将光标经过的行反白选择
    ctrl + v :块选择,可以用长方形的方式选择数据
    y :复制反白的地方
    d :将反白的地方删除

  多窗口
    :sp [filename] :打开一个新窗口,如果加filename,表示在新窗口打开一个新文件;否则表示两个窗口为同一个文件内容
    ctrl+w
      j :将光标移动到下方的窗口
      k :将光标移动到上面的窗口

VI常见用法