zoukankan      html  css  js  c++  java
  • 1201.1——Vim编辑器的相关操作

    一 vi的操作模式

    vi提供两种操作模式:输入模式(insert mode)和指令模式(command mode)。在输入模式下,用户可输入文本资料。在指令模式下,可进行删除、修改等各种编辑动作。

    在输入模式下,按Esc键切换到指令模式下。

    在指令模式下,按输入指令(i、a、o等)进入输入模式。

     

    二 进入vi

    $ vi filename

    直接键入“vi + 所要编辑的文件名”,即可对指定的文件进行编辑。

    如果指定的文件为新文件,则提示:“New file”,否则显示该文件的当前内容。

    $ view filename

    以只读方式打开文件filename

     

    三 指令模式

    3.1 进入输入模式

    a 在当前游标之后输入

    A 在当前行之末输入

    i 在当前游标之前输入

    I 在当前行之首输入

    o 在当前行之下新增一行,并在新增行输入

    O 在当前行之上新增一行,并在新增行输入

    输入结束后,按Esc键退出输入模式。

     

    3.2 游标移动

    h 向左移动一个字元

    l 向右移动一个字元

    j 向下移动一个字元

    k 向上移动一个字元

    b 左移一个单词,至词首

    w 右移一个单词,至词尾

    0 移到当前行行首

    $ 移到当前行行尾

    + 移至下一行的行首

    - 移至上一行的行首

    H 移至视窗的第一行

    M 移至视窗的中间一行

    L 移至视窗的最后一行

    G 移至该文件的最后一行

    nG 移至该文档的第n行

    n+ 下移n行

    n- 上移n行

    3.3 视窗移动

     <Ctrl> + f 视窗下卷一页

     <Ctrl> + b 视窗上卷一页

    <Ctrl> + d 视窗下卷半页

    <Ctrl> + u 视窗上卷半页

     <Ctrl> + e 视窗下卷一行

     <Ctrl> + y 视窗上卷一行

    3.4 删除操作

    x 删除游标所在字元

    X 删除游标前一字元

    dw 从游标当前位置开始向后删除一个单词

    db 从游标当前位置开始向前删除一个单词

    d0 从行首删除至当前游标位置

    d$ 从游标当前位置删除至行尾

    dd 删除游标所在行

    D 同d$

    3.5 修改操作

    yy 复制一行到剪贴板

    p    将剪贴板内的字符粘帖到当前行

    s 修改游标所在字元,修改完成后按Esc键结束

    S 修改整行内容,修改完成后按Esc键结束

    r 替换当前游标所在字元

    R 进入替换状态,直至按Esc键结束

    cw 修改一个单词(从游标位置至词尾)

    cb 修改一个单词(从词首至游标位置)

    cc 修改整行内容,完成后按Esc键结束,同S

    c0 修改行首至游标位置的内容

    c$ 修改游标位置至行尾的内容

    ~ 游标所在字元大小写切换

    3.6 指令重复

    在指令模式中,可在指令前面加入一个数字n,则该指令会重复执行n次。常用的重复操作有:

    nx 删除n个字元

    ndd 删除n行

    ns 修改n个字元

    3.7 取消前一动作(Undo)

    u 撤消上一指令的结果

    3.8 查找字符串

    /字符串 从当前游标向后查找该字符串

    ?字符串 从当前游标向前查找该字符串

    n 从当前游标向后查找下一个字符串

    N 从当前游标向前查找下一个字符串

    3.9 查看编辑状况

    <Ctrl> + g 显示正在编辑的文件名、当前游标所在行数、文件总行数、文件是否被修改

     

    四 保存与退出

    :w 保存,但不退出

    :wq 保存并退出

    :x 同:wq

    :q 退出,如果当前文件没有保存,禁止退出

    :q! 不保存退出

    :w file1 将内容保存至文件file1中,注意:此时编辑的仍为原文件

    :w! file1 将内容覆盖保存至文件file1中,如文件file1存在,:w file1将禁止执行

     

    五 环境设置

    :set 显示已设置的环境状况

    :set all 显示所有的环境设置选项

    :set nu 显示行号

    :set nonu 不显示行号

    :set ts = n 设置Tab键的长度为n

    六 执行指令

    以下用具体的数字为例进行介绍,数字表示行数,游标所在行可用“.”代替,文件最后一行可用“$”代替。

    : 10 , 20d 删除第10行至第20行的内容

    :10d 删除第10行的内容

    :%d 删除全部内容

    : 10 , 20co30 将第10行至第20行的内容复制到第30行之后

    : 10 , 20mo30 将第10行至第20行的内容移动到第30行之后

    : 1 , $s/old/new 将第1行至最后一行中的old替换成new

    : 1 , $s/^/new 将第1行至最后一行的内容前面插入new

    : 10 将游标移至第10行

    七 重复指令

    . 重复上一条指令

     

    八 切换到shell状态

    :sh 切换到shell状态,exit返回

  • 相关阅读:
    浅析NetFilter和iptables
    关于skb_header_pointer函数
    Linux kernel 绝对路径之d_path篇
    几个内核函数:filp_open、filp_read、IS_ERR、ERR_PTR、PTR_ERR
    一文读懂数字签名
    Nginx配置文件nginx.conf中文详解(总结)
    nginx 重写 rewrite 基础及实例
    最完美解决Nginx部署ThinkPHP项目的办法
    nginx中的try_files指令解释
    js电话号码正则校验--座机和手机号
  • 原文地址:https://www.cnblogs.com/damonWq/p/5012526.html
Copyright © 2011-2022 走看看