嵌入式-vim编辑器 gcc编译器

目录

一.vim编辑器

1.1简介

1.2使用说明

1.2.1复制、粘贴与删除

1.2.2保存

二.gcc编译器

2.1基本介绍

2.2编译原理

2.3基本使用


一.vim编辑器

1.1简介

Vim是一款常用的文本编辑器,旨在提供一个高度可定制的编辑环境,适用于各种编程和文本编辑任务。Vim编辑器具有如下特点:

1.模式:Vim拥有多个模式,其中最基本的是命令模式和插入模式。命令模式用于执行编辑命令,如删除、复制、移动等。而插入模式则用于输入文本。

2.键盘快捷键:Vim使用键盘快捷键来执行各种编辑操作。例如,"i"键用于进入插入模式,"dd"命令用于删除当前行,"yy"命令用于复制当前行等。这些快捷键使得编辑更高效。

3.可定制性:Vim非常可定制,用户可以根据自己的需求定制各种功能和快捷键。用户可以通过修改配置文件或使用插件来定制Vim的行为,使其适应个人的工作习惯。

4.扩展性:Vim支持各种插件和脚本,可以通过插件扩展功能。例如,可以安装语法高亮插件、自动补全插件、版本控制插件等来增强Vim的功能。

5.跨平台:Vim是跨平台的编辑器,可以在各种操作系统上运行,包括Windows、Linux、macOS等。这意味着用户可以在不同的操作系统上使用相同的编辑环境。

1.2使用说明

1.2.1复制、粘贴与删除

    在命令模式下(按下ESC后出现),移动光标后使用yy或dd命令复制或剪切一行文本到复制缓存区。再次移动光标后使用p命令粘贴到指定区域。

 复制命令的详细用法如下:

1. 复制整行:
   - 在命令模式下,按下`yy`命令可以复制当前光标所在行的内容。
   - 可以将数字与`yy`命令组合使用,如`2yy`表示复制当前行和下一行的内容。

2. 复制选定的文本块:
   - 在命令模式下,按下`v`进入可视模式,然后使用h、j、k、l键选择要复制的文本块,然后按下`y`命令进行复制。

3. 复制单词:
   - 将光标移动到要复制的单词上。
   - 在命令模式下,按下`yiw`命令可以复制当前光标所在位置的单词。

4. 复制到系统剪贴板:
   - 在命令模式下,按下`"+y`命令可以将内容复制到系统剪贴板。

5. 复制到指定寄存器:
   - 在命令模式下,按下`"xy`命令可以将内容复制到指定的寄存器x,其中x可以是a-z的任意小写字母。

注意:在Vim编辑器中,复制的内容会被保存到寄存器中,可以使用`"xp`命令将寄存器中的内容粘贴到光标当前所在位置的后面。

粘贴命令的详细用法如下:

1. 使用p命令:将剪贴板内容粘贴在当前光标后。光标可以是字符、行或者块的任何位置。例如,在普通模式中,按下p键即可执行粘贴操作。
   - 在普通模式中,光标位于行的末尾或者行间空白时,p命令将会将内容粘贴到当前行的下一行。
   - 在普通模式中,光标位于行的开头时,p命令将会将内容粘贴到当前行的上一行。

2. 使用P命令:将剪贴板内容粘贴在当前光标前。与p命令不同的是,P命令会将内容插入到当前位置之前。
   - 在普通模式中,光标位于行的末尾或者行间空白时,P命令将会将内容粘贴到当前行的上一行。
   - 在普通模式中,光标位于行的开头时,P命令将会将内容粘贴到当前行的下一行。

3. 使用"+p和"+P命令:将剪贴板的内容粘贴到当前光标后或者前。
   - 这种方式使用了系统剪贴板(+寄存器)来执行粘贴操作。
   - 在普通模式中,可以使用"+p执行向后粘贴操作,使用"+P执行向前粘贴操作。

除了这些基本命令,Vim编辑器还提供了其他一些命令和选项来精确控制粘贴操作,如:
1. 使用:put命令,后跟标记名:将与指定标记相关联的文本插入到当前光标后。例如,:put a将在当前光标后将标记a处的内容粘贴进来。
2. 使用:pu[t]命令,后跟寄存器名:将指定寄存器中的内容插入到当前光标后。例如,:put+将剪贴板中的内容粘贴到当前光标后。
3. 使用:set paste命令:打开粘贴模式,禁用自动缩进和其他自动格式化选项,以确保粘贴内容的准确性。
4. 使用:set nopaste命令:关闭粘贴模式,恢复自动缩进和自动格式化选项。
5. 使用:set paste! 命令可切换粘贴模式的开关。 

删除命令的详细用法如下

1. 删除一个字符:使用`x`命令可以删除光标所在处的字符。如果要删除光标前的字符,可以使用`hx`命令;如果要删除光标后的字符,可以使用`lx`命令。

2. 删除一个词:使用`dw`命令可以删除从光标所在位置到下一个空格之间的字符。如果要删除整个词,可以在`dw`前加上数字,例如`2dw`将删除两个词。

3. 删除一行:使用`dd`命令可以删除光标所在的整行。同样,可以在`dd`前加上数字来删除多行,例如`3dd`将删除三行。

4. 删除到行末:使用`D`命令可以删除从光标所在位置到行末的所有字符。

5. 删除到行首:使用`d0`命令可以删除从光标所在位置到行首的所有字符。

6. 删除多行:可以使用`V`命令来选择多行,并使用`d`命令来删除选择的行。

7. 删除选中文本:可以使用可视模式选择文本,然后按下`d`命令来删除选择的文本。

8. 删除到文件末尾:使用`G`命令将光标移到文件末尾,然后使用`dG`命令来删除从当前行到文件末尾的所有内容。

9. 删除指定行:使用冒号命令`:`加上行号可以将光标移动到指定行,然后可以使用`dd`命令来删除该行。

10. 撤销删除:使用`u`命令可以撤销上一次删除操作。如果要撤销多次删除操作,可以多次按下`u`命令。

1.2.2保存

保存命令的使用方法如下:

在 Vim 编辑器中,除了常见的 ":w" 或 ":write" 命令来保存文件之外,还有一些其他的保存命令和选项可以使用。

1. 保存到新文件:
   使用 ":w newfile" 命令,可以将当前编辑的内容保存到一个新文件 "newfile" 中。

2. 强制保存:
   使用 ":w!" 命令,可以强制保存文件,即使文件只读或者 Vim 不确定是否要保存。

3. 保存并退出:
   使用 ":wq" 或 ":x" 命令,可以保存当前编辑的内容并退出 Vim 编辑器。如果文件未修改,这些命令只是退出 Vim,而不进行保存。

4. 另存为:
   使用 ":saveas newfile" 命令,可以将当前编辑的内容另存为一个新文件 "newfile",并且在保存完成后,还会将编辑的文件名更改为 "newfile"。

5. 批量保存:
   如果您有多个打开的文件,可以使用 ":wa" 命令来保存所有文件。这会将所有已修改的文件保存到磁盘上。

6. 自动保存:
   您可以在 Vim 配置文件中添加以下选项来启用自动保存功能:
      ```
      autocmd TextChanged,TextChangedI silent write
      ```

   这会在您对文件做出更改后自动保存文件。请注意,这种自动保存可能会在您不希望保存时导致意外结果,因此谨慎使用。

二.gcc编译器

2.1基本介绍

GCC是GNU项目的编译器组件之一,也是GNU最具有代表性的作品。GCC最早作为GNU C语言编译器(GNU C Compiler),只能处理C语言,但其很快扩展,变得可处理C++,后来又扩展为能够支持更多编程语言,如Fortran、Pascal、Objective-C、Java等。

GCC提供了30多条警告信息和3个警告级别,使用它们有助于增强程序的稳定性和可移植性。GCC还对标准的C/C++语言进行了大量的扩展,提高了程序的执行效率,有助于编译器进行代码优化,能够减轻编程的工作量。

GCC是一个交叉平台的编译器,目前支持几乎所有主流CPU处理器平台,它可以完成从C、C++等源文件向运行在特定cpu硬件上的目标代码的转换。GCC不仅功能非常强大,结构也异常灵活,便携性(protable)与跨平台支持(cross-plantform. support)特性是GCC的显着优点。

2.2编译原理

gcc编译器的编译流程如下:

  1. 预处理:在这个阶段,gcc编译器会将源代码中的宏替换,根据条件编译选择要使用的代码,并将include包含的文件插入到源文件中,经过预处理后输出.i文件。
  2. 编译:在这个阶段,gcc编译器将预处理后的.i文件编译成为汇编语言,生成.s文件。
  3. 汇编:在这个阶段,gcc编译器将汇编代码翻译为一定格式的机器代码,生成.o文件(OBJ文件)。
  4. 链接:在这个阶段,gcc编译器将生成的OBJ文件、库文件等链接起来形成可执行文件。

2.3基本使用

GCC编译器的使用方法如下1:

  1. 预处理:对 .c 源文件进行预处理,生成 .i 文件。使用参数为-E。
  2. 编译:对 .i 文件进行编译,生成 .s 汇编文件。使用参数为-S。
  3. 汇编:对 .s 文件进行汇编,生成 .o 目标文件。不使用参数。
  4. 链接:对 .o 文件进行链接,生成可执行文件。不使用参数。

GCC编译器的基本命令格式为:gcc [-c|-S|-E] [-std=standard] [-Idir] [-Ldir] [-o outfile] infile...。其中infile是所有的输入文件,例如源文件、目标文件、库文件等。

你可能感兴趣的:(单片机,编辑器,vim,linux)