vim文本编辑器:
    可以直接在终端下采用纯键盘操作的一款文本编辑器,号称编辑器之神,可以二次升级、可以扩展
    基础用法:
        1、进入vim:
            输入 vim file.c 文件存在则打开,否则新建并打开
        2、输入i:
            进入编辑模式,编写代码
        3、保存退出:
            按Esc键,输入ZZ保存并退出
   
    vim的三大模式:
        正常模式:(打开文件时的默认模式)
            一般用于阅读文件,或者用于快捷键对文本快速修改
        编辑模式:
            一般用于输入内容、编辑文件
        行底模式:
            一般用于对vim的临时配置、或者执行一些高级操作
   
    模式之间的切换:
        正常  输入i ->  插入
        插入  按Esc ->  正常
        正常  输入: ->  行底
        行底  按Esc ->  正常
   
    正常模式下的常用操作:
        光标移动:
            h左 j下 k上 l右
            gg      光标跳转到第一行
            G       光标跳转到最后一行
            n加回车  光标向下跳转n行
            n-      光标向上跳转n行
            nG      直接跳转到第n行
            vim file.c +n   从第n行进入文件
        删除操作:
            dd  删除光标所在的一行代码
            ndd 删除n行
            x    删除一个字符
            nx   删除n个字符
            dw/de 删除一个连续的字符串(是否删空格)
            d^  从当前光标删除到行首
            d$  从当前光标删除到行尾
            dgg 从当前光标删除到第一行
            dG  从当前光标删除到最后一行
        复制代码:
            yy  复制一行代码
            nyy 复制n行代码
            p   粘贴到当前光标的下一行
            P   粘贴到当前光标的上方
        移动代码:
            删除的内容还存储在粘贴板上,使用p\P可以粘贴出来,从而达到移动代码的效果
            xp  交换两个字符
        替换代码:
            r   替换光标所在的一个字符
            cw  替换一个连续字符串
            R   进入替换模式
                (insert键切换替换和插入模式)
        撤销操作:
            u   撤销上一次操作
            Ctrl+r  取消上次的撤销操作
   
    进入插入模式的方式:
        i   在当前光标前面进入插入模式
        I   光标跳转到当前行首,进入插入模式
        a   在当前光标后面进入插入模式
        A   光标跳转到当前行尾,进入插入模式
        o   在当前行的下面插入一行空白行,进入插入模式
        O   在当前行的上面插入一行空白行,进入插入模式
    插入模式下的操作:
        Ctrl+p/n  自动补全,变量名\函数名\宏
        Ctrl+i     相当于Tab键
        Ctrl+j     相当于回车键
        Ctrl+c     相当于Esc键
        vim自定义功能:
        Ctrl+z     保存并退出
        Ctrl+x     保存并编译并运行
        Ctrl+p(正常) 自动添加头文件和main函数
   
    行底模式下的操作:
        :w  写入
        :q  退出
        :q! 强制退出
        :wq 保存退出
        :x  保存退出
        :X  加密码  
            :set key=(空格) 删除密码
            注意:必须:wq 才能生效
        :!cmd   在vim中执行cmd系统命令 !ls
        :/key   查找关键字key,n下一个,N上一个
        :%s/old/new 把old关键词替换为new
        :set nu     显示行号
        :set nonu   取消行号
        :>n    n行代码向右缩进一次
        :<n    n行代码向左缩进一次
        注意:在行底模式下对vim进行配置只能是临时有效,关闭后会失效,如果想长期有效需要对vim的配置文件(~/.vimrc)进行设置
   
    如何配置vim:
        1、vim ~/.vimrc 打开配置文件
        2、写完后,回到正常模式,ZZ退出
        3、下次打开vim就生效了
   
    学习使用vim的建议:
    1、大概两周的适应时间
    2、一招鲜吃遍天
    3、教程vimtutor

Linux & 标准C语言学习 <DAY2>的更多相关文章

  1. Unix和Linux下C语言学习指南

    转自:http://www.linuxdiyf.com/viewarticle.php?id=174074 Unix和Linux下C语言学习指南 引言 尽管 C 语言问世已近 30 年,但它的魅力仍未 ...

  2. linux 下C语言学习路线

    UNIX/Linux下C语言的学习路线.一.工具篇“公欲善其事,必先利其器”.编程是一门实践性很强的工作,在你以后的学习或工作中,你将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工 ...

  3. UNIX/Linux下C语言的学习路线

    一.工具篇 “公欲善其事,必先利其器”.编程是一门实践性很强的工作,在你以后的学习或工作中,你将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工具. 1.操作系统    在UNIX或 ...

  4. C语言学习008:标准错误

    在上一节中的数据文件中(C语言学习007:重定向标准输入和输出),如果文件中的数据包含非法数据,如何让程序显示一条错误的提示消息呢?就需要用到标准错误 #include <stdio.h> ...

  5. Linux下C语言编程基础学习记录

    VIM的基本使用  LINUX下C语言编程 用gcc命令编译运行C语言文件 预处理阶段:将*.c文件转化为*.i预处理过的C程序. 编译阶段:将*.i文件编译为汇编代码*.s文件. 汇编阶段:将*.s ...

  6. 实验四 Linux系统C语言开发环境学习

    项目 内容 这个作业属于哪个课程 Linux系统与应用 这个作业的要求在哪里 作业要求链接 学号-姓名 17041428-朱槐健 作业学习目标 1.Linux系统下C语言开发环境搭建 2.学习Linu ...

  7. 【C语言学习】《C Primer Plus》第1章 概览

    学习总结 1.C语言于1972年由贝尔实验室的Dennis Ritchie在与Ken Thompson一起设计UNIX操作系统的时候开发的.的的设计构想来源于Ken Thompson的B语言.Anyw ...

  8. LINUX下C语言编程基础

    实验二 Linux下C语言编程基础 一.实验目的 1. 熟悉Linux系统下的开发环境 2. 熟悉vi的基本操作 3. 熟悉gcc编译器的基本原理 4. 熟练使用gcc编译器的常用选项 5 .熟练使用 ...

  9. 郝斌老师C语言学习笔记(一)

    在给变量分配内存时,很可能这段内存存在以前其他程序使用留下的值.当使用VC编译器,若编译器发现没有给变量赋值而使用,就会返回一个以“85”开头的很大的数字(此时该段内存中为一个垃圾数,为了避免出现较常 ...

  10. 【转】朱兆祺教你如何攻破C语言学习、笔试与机试的难点(连载)

    原文网址:http://bbs.elecfans.com/jishu_354666_1_1.html 再过1个月又是一年应届毕业生应聘的高峰期了,为了方便应届毕业生应聘,笔者将大学四年C语言知识及去年 ...

随机推荐

  1. 部署及配置Mycat数据库中间件

    Mycat关键特性关键特性支持SQL92标准支持MySQL.Oracle.DB2.SQL Server.PostgreSQL等DB的常见SQL语法遵守Mysql原生协议,跨语言,跨平台,跨数据库的通用 ...

  2. 【Java】zuul

    报错 com.netflix.zuul.exception.ZuulException: Hystrix Readed time out 解决办法,zuul模块的yml配置文件增加 ribbon: C ...

  3. usbip:(一)初识

    USB/IP 总结   一.概要: USB/IP项目的目标是为用户提供通过网络远程访问usb设备的能力.在用户看来,访问usb设备和访问插入到本地电脑的设备没什么区别,该项目是开源的,可以用过适当的配 ...

  4. Appium自动化测试之键盘操作pressKeyCode()方法(Android特有)

    电话键 KEYCODE_CALL 拨号键 5 KEYCODE_ENDCALL 挂机键 6 KEYCODE_HOME 按键Home 3 KEYCODE_MENU 菜单键 82 KEYCODE_BACK ...

  5. Coursera Programming Languages, Part C 华盛顿大学 Week 2

    week 2 我们采用一种新的视角来对比 FP 与 OOP,即将问题分解 (decompose) 与实现 (implement) 的方式 OOP Versus Functional Decomposi ...

  6. FFmpeg 摄像头采集

    FFmpeg 摄像头采集 extern "C" { #include "libavcodec/avcodec.h" #include "libavfo ...

  7. DER编码

    1. Attribute Type编码 ​ 对于标识串,采用低标识编码方式,只需1个字节.OBJECT IDENTIFIER的 tag为Ox06;class选择universal,则位8和位7为0,O ...

  8. C#——》Web Api 操作MySQL数据库公共类:MySql.Data

    使用MySql.Data 连接mysql 数据库,需先引用MySql.Data ,用过MySql.Data.dll操作Mysql数据库. 1,在工具-Nuget包管理器-管理解决方案的Nuget程序包 ...

  9. [api自动化]快速导出接口到jmeter脚本

    [场景]在项目做接口自动化的时候,大家一般找接口文档或者其他接口资料,逐一编写脚本.这样效率低,且容易由于文档未更新导致接口调试不通 [解决方案]页面上操作对应功能,直接捕获用到的接口,导出到jmet ...

  10. 根据id 删除树结构中的数据

    根据id 删除树结构中的数据  filterHandle(data, id) {                         var newData = data.filter(x => x ...