Linux --- vim命令

本文介绍了Vim编辑器的基本操作,包括工作模式切换、文本插入与删除、光标移动、缓冲区使用及搜索替换等功能,并提供了实用的操作技巧。

vim的工作模式

vim有三种工作模式, 用户可以自由切换

  • 命令模式(Command): vi/vim的默认模式, 输入命令
    • –从其它模式切换到命令模式: <ESC>键
    • –很多命令以冒号(:)开始, 命令后加叹号表示强制执行
    • –命令前可以跟数字n表示重复该命令n次
  • 插入模式(Insert): 插入文本
    • –从命令模式, 通过命令 i I a A o O s S 等进入
  • 普通模式(normal)或者可视模式(Visual): 高亮并选定正文
    • –从命令模式, 通过命令v 切换, 移动光标选定, x删除一个字符,dd删除一行字符,J可以把两行合并为一行,也就是说两行之间的换行符被删除或者 y 复制
  • 如果不晓得现在是处於什麽模式,可以多按几次 [ESC],系统如发出哔哔声就表示已处于指令模式下了。

进入和退出vim

  • 进入: 在命令行下输入 vi 或者 vi filename (如果filename不存在则创建,存在则打开)
  • 退出: 在命令模式下输入
:wq   保存并退出 :wq!  强制保存并退出 :q      退出 :q!     强制退出 :x      如果有改动则保存并退出, 否则直接退出 :w filename     另存为filename :e     重新读入当前文件

插入文本

  • 在命令模式下,输入下述命令进入插入模式,开始插入文本
i 在光标前插入 I 在本行最后插入 a 在光标后插入 A 在本行开头插入 o 在当前行下方插入 O 在当前行上方插入 cw 改变光标开始的那个单词 C 替换自光标至行尾的文本 s 替换当前位置的字符 S 替换当前行 r 以单个字符替换当前字符 R 自光标开始替换

删除文本

  • 进入命令模式<ESC>,输入下述命令删除文本

 x 删除当前光标所在字符 4x 删除自当前光标开始的4个字符 dw 删除自当前光标位置开始的单词 dd 删除当前行 10dd 删除当前光标位置开始10行 d$ 删除当前光标位置至行尾的文本 dG 删除当前光标位置至文件尾的文本 :n,m d 删除n行到m行的文本 :.,+5 d 删除当前行开始的5行文本

注意: 上述被删除的文本都存放在临时缓冲区中, 可以通过 p 命令粘贴到当前光标位置

移动光标

进入命令模式<ESC>,移动光标

h 光标左移一个字符 l 光标右移一个字符 j 光标下移一行 k 光标上移一行 w 光标前移到下一个单词开始 b 光标后移到下一个单词开始 10g 光标到第10行
w 光标前移到下一个单词开始 b 光标后移到下一个单词开始 10g 光标到第10行

xg光标移动到第几行
gg光标移动到第一行 G 光标到最后一行 % 移动光标到匹配的另一半括号

缓冲区

  • 复制或删除的内容总是先存放在缓冲区中,缺省是放在匿名缓冲区中,例如
yy 将当前行复制到缓冲区 yw 将光标开始单词复制到缓冲区 yh 将光标左边的字符复制到缓冲区 p 将缓冲区内容粘贴到光标前 P 将缓冲区内容粘贴到光标后

命名缓冲区: a-z (替换), A-Z (附加)

  • a-z缓冲区,内容每次复制进来时会替换掉原有内容
  • A-Z缓冲区,内容每次复制进来时被附加在原有内容后
"ayy 将当前行内容复制到a 缓冲区 "a10yy 将当前开始的10行内容复制到a 缓冲区 "ap 将a 缓冲区的内容粘贴在当前光标前 "Add 将当前行删除, 内容附加到A 缓冲区

搜索与替换

  • 在命令模式下输入下述命令搜索文本,注意vi用的是正则表达式,意味着输入 1+1会匹配 1111111,而不会匹配"1+1"

:set ignorecase 表示搜索时忽略大小写的

用/命令进行搜索
/regexp 向前搜索匹配regexp的字符串 n 继续搜索 N 反向搜索 ?regexp 向后搜索匹配regexp的字符串 :s/regexp/s2 将本行第一个匹配regexp的字符串替换为s2 :s/regexp/s2/g 将本行所有匹配regexp的字符串替换为s2 :1,$ s/regexp/s2/g 将文件中所有匹配regexp的字符串替换为s2

其它

u 取消上次命令
CTRL-R (重做)来反转撤消的动作。换句话说,它是对撤消的撤消。 J 当前两行合并成1行 << 当前行左缩进一个tab 10>> 当前行开始的10行右缩进一个tab :set 查看/修改当前设置 :help 寻求帮助
<think>好的,用户让我介绍Linux命令vim,之前他们问过关于Linux内核中%pK格式说明符的问题,现在转向基础命令,可能是在学习Linux的不同方面。用户可能是开发者或系统管理员,需要掌握文本编辑工具。 首先,我需要确定用户对vim的了解程度。他们可能已经知道一些基本命令,但需要系统性的介绍。用户之前的提问涉及内核机制,说明他们对底层有一定兴趣,所以vim的介绍可以稍微深入,包括一些高级功能。 接下来,要覆盖vim的基本概念,比如模式切换,这是vim独特的地方,新手常在这里遇到困难。然后介绍常用命令,包括移动、编辑、保存退出等,这些都是基础但必须的。 还要考虑用户可能需要的配置和插件,比如.vimrc文件,插件管理器如Vundle或Pathogen,这对提高效率有帮助。此外,高级功能如分屏、宏录制、搜索替换,都是提升使用体验的重要部分。 用户可能遇到的问题,比如如何退出vim,这是个经典问题,需要明确说明。另外,学习路径建议也很重要,帮助他们规划学习步骤,避免被复杂的命令吓到。 最后,确保回答结构清晰,分点明确,符合用户之前要求的系统级指令中的格式要求,比如使用中文,正确使用LaTeX,行内公式用$符号等。不过在这个回答中可能不需要数学公式,但要注意代码块的使用,用反引号包裹命令示例。 需要检查是否遗漏了重要内容,比如vim的三种模式,基本命令的示例,配置方法,以及如何获取帮助文档。确保信息准确,比如保存退出的命令是:wq,而不是别的。同时,提醒用户练习的重要性,因为vim的学习曲线较陡,需要实际操作来熟悉。</think>以下是关于 Linux 命令 `vim` 的详细介绍,按功能模块分层解析: --- ### 一、基础概念 **Vim**(Vi IMproved)是一个高度可配置的**文本编辑器**,是 Unix 系统默认编辑器 `vi` 的增强版。核心特点包括: - **模式化编辑**:分为**普通模式**、**插入模式**和**可视模式** - **高效键盘操作**:通过组合键实现快速文本处理 - **可扩展性**:支持插件和自定义配置(`~/.vimrc`) --- ### 二、基础使用 #### 1. 启动与退出 - **启动文件**:`vim filename`(文件不存在时会新建) - **退出命令**: ```bash :q # 退出(无修改时) :q! # 强制退出不保存 :wq 或 :x
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值