zoukankan      html  css  js  c++  java
  • vi

      以下是自己比较经常使用的vi命令~ 

    i 是光标处编辑模式,I 是光标行首插入

    a 是光标后边追加,A是行尾插入

    o 是下一行编辑模式,O 是上一行编辑模式

    --------------------------------------------------

    快速移动:

    上下左右   hjkl

    行里快速左移,移到左边单词首字母:b    (begin

    行里快速右移,移到右边单词尾字母:e     (end

    翻到下一页  ctrl+f  (front)    翻到上一页 ctrl+b  (back)

    直接跳到某一行   底行模式   :12    (跳到12行)     (vi显示行号  底行模式 :set nu)

    跳到文件第一行 gg

    跳到文件最后一行  G

    -----------------------------------------------------

    删除一个字符  x     多个删除就是2x    3x      nx

    删除一个单词  dw   多个单词删除就是2dw    3dw     ndw

    删除一行    dd   多行就是  2dd   3dd       ndd

    删除该行光标后   d$       删到行首d^

    删除光标下所有行   dG   例如删除文件所有内容,可以gg + dG

    拷贝一个单词  yw    多个单词就是  nyw

    拷贝一行里光标到行首  y^     行尾 y$

    拷贝一行  yy    多行  nyy

     v ,取块,然后hjkl移动光标  选中文字  y进行复制

    粘贴  p

    vi列编辑:

    光标定位在想要编辑的列位置,ctrl+v,进入可视块操作。移动光标,选择操作多少行。然后 shift+i 进入头插入(或者shift+o进入尾插入)模式(此时会在某一行处显示编辑),编辑后,按下ESC。

    稍后,这几个选中的行的列出现了插入的字符。

    如果需要列编辑替换,同样ctrl+v,选中哪些行,然后底行模式,:/s/xx/yy,回车即替换

    如果需要列编辑删除,同样ctrl+v,选中哪些行,然后按x或者d,则删除

    查看vi剪切板的内容

    :reg

    会有"0 或者 "2  这些双引号后边带一个数字的,粘贴的时候就是把对应的数字敲上  "2p

    -----------------------------------------------

    保存    :w

    退出    :q

     强制退出  :q!

    行号  :set nu

    取消行号  :set nonu

    语法高亮  :syntax on

    ---------------------------------------------------

    查找某个单词  如hello

    /hello      字母n是下一个  N上一个 

    --------------------------------------------------

    替换某一行的某个单词 hello-->hi   

    :s/hello/hi     光标所在行 第一个出现的hello替换成hi    该行全部替换需要加g(global)参数

    :n1,n2s/hello/hi/g     n1-n2 行替换      g是全部,否则只替换每行出现的第一个

    :1,$s/hello/hi/g  整个文件 

     ---------------------------------------------------

    撤销上一次操作   u

    取消撤销  ctrl+r

    ---------------------------------------------------

    分屏查看:

    vi多个文件在一个屏幕, vi -O file1 file2      (o是截横屏,O竖屏)

    底行模式   :vsp      v是vertical  sp是split       (vsp垂直分隔;sp是水平分隔)    :sp filename   没有文件名就是自身文件分屏,否则就是和filename分屏

    分屏时切换各个文件   ctrl+w  然后接着  hjkl    (水平分割就是h,l切换   垂直分割就对应j,k切换)

    退出所有     :qall

    ----------------------------------------------------

    vim的常见问题:  更改 vi ~/.vimrc文件

    1. cat一个文件时汉字不是乱码,vi进去后是乱码?

    解决办法:

    set encoding=utf8

    2. vi进去,鼠标拖动文字,不能拷贝?

    set mouse=v

    3. vi保存后,会自动产生备份文件

    set nobackup

  • 相关阅读:
    Linux 操作文件目录
    前端HTML所遇到的报错
    【剑指offer】最小的k个数
    【剑指offer】数组中出现次数超过一半的数字
    【剑指offer】栈的压入、弹出序列
    【剑指offer】二叉树的镜像
    【剑指offer】反转链表
    【剑指offer】数值的整数次方
    【剑指offer】重建二叉树
    【剑指offer】旋转数组的最小数字
  • 原文地址:https://www.cnblogs.com/firstForEver/p/4717372.html
Copyright © 2011-2022 走看看