【linux vim使用说明】

简介: 【linux vim使用说明】

基本概念

提示:本文是网络资源整理

模式: vim 有多种模式,每种模式都有不同的功能。

  • 普通模式 (Normal Mode): 默认模式,用于导航和执行命令。
  • 插入模式 (Insert Mode): 用于文本输入。可以通过按 i 进入。
  • 可视模式 (Visual Mode): 用于选择文本。可以通过按 v 进入。
  • 命令模式 (Command-Line Mode): 用于执行命令。可以通过按 : 进入。

启动和退出

  • 启动 vim: 在终端中输入 vim filename。
  • 退出 vim:
  • 保存并退出: :wq 或 :x
  • 仅保存: :w
  • 仅退出(不保存更改): :q!

基本操作

普通模式

  • 移动光标:
  • 左移: h
  • 右移: l
  • 上移: k
  • 下移: j
  • 到行首: 0
  • 到行尾: $
  • 跳到文件开头: gg
  • 跳到文件末尾: G
  • 文本操作:
  • 删除当前字符: x
  • 删除当前行: dd
  • 删除到行尾: d$
  • 复制当前行: yy
  • 粘贴: p
  • 撤销: u
  • 恢复: Ctrl+r

查找和替换:

  • 查找文本: /pat 然后按 Enter
  • 查找下一个匹配: n
  • 查找上一个匹配: N
  • 替换当前行第一个匹配的文本: 😒/old/new/
  • 替换当前行所有匹配的文本: 😒/old/new/g
  • 替换整个文件所有匹配的文本: :%s/old/new/g

插入模式

  • 进入插入模式:
  • 在光标前插入: i
  • 在光标后插入: a
  • 在当前行前插入新行: O
  • 在当前行后插入新行: o
  • 退出插入模式: 按 Esc

可视模式

  • 选择文本:
  • 字符选择: v
  • 行选择: V
  • 块选择: Ctrl+v
  • 操作选择的文本:
  • 复制选择的文本: y
  • 删除选择的文本: d
  • 粘贴: p
  • 命令模式
  • 保存文件: :w
  • 退出 vim: :q
  • 保存并退出: :wq 或 :x
  • 撤销更改: :undo
  • 恢复更改: :redo

高级功能

窗口和标签

  • 分割窗口:
  • 横向分割: :split filename
  • 纵向分割: :vsplit filename
  • 在窗口之间切换: Ctrl+w 然后使用方向键
  • 关闭当前窗口: :q

宏和自动化

录制宏:

1、开始录制:

  • 按 q 进入录制模式,然后按一个寄存器键(如 q)。这个寄存器键会用来存储录制的宏。
  • 示例: 按 q 然后按 a 开始录制到寄存器 a 中。
    2、执行操作:
  • 执行你希望录制的操作。例如,移动光标、删除文本、插入文本等。
    3、停止录制:

-按 q 停止录制宏。此时,所有在录制期间执行的操作都会存储在你选择的寄存器中。

执行宏

1、执行宏:

  • 要执行录制的宏,按 @ 然后按寄存器键。
  • 示例: 按 @a 执行存储在寄存器 a 中的宏。
常见问题及解决方法

1、宏没有效果:

  • 确保你在正确的模式下运行宏。通常,宏在普通模式下执行。
  • 检查宏是否录制正确。可以通过执行 :registers 查看寄存器的内容,确认录制的宏是否存在
    2、宏录制错误:
  • 如果录制的宏不如预期工作,可能是因为在录制过程中操作的不一致。尝试重新录制并确保操作的步骤一致。
    3、宏在不同上下文中执行:
  • 有些宏可能依赖于特定的光标位置或上下文。在不同的上下文中运行宏可能会产生不同的效果。
示例

假设你有一个文本文件,每一行都是一个需要删除的项目,并且你想要批量删除这些行的开头部分。

1、录制宏:

  • 按 qa 开始录制到寄存器 a。
  • 移动光标到行首: 0
  • 删除到第一个空格: d
  • 移动到下一行: j
  • 停止录制: 按 q

2、执行宏:

  • 在文件中移动光标到你想开始的行,然后按 @a 执行宏。
  • 如果你想在多行上重复宏,可以按 n@a,其中 n 是重复的次数。

插件和扩展

vim 支持插件,通过插件可以增强编辑功能。一些常用插件管理工具包括:

安装插件:

1、将插件 URL 添加到 ~/.vimrc 文件中。

2、运行 :PluginInstall(对于 Vundle)或 :PlugInstall(对于 vim-plug)。

示例配置

在 ~/.vimrc 文件中,你可以添加一些自定义配置来增强 vim 的使用体验:

" 设置行号
set number

" 高亮当前行
set cursorline

" 自动缩进
set autoindent
set smartindent

" 启用语法高亮
syntax on

" 设置制表符宽度
set tabstop=4
set shiftwidth=4
set expandtab

参考文献

Vim 官方文档

Vim 用户手册

相关文章
|
22天前
|
Unix Linux 开发工具
在Linux中,有哪些基本的 Vim 命令?
在Linux中,有哪些基本的 Vim 命令?
|
3天前
|
存储 Linux 编译器
linux中vim介绍以及常用命令大全
linux中vim介绍以及常用命令大全
26 8
|
22天前
|
搜索推荐 Linux 网络安全
Linux系统中的Vim编辑器
【8月更文挑战第21天】Vim是一款功能强大的文本编辑器,在Linux系统中广泛使用。它具有三种基本模式:命令模式,用于执行操作但不能编辑文本;插入模式,允许用户像常规编辑器那样输入文本;底线命令模式,用于保存、退出及查找替换等操作。Vim还支持多窗口编辑、宏录制及插件扩展等功能,并可通过配置文件个性化设置。因其高效性、良好的可移植性和远程编辑能力,Vim特别适用于开发者和系统管理员。
|
2月前
|
JSON Java Linux
linux 命令使用总结:vim,nohup,find,df,du,sudo,netstat,ll,curl,lastlog
linux 命令使用总结:vim,nohup,find,df,du,sudo,netstat,ll,curl,lastlog
46 5
|
23天前
|
Linux 开发工具
Linux vim编辑器
Linux vim编辑器
13 0
|
29天前
|
Unix Linux 程序员
全面介绍Linux中的Vim编辑器
全面介绍Linux中的Vim编辑器
|
1月前
|
Linux 程序员 Shell
【Linux】vim编辑器
【Linux】vim编辑器
|
3月前
|
Linux Shell 持续交付
Linux下vim的配置
本文介绍了如何对vim进行基础配置,如行号显示、缩进设置等,并推荐了一种自动化部署方案,通过链接下载预配置的vim环境脚本,简化了配置过程,提升开发效率。
43 3
Linux下vim的配置
|
2月前
|
Linux Shell 开发工具
Linux Vim批量注释和自定义注释
在Vim中,快速批量注释和取消Shell脚本的多行可以使用替换命令。例如,用`:1,10s/^/#/g`在第1到10行行首加`#`注释,`:1,10s/^#//g`则移除这些行的行首`#`。定义快捷键如`:map^P l#<Esc>`(需用Ctrl+V+P生成^P)能一键在当前行添加`#`注释。要取消注释,可以定义`:map^B 0x`来删除行首字符。通过`.vimrc`保存快捷键设置,可使它们在每次启动Vim时生效。
45 6
|
2月前
|
Ubuntu Unix Linux
Linux Vim最全面的教程
Linux Vim最全面的教程