0
点赞
收藏
分享

微信扫一扫

某企业网络及服务器规划与设计

幸甚至哉歌以咏志 2024-07-24 阅读 22

文章目录


在这里插入图片描述

vim

命令模式

在 Vim 中,有三个主要的模式:命令模式、插入模式和可视模式。命令模式是默认的模式,用于执行命令和移动光标。
具体命令:
移动光标操作:

删除文字:

复制:

替换:

撤销上一次操作:

更改:

跳至指定的行:

插入模式

进入插入模式的方式有三种:

底行模式

列出行号:

跳到文件中的某一行:

查找字符:

保存文件:

离开vim:

离开vim还有一种方法:shift+zz可以直接退出vim

在底行模式中还可以进行多文件编译:
vs+文件名可以打开多个文件:
在这里插入图片描述
进入之后可以对左右两个文件进行编译,如果还有其他文件还可以加进来。
如何判断我们当期在对哪个文件进行编译呢?光标所在处就是我们编译的文件
如何切换编译的文件呢?shift+ww

vim配置

在vim中,配置文件通常是.vimrc文件,位于用户的主目录中。你可以通过在命令行中输入以下命令来编辑这个文件:

vim ~/.vimrc

下面是一些常见的 vim 配置选项和命令,可以添加到 .vimrc 文件中以定制你的 vim 编辑器体验:

基本配置

" 显示行号
set number

" 启用语法高亮
syntax on

" 设置缩进
set tabstop=4       " 制表符宽度
set shiftwidth=4    " 自动缩进宽度
set expandtab       " 将制表符转换为空格

" 启用智能缩进
set smartindent

" 启用行号相对显示
set relativenumber

" 显示匹配的括号
set showmatch

" 启用行高亮
set cursorline

" 启用搜索高亮
set hlsearch

" 启用增量搜索
set incsearch

" 忽略搜索大小写
set ignorecase
set smartcase

" 启用鼠标
set mouse=a

" 设置显示的命令行高度
set cmdheight=2

" 禁用备份文件
set nobackup
set noswapfile

" 启用持久撤销
set undofile

" 设置剪切板共享
set clipboard=unnamedplus

外观配置

" 设置配色方案
colorscheme desert

" 显示状态栏
set laststatus=2

" 启用自动换行
set wrap

" 设置滚动偏移
set scrolloff=8

" 启用折叠
set foldmethod=syntax
set foldlevel=99

键映射

" 将jj映射为退出插入模式
inoremap jj <Esc>

" 快速保存
nnoremap <C-s> :w<CR>
inoremap <C-s> <Esc>:w<CR>a

" 快速退出
nnoremap <C-q> :q<CR>
inoremap <C-q> <Esc>:q<CR>

插件管理

如果你使用vim-plug作为插件管理器,可以在.vimrc中添加以下内容来管理插件:

  1. 安装vim-plug:
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  1. 在.vimrc中添加插件配置:
" 初始化插件管理器
call plug#begin('~/.vim/plugged')

" 示例插件
Plug 'preservim/nerdtree'     " 文件浏览器
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } " 模糊查找
Plug 'tpope/vim-fugitive'     " Git 集成
Plug 'airblade/vim-gitgutter' " Git 差异显示
Plug 'dense-analysis/ale'     " 语法检查
Plug 'vim-airline/vim-airline' " 状态栏美化
Plug 'vim-airline/vim-airline-themes' " 状态栏配色方案

" 结束插件管理器
call plug#end()

  1. 重新启动vim,然后运行:PlugInstall来安装插件。
" 自动读取外部修改的文件
set autoread

" 设置文件编码
set encoding=utf-8

" 启用自动补全
set completeopt=menuone,noinsert,noselect

" 启用命令补全
set wildmenu

" 设置分屏
set splitbelow
set splitright

这些配置可以根据你的需求进行调整和扩展。保存 .vimrc 文件后,重新启动 vim 或执行 :source ~/.vimrc 以应用更改。

Linux编译器gcc

首先我们先对C语言的这几个生成可执行程序的这几个过程进行了解:
在这里插入图片描述

  1. 预处理
    在这里插入图片描述
    可以看见,生成了一个.i的文件:
    在这里插入图片描述
  2. 编译
    在这里插入图片描述
    可以看见,生成了一个.s的文件:
    在这里插入图片描述
  3. 汇编(将汇编语言转换成机器码)
    在这里插入图片描述
    形成:
    在这里插入图片描述
  4. 连接
    在这里插入图片描述
    形成:
    在这里插入图片描述
    这就是我们的可执行程序:
    在这里插入图片描述
    可以看见是可以运行的。

函数库

函数库分为静态和动态函数库。
概念:一组预先编写的函数和程序模块的集合,用于提供特定的功能或服务,从而简化开发过程。函数库通过封装常见的操作和功能,使得开发者能够重用已有的代码,减少重复劳动,提高开发效率。

在Linux中:系统把这些函数实现都被做到名为 libc.so.6 的库文件中去了,在没有特别指定时,gcc 会到系统默认的搜索路径“/usr/lib”下进行查找,也就是链接到 libc.so.6 库函数中去,这样就能实现函数“printf”了,而这也就是链接的作用。

如何查看当前可执行程序依赖哪些库:

ldd 可执行程序

在这里插入图片描述
在这些库当中libbc.so.6就是一个动态库。
如何查看当前可执行文件是动态链接还是静态链接:

file 可执行程序

在这里插入图片描述
可以看见,上面的code就是一个动态链接。
动态链接的优点和缺点:
在这里插入图片描述
如何形成静态链接:
在这里插入图片描述
用gcc编译的时候默认是动态链接,只需要在后面加上一个选项就会变成静态链接,但是我们使用的有些是远程服务器是默认没有静态库的,所以需要下载,只需要用下面指令进行下载即可:

sudo dnf install glibc-static

下载好之后,就不会报错了,可以看见我们形成了一个文件,我们来查看一下这个文件的属性。
在这里插入图片描述
可以看见,则合格文件的属性是静态链接。
静态链接的优点和缺点:
在这里插入图片描述
动态链接和静态链接大小的比较:
在这里插入图片描述
可以很明显的发现,静态链接出来的可执行程序大的多,浪费的资源大得多。

总结

在这篇博客中,我们探讨了两款 Linux 开发工具:vim 和 gcc。作为开发者,掌握这些工具不仅能够提升我们的开发效率,还能使我们在编程过程中更加得心应手。

vim 是一款强大的文本编辑器,以其灵活的操作和广泛的插件支持著称。通过掌握 vim 的基本操作和高级功能,我们可以在编写代码时更加高效,并能够定制出符合自己需求的开发环境。虽然 vim 的学习曲线可能较陡,但一旦熟练掌握,其高效的编辑能力将成为我们不可或缺的利器。

gcc 是 GNU Compiler Collection 的缩写,是 Linux 平台上最常用的编译器之一。它支持多种编程语言,并提供了强大的编译选项和优化功能。通过使用 gcc,我们能够将源代码编译成高效的可执行文件,并对程序进行调试和优化。了解 gcc 的基本用法和编译选项,将帮助我们更好地管理和构建我们的项目。

总之,vim 和 gcc 是 Linux 环境下进行开发的基础工具。掌握它们不仅能够提高我们的生产力,还能为我们的开发工作提供坚实的支持。希望通过这篇博客,能够帮助大家更好地了解和使用这些工具,为后续的开发工作打下良好的基础。继续探索和学习,相信你会发现更多工具和技巧,让你的开发之路更加顺畅。

举报

相关推荐

0 条评论