这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » 电鱼电子--浅谈vi 的基本使用

共3条 1/1 1 跳转至

电鱼电子--浅谈vi 的基本使用

菜鸟
2019-10-31 10:34:43     打赏

vi 的基本使用

vi,Unix&Linux下最基本的编辑器,功能强大使用简单,是用户的必备利器。

 

模式:

 

1. 命令模式(默认,通过命令对文件内容进行编辑)

 

    vi //在当前目录创建空文件

 

    vi filename //打开指定文件

 

    vi -o|O f1 f2 //打开多个文件,o|O表示水平|垂直分隔

 

    通过vi打开文件后自动进入命令模式,此模式下所有输入都是命令

 

2. 插入模式(像windows中的普通编辑器一样使用)

 

    命令模式下按iaoIAO任一键进入插入模式,esc回到命令模式

 

    i在光标前插入文本

 

    I在光标所在行前插入

 

    a在光标后插入文本

 

    A在光标所在行未插入

 

    o在光标所在行下插入新行

 

    O在光标所在行上插入新行

 

3. 编辑模式(通过命令对文件或文件内容进行编辑)

 

    命令模式下按“:”进入编辑模式,esc或enter执行操作后回到命令模式

 

4. 视图模式(属于命令模式)

 

    vV进入视图模式,执行字符选中

 

    例:按"H"或"L"移动光标选中字符,通过yd进行复制剪切

 

常用命令

 

    【定位命令】

 

    hjkl:光标[左下上右]移动,同方向键

 

    0:移至行首

 

    ^:非空白行头

 

    $:移至行尾

 

    Enter:移至下行首

 

    H:移至屏幕上端

 

    M:移至屏幕中央

 

    L:移至屏幕下端

 

    C-F:下一页(C-F表示Ctrl+Shift+F)

 

    C-B:上一页

 

    gg:移至第一行

 

    G:移至文件末尾

 

    [n]G:移至文件第n行

 

    :n移至文件第n行

 

    

 

    【删除命令】

 

    x:删除光标处字符

 

    nx:光标所在处后n个字符

 

    X:删除光标前字符

 

    dd:剪切光标所在行

 

    ndd:剪切当前行以下n行

 

    dG:删除光标所在行到文件末尾

 

    D:删除光标所在处到行尾

 

    :n1,n2d 删除n1行到n2行之间的内容

 

    

 

    【复制&粘贴】

 

    yy/Y:复制当前行

 

    nyy,nY:复制当前行下边的n行

 

    nyh,nyl:复制光标前/后的n个字符

 

    p,P:将已经选择复制或被删除的行粘贴到当前行下或行上

 

    

 

    【搜索&替换】

 

    r:取代光标所在处字符

 

    R:从光标所在处开始替换字符,至到按esc结束

 

    s:替换(删除)光标所在处字符,并进入文本输入方式

 

    S:替换(删除)光标所在行,按esc结束

 

    :/string    //从上向下搜索字符串

 

    :?string    //从下向上搜索字符串

 

    通过按键n移到下一个结果:

 

    n //时向下,?时向上搜索

 

    N //时向上,?时向下搜索

 

    :%s/old/new/g    //把所有old替换为new,g不会询问,c会询问虽否替换

 

    :%s/old//g    //把所有old删除

 

    :n1,n2s/old/new/g    //在一定范围内替换指定字符串

 

    例:连续行注释

 

    :n1,n2s/^/#/g     //^表示行首

 

    :n1,n2s/^/#//g    //将行首'#'替换为空,即删除

 

    :n1,n2s/^////g    //转义符,使用"//"注释

 

    替换:ab asmmail samlee@lampbrother.net//输入a时回车或空格,vi自动换成b

 

    unab//取消

 

    

 

    【撤消】

 

    u:撤消上一步操作(最多可撤消到文件打开时)。

 

    U:撤消当前行的所有操作。

 

    ctrl+r:取消撤消

 

    

 

    【保存退出】

 

    :w保存

 

    :w newfilename另存为

 

    :w!强制保存    //!只针对文件所有者和管理员

 

    :wq保存&退出    //快捷键ZZ

 

    :q退出

 

    :q!强制退出

 

    :wq!强制保存&退出

 

    :x保存退出

 

    :x!强制保存&退出

 

    

 

    【其它】

 

    :set nu/number    //设置行号

 

    :set nonu    //取消行号

 

    :set ic    //区分大小写

 

    :set noic    //取消区分大小写

 

    :vsp    //垂直分窗

 

    :sp    //水平分窗

 

    C-W p/w    //切换到上/下一个窗口

 

    :r filename把指定文件内容导入进来(光标所在位置)。

 

    :! cmd运行cmd命令

 

    :r !date将命令结果导入到文件中

 

    :map 快捷键 触发命令

 

    map ^P I#<ESC>    //使用ctrl+p注释本行(使用ctrl+v+[p]输入"^[P]")

 

    map ^B 0x    //取消注释

 

    unmap

 

vi配置:

 

通过vi配置文件设置vi默认环境。

 

例:设置vi默认显示行号

 

cd ~    //回到当前账户家目录下

 

vi .vimrc    //vi配置文件,默认不存在,家目录中,针对当前用户

 

i//进入编辑模式

 

set nu

 

map ^P I#<ESC>

 

……

 

:wq





关键词: 电鱼     电子    

工程师
2019-11-01 22:13:55     打赏
2楼

我个人不太喜欢VI,因为需要记住多命令。。。 

我喜欢visual studio 那种IDE


工程师
2019-11-01 22:19:45     打赏
3楼

VI 有些OUT了! 试试VIM吧!

Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]