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. Pytest 多进程并发执行

    在用例执行的过程中,想要用多进程并发执行测试用例,如何实现呢,其实很简单,pytest有对应的模块,安装方式. 安装 pip install pytest-xdist 使用 pytest test_d ...

  2. NX 二次开发,线性移动uf5943

    #include <uf.h> #include <uf_modl.h> #include <uf_part.h> #include <uf_modl_pri ...

  3. python3.7 sorted 自定义排序

    from functools import cmp_to_keyls=['9','23','3','56','78']sorted(ls, key=cmp_to_key(lambda x, y: in ...

  4. OutLook从excel导入联系人

    1.将已有的excel打开-->另存为-->csv格式 2.用记事本打开 .CSV 文件,选择"文件"-"另存为",修改为  ANSI编码后,然后导 ...

  5. mysql设置表名不区分大小写

    1.root登录,修改/etc/my.cnf2.在mysqld下加入:lower_case_table_names=13.重新数据库

  6. IE8兼容的零零碎碎

    css部分 1 nth-of-type选择器 2 span:nth-of-type(1) 3 /*IE8兼容写法*/ 4 span:first-child /*选中第一个*/ 5 span:first ...

  7. python3 文件上传

    1 # 文件上传方法 2 def upload_files(filepath, url, headers, data): 3 filename = filepath.split('\\')[-1] 4 ...

  8. 【Delphi11】「Embarcadero.Delphi.11.0.v28.0.42600.6491.Lite.v17.0分享」

    [Delphi11]转存或下载后将后缀名".exe"删除即可,或者直接右击解压缩也可.「Embarcadero.Delphi.11.0.v28.0.42600.6491.Lite. ...

  9. 2022/7/28 第七组陈美娜 API类

    API:Application Program Interface应用程序接口 JDK给我们提供的一些已经写好的类,可以直接调方法来解决问题 类的方法在宏观上都可以称为接口 接口:1.interfac ...

  10. uni-app微信小程序文本框计数功能

    <view> <textarea placeholder="请输入" @input="sumfontnum" :maxlength=" ...