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 :加载指定的会话。
相关推荐
阳光九叶草LXGZXJ5 小时前
达梦数据库-报错-15-列【XXX】长度超出定义
linux·运维·数据库·sql·学习
奔跑的大白啊5 小时前
多容器共享目录权限踩坑记
linux·ubuntu·共享目录·linux权限·docker 容器化部署
Android系统攻城狮8 小时前
Linux Gstreamer深度解析之gst_audio_encoder_set_frame_max调用流程与实战(六十一)
android·linux·运维·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
H.莓飛9 小时前
【C++】命名空间、缺省参数、函数重载与引用
linux·开发语言·c++·visual studio
91刘仁德9 小时前
IP协议详解:从IP协议头到网段划分、路由与NAT
linux·服务器·网络·网络协议·tcp/ip
硅基手札10 小时前
【Linux内核专栏 14】网络协议栈
linux·运维·网络协议
沫璃染墨12 小时前
《Linux工程实践篇(一):认识设计模式——从日志系统看策略模式》
linux·c++·安全·设计模式·策略模式
工作10年+,存储芯片行业12 小时前
Linux NVMe 中断排查与性能优化:CPU 亲和性
linux·运维·服务器·windows·性能优化·ssd·pcie
wuminyu12 小时前
ForkJoinPool内部WorkQueue的Lock-Free数组操作以及并发任务窃取原理剖析
java·linux·c语言·jvm·c++
她说彩礼65万12 小时前
C语言 堆区和栈区
java·linux·c语言