VIM常用技巧

1. 辅助操作

  • set number 显示行号
  • set wrap 自动折行,显示长行

2. 基础操作

2.1 模式切换

从正常模式切换到插入模式:

  • i:在当前光标位置之前开始插入文本。
  • a:在当前光标位置之后开始插入文本。
  • o:在当前行下方插入一个新行并开始插入文本。
  • O:在当前行上方插入一个新行并开始插入文本。
  • I:在当前行的行首开始插入文本。
  • A:在当前行的行尾开始插入文本。

退出功能:

  • 在正常模式下,按下:q,然后按回车键退出 Vim(如果没有做任何更改)。
  • 在正常模式下,按下 :q!,然后按回车键强制退出 Vim(忽略对文件的更改)。
  • 在正常模式下,按下 :wq 或 :x,然后按回车键保存文件并退出 Vim。

2.2 光标移动

移动光标:

  • h:将光标向左移动一个字符。
  • j:将光标向下移动一行。
  • k:将光标向上移动一行。
  • l:将光标向右移动一个字符。

移动到行首或行尾:

  • 0(数字零):将光标移动到当前行的行首。
  • $:将光标移动到当前行的行尾。

移动到文件的开头或结尾:

  • gg:将光标移动到文件的开头。
  • G:将光标移动到文件的结尾。

移动到指定行号:

  • :<行号>:将光标移动到指定的行号。

2.3 文本编辑

插入文本:

  • i:在当前光标位置之前开始插入文本。
  • a:在当前光标位置之后开始插入文本。
  • o:在当前行下方插入一个新行并开始插入文本。
  • O:在当前行上方插入一个新行并开始插入文本。

删除文本:

  • x:删除光标所在位置的字符。
  • dd:删除光标所在的整行。
  • [n]dd:剪切光标所在行及其下方的 n-1 行。例如,使用 3dd 命令将光标所在行及其下方的三行剪切到剪贴板。
  • D:删除光标所在位置到行尾的内容。

复制和粘贴:

  • yy:复制光标所在的整行。
  • [n]yy:复制光标所在行及其下方的 n-1 行。例如,输入 3yy 命令将光标所在行及其下方的三行复制到剪贴板。
  • p:将已复制的内容粘贴到光标所在位置的下方。
  • P:将已复制的内容粘贴到光标所在位置的上方。

2.4 撤销、重做

  • 撤销操作:按下u键:撤销上一个操作。
  • 重做操作:按下Ctrl + r键:重做上一个被撤销的操作。
  • 输入:undolist命令:显示撤销树中的操作历史记录。
  • 输入:undo [number]命令:撤销到指定编号的操作。
  • 输入:redo [number]命令:重做到指定编号的操作。

2.5 搜索和替换

关键词搜索:

  • 按下/键进入搜索模式,然后输入要搜索的关键词并按下回车。
  • 使用n键来跳到下一个匹配项,使用N键来跳到上一个匹配项。

字符串搜索:

  • 按下*键,Vim 将会选中当前光标所在位置的单词,并在文档中继续搜索该单词。

行内定位:

  • 按下f键,然后输入一个字符,Vim 将会在当前行查找该字符,并将光标定位到第一个匹配的位置。
  • 按下;键,将光标跳转到下一个相同的字符处。
  • 按下,键,将光标跳转到上一个相同的字符处。

匹配括号定位:

  • 将光标置于某个括号上时,按下%键,Vim 将会跳转到配对的对应括号上。

替换:

  1. 按下:键进入命令行模式。
  1. 输入s/要替换的内容/替换后的内容/并按下回车。此命令将会替换当前行中首次出现的要替换的内容。
  • 如果要替换所有匹配到的内容,可以在命令末尾加上"g"标志:s/要替换的内容/替换后的内容/g
  • 若要确认每个替换操作,请使用"c"标志:s/要替换的内容/替换后的内容/gc
  • 若要只替换某一行范围内的内容,可以先使用":"命令设置范围,再执行替换命令。例如:1,10s/要替换的内容/替换后的内容/g

3. 正则表达式使用

使用正则表达式搜索:

  • 进入搜索模式:按下/键。
  • 输入正则表达式并按下回车。Vim 会寻找与该表达式匹配的文本。
  • 例如,要查找包含单词 “example” 的行,可以输入/example

使用正则表达式进行替换:

  • 进入命令行模式:按下:键。
  • 输入替换命令,其中使用正则表达式指定要匹配和替换的内容。
  • 例如,要将文档中所有匹配 “foo” 的实例替换为 “bar”,可以输入:%s/foo/bar/g。其中,%表示应用于整个文件,s表示替换操作,g表示全局替换。

正则表达式元字符的使用:

  • 常见的元字符包括^(行的开始)、$(行的结束)、.(匹配任意字符)、*(零次或多次重复前一个字符)等。
  • 例如,要查找以 “start” 开头的行,可以输入/^start
  • 例如,要查找以 “end” 结尾的行,可以输入/end$

限定符和字符类:

  • 限定符可以指定匹配次数,如+(一次或多次)、?(零次或一次)等。
  • 字符类用于匹配一组字符,如[abc](匹配字符 a、b 或 c)、[0-9](匹配数字)等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值