vi是Linux/Unix底下最常用的文本编辑器。

  

vi 常用命令_休闲 

 

假设有这样一个文本:
The gd software is a library for drafting programs
You are the best is mean you are the no. 1
The world <Happy> is the same with "glad"
I like dog
google is the best tools for search keyword
goooooogle yes
aaswswccsee
 
命令模式常用命令:
       光标定位
– M 移动光标到页面中央 (注意要大写的)
– L移动光标到页面尾处
– H移动光标到页面开始处
 
– Ctrl+f向后翻页 也可以用pageup,和pagedown
– Ctrl+b向前翻页
 
– 0移动光标到行首 也可以用^
– $移动光标到行尾
 
    复制 粘贴 删除
– nyy 复制光标所在的向下n行内容
假设当前光标在第一行,2yy,将复制
 The gd software is a library for drafting programs
You are the best is mean you are the no. 1
 
– p在光标处粘贴复制的内容
将之前复杂的内容粘贴
 
– ndd删除光标所在向下n行的内容
– #x例如3x删除光标处向右的三个字符
– #yw例如:2yw就是复制两个单词
 
    撤销和重复
– u复原前一个动作 (有撤销之意)
– . 重复前一个动作
–  
输入模式常用命令:
       i和I键插入:在目前光标处输入文字,已存在的文字会向后
 
    A和a键:a为从目前光标所在的下个字符处开始插入,A为从光标所在行的最后一个字符开始插入
 
    O和o:在目前光标所在下一行处插入新的一行.O为在目前光标所在处的上一行插入新行
 
    R和r 取代:r会取代光标所在的那个字符:R会一直取代光标所在的文字,直到按下ESC为止
 
末尾模式常用命令:
       退出命令
– :q 退出vi
– :q! 不保存退出
:wq! 保存退出
    搜索字符串
– 输入/+要查找的字符串
如:/like 将在文中搜索有like的词
– 按n键重新查找下一个
 
    复制
在末尾 :a,by将复制a到b行的数据
– 例如:3,5y复制第三行到第五行内容到缓存区
    shell切换
– :!+shell命令 如 !ls –l 在vi中使用ls命令
– :sp +filename 在同一个vi中编辑两个文件
     :set nu显示行号
     :set nonu取消行号
    替换
          :s/old/new用new替换行中首次出现的old
        : s/old/new/g 用new替换行中所有出现的old
        :#,# s/old/new/g用new替换从第#行到第#行中出现的old
       :% s/old/new/g用new替换整篇中出现的old