当前位置: 首页 > news >正文

Vim 命令行模式下的常用命令

Vim 命令行模式下的常用命令

  • 文件操作
    • :w :保存当前文件。
    • :w filename :将当前内容另存为指定的 filename
    • :q :退出 Vim,如果文件有修改但未保存,会提示错误。
    • :q! :强制退出 Vim,不保存修改。
    • :wq :保存并退出。
  • 编辑操作
    • :e filename :打开或切换到另一个文件 filename
    • :n :切换到下一个文件(如果在多文件编辑中)。
    • :20 :跳转到第 20 行。
  • 搜索和替换
    • :/pattern :向前搜索指定的 pattern 字符串。
    • :?pattern :向后搜索指定的 pattern 字符串。
    • :%s/old/new/g :在整个文件中将所有的 old 替换为 new
    • :%s/old/new/gc :在替换时会逐个询问确认。
  • 设置选项
    • :set nu :显示行号。
    • :set nonu :取消行号显示。
    • :set ic :忽略大小写搜索。
    • :set noic :不忽略大小写搜索。
  • 其他实用命令
    • :help :打开 Vim 帮助文档。
    • :!command :执行外部命令 command
  • 缓冲区操作
    • :buffers :列出所有缓冲区。
    • :buffer N :切换到第 N 个缓冲区。
  • 窗口操作
    • :split :水平分割窗口。
    • :vsplit :垂直分割窗口。
    • :close :关闭当前窗口。
  • 跳转操作
    • :jumplist :查看跳转历史。
  • 折叠操作
    • :foldopen :打开当前折叠。
    • :foldclose :关闭当前折叠。
  • 宏操作
    • :reg :查看已录制的宏。
  • 标记操作
    • :marks :查看所有标记。
  • 编码相关
    • :set encoding=utf-8 :设置编码为 UTF-8 。
  • 缩进操作
    • :set shiftwidth=4 :设置缩进宽度为 4 个空格。
  • 语法相关
    • :syntax on :开启语法高亮。 这些只是 Vim 命令行模式中众多命令的一部分,通过不断学习和实践,您可以更高效地利用 Vim 完成各种编辑任务。
  • 插入文本
    • :put a :在当前行下方插入寄存器 a 中的内容。
  • 复制与粘贴
    • :yank :复制当前行。
  • 撤销与重做
    • :undo :撤销上一步操作。
    • :redo :重做撤销的操作。
  • 格式化代码
    • :gg=G :对整个文件进行代码格式化(需要相应的插件支持)。
  • 显示信息
    • :verbose set option? :显示某个选项的设置信息及来源。
  • 执行脚本
    • :source script.vim :执行指定的 Vim 脚本。
  • 折叠相关
    • :foldall :折叠所有可折叠的区域。
  • 字符编码转换
    • :iconv :进行字符编码的转换。 希望这些补充内容能对您有所帮助,让您更深入地了解 Vim 命令行模式的强大功能。
  • 打印相关
    • :print :打印当前行。
  • 比较文件
    • :vert diffsplit filename :垂直分屏并比较当前文件与指定文件。
  • 书签操作
    • :marks :查看已设置的书签。 - :delmark markname :删除指定的书签。
  • 文件属性操作
    • :filetype :查看文件类型。
  • 插件管理(如果使用插件管理器)
    • 例如,对于 Vundle 插件管理器: :PluginInstall 安装插件, :PluginClean 清理未使用的插件。
  • 目录操作
    • :lcd directory :更改当前工作目录。
  • 会话管理
    • :mksession sessionname :保存当前会话。
    • :source sessionname :加载指定的会话。
http://www.lryc.cn/news/456762.html

相关文章:

  • 【动态规划-最长递增子序列(LIS)】力扣2826. 将三个组排序
  • Elastic Stack--16--ES三种分页策略
  • [LeetCode] 315. 计算右侧小于当前元素的个数
  • 【hot100-java】二叉树展开为链表
  • 如何在在 YOLOv3模型中添加Attention机制
  • 单点登录Apereo CAS 7.1安装配置教程
  • windows C++-移除界面工作线程(一)
  • Qt小bug — LINK : fatal error LNK1158: 无法运行“rc.exe“
  • c++小游戏
  • k8s为什么用Calico
  • HashMap 和 Hashtable 有什么区别?
  • 【机器学习】深度学习、强化学习和深度强化学习?
  • fastadmin 多商户模式下侧边栏跳转路径BUG
  • java内置的四种函数式接口
  • 如何获取 uni-app 应用发布所需的证书、私钥与配置文件
  • TCP网络通信——多线程
  • 【exp报错注入】
  • 基于SpringBoot问卷调查系统小程序【附源码】
  • LLM - 配置 GraphRAG + Ollama 服务 构建 中文知识图谱
  • 简单认识redis - 6 redis 存储速度快的原因
  • 【Qt Quick】状态:State 使用
  • ICE/TURN/STUN/Coturn服务器搭建
  • ctf.bugku-eval
  • Extreme Compression of Large Language Models via Additive Quantization阅读
  • 【虚拟化】内核级虚拟化技术KVM介绍,全/半虚拟化的区别,使用libvirt搭建虚拟化平台(go/java/c++)
  • C++类成员变量的初始化
  • Golang 中的强大 TUI 库 ——tview
  • 电层相关 -- 支路板与线路板
  • leetcode 93.复原ip地址
  • AI+视频监控:EasyCVR安防平台赋能火电制造行业的视频智能管理方案