【Linux第三章】vim

【Linux第三章】Vim

Vim简介

1.什么是vim

  Vim 是一款功能强大、高度可定制的文本编辑器 ,其名称 “Vim” 是 “Vi IMproved” 的缩写,意为 Vi 编辑器的改进版

2.vim的特点

  • 多模式操作:具有命令模式、插入模式和底行模式等。命令模式下可执行各种编辑命令;插入模式用于输入文本内容;底行模式可执行保存、退出、查找替换等操作。不同模式分工明确,熟练切换能高效编辑文本。
  • 强大的命令组合:Vim 强大的编辑能力很大程度源于普通模式命令,其设计理念是命令组合。例如,“dd” 删除当前行 ,“dj” 可删除当前行和下一行(“d” 是删除 ,“j” 代表移动到下一行) ,还可指定命令重复次数,如 “2dd” 与 “dj” 效果相同。
  • 高度可定制化:用户可通过.vimrc配置文件进行个性化设置,如自定义快捷键、设置界面显示效果等;也可使用 Vim 内置编程语言 Vim script 编写插件,扩展功能。网上有大量免费的 Vim 插件和扩展可供使用。
  • 丰富的功能支持
    • 多级撤销树:支持多级树状撤销和重做操作,方便回溯和恢复操作。
    • 语法高亮:能对 550 种以上文本文件进行语法高亮显示,便于查看和编辑代码等文本。
    • 自动缩进:针对 Shell、Lisp、C/C++、Perl、Java、Ruby、Python 等 40 种以上语言,提供自动缩排功能,使代码排版更规范。
    • 搜索与替换:具备强大的搜索和替换功能,可通过简单命令实现复杂的查找和替换操作,如使用 “/string” 向下搜索字符串 “string” ,“:n1,n2s/old/new/g” 从 n1 到 n2 行将 old 替换成 new 。
    • 多文件编辑:支持多缓冲编辑、多 tab 编辑 ,可同时打开和编辑多个文件,在不同文件间切换、操作便捷。还能进行远程文件编辑。
    • 代码相关支持:代码补全、编译及错误跳转等功能丰富,深受程序员喜爱 ,在编写代码时,可快速定位错误、进行代码补全等操作。

Vim的使用

1.vim下载与基础使用

# 在Ubuntu环境下
sudo apt update # 更新软件包列表
sudo apt install vim # 安装vim
vim -v # 出现下面图片则代表安装成功

image-20250509235829308

vim共有三种模式:命令模式、插入模式、底行模式

  • 插入模式
    • i:在光标处插入内容。
    • o:在光标下一行插入新行。
    • a:在光标后一位插入。
  • 模式转换:通过Esc键可以从插入模式回到命令模式,在命令模式下输入: 可进入底行模式。命令模式下输入aio等可进入插入模式。
  • 底行模式常用命令
    • w(!):保存文件,!用于强制保存(当文件系统认为是关键文件或未保存时)。
    • q(!):退出文件,!用于强制退出。
    • wq(!):保存并退出。
    • set nu/nonu:显示 / 隐藏行号。
    • !cmd:在不退出 Vim 的情况下执行外部命令,比如查看、编译、运行等操作。
    • /搜索关键字:搜索内容,n可跳转下一个匹配项。

2.命令模式操作

  • 光标移动: 由于最开始的键盘没有方向键,所以分别使用hjkl表示左、下、上、右移动。
    • w:以单词为单位,向后移动,支持跨行。
    • b:以单词为单位,向前移动,支持跨行。
    • gg:定位到代码的第一行。
    • n+shift+g | (G):定位到代码的任意一行 / 最后一行 。
    • shift+6(^):特定一行的开始。
    • shift+4($):特定一行的结尾。
  • 文本操作
    • n yy:复制当前行(n为行数)。
    • n p:粘贴内容到当前行之后。
    • n dd:剪切 / 删除当前行(n为行数)。
    • u:撤销上一步操作。
    • ctrl + r:恢复撤销操作。
    • shift + ~(esc 下面 ~=) :文本大小写互相转化 。
    • n + r:替换光标所在字符,或者多个字符 。
    • n + x:向后删除一个字符,或者 n 个字符,输入行内操作 。
    • n + shift+x:向前删除一个字符,或者 n 个字符,输入行内操作 。
    • shift+3(#):查找同名单次,n 同单次跳转 。

3.vim补充功能

  • 批量注释
    • ctrl + v 进入可视块模式,选中要注释的区域,shift + i 进入插入模式,输入// ,然后按Esc 键,即可批量添加注释。
    • 批量删除注释:ctrl + v 选中注释区域,d 即可删除注释。
  • 多文件操作:在 Vim 中输入vs ,可以进行多文件操作,光标在哪个区,就在编辑哪个文件 。例如vim test.c +2 可以在打开test.c文件后,将光标直接定位到第二行。

Pasted image 20241123204717

4.vim配置

  Vim 的配置文件是.vimrc ,可以在其中进行各种个性化设置,比如设置默认字体、颜色、快捷键等。

  Vim配置文件分为两种,一种是全局配置文件/etc/vim/.vimrc,一种是用户配置文件/home/user/.vimrc。一种对所有用户生效,一种仅对该用户生效。在对应路径使用vim .vimrc即可进入vim配置页面。

下面是一些常用vim配置

syntax on               " 启用语法高亮
set number              " 显示行号
set tabstop=2           " 设置Tab键宽度为2个空格
set autoindent          " 启用自动缩进(新行继承前一行的缩进)
set mouse=a             " 启用鼠标支持(a表示在所有模式下可用)
set cursorline          " 高亮显示当前行
set cindent             " C语言风格的智能缩进
set shiftwidth=4        " 设置自动缩进的宽度为4个空格
set sts=4               " 设置插入模式下Tab键转换的空格数为4
set ruler               " 在状态栏显示光标位置(行号和列号)
set showmode            " 在底部显示当前模式(如INSERT、VISUAL等)
set bg=dark             " 设置暗色背景主题(影响语法高亮配色)
set hlsearch            " 高亮显示搜索结果
set laststatus=2        " 始终显示状态栏(显示文件信息和状态)

  除此之外,vim也可以进行自动化一键配置,只需要下载他人的配置文件就可以让vim使用起来更加方便。下面贴一个链接,有兴趣可以自己下载。

https://github.com/chxuan/vimplus

image-20250510001204576

5.编译相关知识(gcc/g++)

  • 快速查看文件类型.cpp.cc.cxx 等常用于 C++ 文件。不过在 Linux 系统中,文件后缀名在某些情况下意义不大,但也只是系统认为后缀无意义,gcc/g++还是会关心后缀是什么的。
  • 编译流程:对于 C/C++ 程序,一般流程是源文件 -> 预处理 -> 编译 -> 汇编 -> 链接 -> 可执行程序 。

6.补充知识

  • Vim插件:Vim 有丰富的插件生态系统,如 NERDTree(文件树插件)、CtrlP(文件搜索插件)等,可以帮助我们更好的使用vim。
  • Vim高级功能:Vim具有宏录制、寄存器使用等一些更高级的功能,这也体现了vim的强大之处。

结尾👍

  以上便是Vim的全部内容,如果有疑问或者建议都可以私信笔者交流,大家互相学习,互相进步!🌹
Vim高级功能*:Vim具有宏录制、寄存器使用等一些更高级的功能,这也体现了vim的强大之处。

### 部署 Stable Diffusion 的准备工作 为了成功部署 Stable Diffusion,在本地环境中需完成几个关键准备事项。确保安装了 Python 和 Git 工具,因为这些对于获取源码和管理依赖项至关重要。 #### 安装必要的软件包和支持库 建议创建一个新的虚拟环境来隔离项目的依赖关系。这可以通过 Anaconda 或者 venv 实现: ```bash conda create -n sd python=3.9 conda activate sd ``` 或者使用 `venv`: ```bash python -m venv sd-env source sd-env/bin/activate # Unix or macOS sd-env\Scripts\activate # Windows ``` ### 下载预训练模型 Stable Diffusion 要求有预先训练好的模型权重文件以便能够正常工作。可以从官方资源或者其他可信赖的地方获得这些权重文件[^2]。 ### 获取并配置项目代码 接着要做的就是把最新的 Stable Diffusion WebUI 版本拉取下来。在命令行工具里执行如下指令可以实现这一点;这里假设目标路径为桌面下的特定位置[^3]: ```bash git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git ~/Desktop/stable-diffusion-webui cd ~/Desktop/stable-diffusion-webui ``` ### 设置 GPU 支持 (如果适用) 当打算利用 NVIDIA 显卡加速推理速度时,则需要确认 PyTorch 及 CUDA 是否已经正确设置好。下面这段简单的测试脚本可以帮助验证这一情况[^4]: ```python import torch print(f"Torch version: {torch.__version__}") if torch.cuda.is_available(): print("CUDA is available!") else: print("No CUDA detected.") ``` 一旦上述步骤都顺利完成之后,就可以按照具体文档中的指导进一步操作,比如调整参数、启动服务端口等等。整个过程中遇到任何疑问都可以查阅相关资料或社区支持寻求帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A.A呐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值