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. 关于JavaScript的一些用法

    关于JavaScript的死链设置问题<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> ...

  2. c# HttpServer 的使用

    在很多的时候,我们写的应用程序需要提供一个信息说明或者告示功能,希望借助于HttpServer来发布一个简单的网站功能,但是又不想架一个臃肿的Http服务器功能, 这时候,标准框架提供的HttpSer ...

  3. continue的使用

    continue是终止本次循环,进行下一个循环如果要跳到最开始的循环abc : for(){ for(){ for(){ continue abc; } }}

  4. .netcore 以widnows服务方式运行

    应用需要 Microsoft.AspNetCore.Hosting.WindowsServices 的包引用. 生成主机时会调用 IHostBuilder.UseWindowsService. 若应用 ...

  5. php后端遇到的问题

    1.用文件记录日志,会有并发问题

  6. iOS 为 textView 添加 placeholder

    OC : //自定义一个 placeholder 样式的 label UILabel *placeholder = [UILabel new]; placeholder.text = @"请 ...

  7. c++学习1 基础关键词

    一 "const" 修饰变量 只能被初始化和读取,不能被赋值更改,且必需初始化,不初始化的话会因为读取到随机数而报错. example: const int date=100; c ...

  8. Python 错误:ModuleNotFoundError: No module named 'conf'

    问题描述: 编译器无法使用cmd命令来执行py文件,结果可能报ModuleNotFoundError的错误. 比如在cmd任务栏执行:python E:\myProgram\Python\spider ...

  9. 小梅哥课程学习——串口发送应用之发送数据(适用于板级验证,时间间隔位100ms)

    //此代码的注意事项,首先这个代码不能仿真成功会出现一定的时间延迟, //因为在做板级验证的时候把时间改成了100ms发送一次,要想仿真成功,把时间改成499999 //使用上一节课设计的发送模块,设 ...

  10. 使用idea从零编写SpringCloud项目-zuul

    带着问题学习是最好的,什么是网关?使用网关的好处是什么?怎么使用网关 网关:是系统对外的唯一入口,是介于客户端和服务端的中间层,处理非业务功能,提供路由的请求,鉴权,监控,缓存,限流等 网关的好处:可 ...