• Ubuntu中的vim相关基础命令


    vim 的使用

    (1)安装

    sudo apt install vim //apt 仅限于 16.04 以后版本的 Ubuntu 使用

    sudo apt-get install vim

    (2)简单介绍

    vim 是 vi 的升级版

    visual interface(虚拟界面)

    文本编辑器,可以执行输出,输入,删除,查找,替换等操作

    可以进行定制,及根据个人使用习惯进行配置

    (3)vi 的模式

    三种基本形式:命令模式,文本输入模式,末行模式

    a. 命令模式

    任何时候,不管用户处于何种模式,按下 Esc 键,即可进入该模式

    可以输入 vim 命令,进入编辑器时,也是处于该模式

    b. 输入模式

    在命令模式下,输入

    插入命令:i

    追加命令:a

    打开命令:o

    修改命令:c

    取代命令:r

    c. 末行模式

    在命令模式中,用户按 : 即可进入该模式

    此时,会在vim显示窗口的最后一行显示一个 : 表示处于末行模式

    等待用户输入操作命令

    (4)vim 的进入和离开

    vim file.c

    vi file.c

    退出 vim:

    在末行模式下:

    :q //退出

    :wq //保存退出

    :qa //全部退出

    :q! //强制退出

    :wqa //全部保存并退出

    文本保存:

    :w //保存文件

    :wa //全部保存

    :w! //强制保存

    (5)其他快捷操作:命令模式

    $:右移到当前行行末

    ^:移动光标至本行的第一个非空字符

    0:数字零,表示左移到本行的开头

    H:将光标移动至屏幕的最上方

    nH:将光标移动至当前屏幕的第 N 行

    (6)替换和删除

    替换:

    rc:用字符c替换光标所指向的字符

    nrc:

    x:删除光标所指向的当前字符

    nx:

    dw:删除光标右侧一个字

    dd: 删除当前行,即光标所在行 ----> 剪切

    ndd:删除 N 行,包括空行 ----> 剪切 N 行

    (7)复制 && 粘贴

    粘贴:

    p:将缓冲区内容粘贴至下一行

    P:上一行

    复制:

    yy:复制当前行内容到缓冲区

    nyy:复制 n 行数据

    (8)文本搜索

    命令模式下,输入 / 作为搜索提示,其后紧跟要搜索的内容

    按回车进行搜索,按 n 查找下一个,N 查找上一个

    /:正向搜索

    ?:反向搜索

    (9)撤销 && 重复

    u:撤销前一条命令的执行结果

    .:重复上一次命令的执行结果

    (10)其他操作:

    末行模式下:

    :r fileName //读取文件内容到当前文件

    :f fileName //将当前文件重命名为 fileName

    (11)打开多个文件

    a. 依次编辑每个文件

    vim file1.c file2.c file3.c

    末行模式下,输入 N 或者 n ,切换文件

    b. 分割窗口打开文件

    vim -o file1.c file2.c file3.c //水平分割

    vim -O file1.c file2.c file3.c //垂直分割

    ctrl + w w 在窗口键切换

    c. 在编辑文件时,分割窗口打开其他文件

    vs 垂直分割

    sp 水平分割

    末行模式下:

    :vs file.c

    :sp file.c

    (12)vim 的简单配置

    家目录下: .vimrc

    cd 回车,到家目录下执行:

    若不存在,则创建:touch .vimrc

    sudo vim .vimrc

    添加以下内容:

    set autoindent

    set cindent

    set tabstop=4

    set softtabstop=4

    set shiftwidth=4

    set smarttab

    set number

    千里之行,始于足下!
  • 相关阅读:
    C# 多态性
    C# FileStream类
    C# File文件类
    加快访问GitHub的速度
    Git-修改.gitignore后使其配置生效的方法总结
    ES6 解构赋值
    avue表单数据请求
    uniapp canvas组件复用
    uniappH5 fly.js Golang 解决跨域问题
    java bug记录
  • 原文地址:https://www.cnblogs.com/MINAIot/p/13041024.html
Copyright © 2020-2023  润新知