帮助您熟悉 Vim 编辑器中的文本对象

这段文本提供了一份详细的练习指南,帮助您熟悉 Vim 编辑器中的文本对象。以下是根据您的说明整理的具体步骤和说明,以帮助您顺利完成练习。

Vim 文本对象练习指南

目标

熟悉 Vim 的文本对象操作。

操作步骤

  1. 打开文件

    • 启动命令行并导航到文件所在的目录。
    • 假设文件在 Downloads/vimclass 目录中,使用以下命令:
      cd Downloads
      cd vimclass
      vim textobjectspractice.txt
      
  2. 单词对象

    • 将光标移动到单词 "Time" 上,您可以使用 fi 命令搜索字母 "i"。
    • 输入 daw 删除这个单词。注意,这会删除整个单词,包括前面的空格。
    • 将 "Traveller" 变更为 "tourist":使用 ciw,然后输入 "tourist",最后按 <Esc> 返回正常模式。
  3. 块对象 ()

    • 将光标移动到开括号位置,输入 w 移动光标。
    • 输入 ci(ci) 将括号内的内容更改为 "as we will call him.",然后输入该文本并按 <Esc>
  4. 删除括号内的内容

    • 直接移动到以下行,包含文本:
      print("The weatherman said, 'This weekend will be warm,' but that was a lie.")
      
    • 使用 /( 搜索开括号,然后使用 da( 删除整个文本。
  5. 引号中的字符串

    • 将光标移动到行 print("The weatherman said, 'This weekend will be warm,' but that was a lie.") 中的双引号内。
    • 改为:print("It was cold!"),输入 ci",然后输入 "It was cold!" 并按 <Esc>
  6. 更改单引号中的文本

    • 移动到下行,用 /' 搜索单引号内部,将其更改为 'It is hot outside,',使用 ci' 进行更改。
  7. 块对象 [ ]

    • 删除以下内容括号内的所有内容:
      scripts=[ 'bin/backup',
                'bin/backup-all',
                'bin/backup-db-only',
                'bin/backup-files-only' ]
      
    • 移动光标到括号中,使用 di[di] 删除内容,结果将是:
      scripts=[]
      
  8. 块对象 < >

    • 移动到以下行:
      <yank_me>
      
    • 使用 iyi>iyi< 将内容放入 "i" 寄存器,确认内容在寄存器中的操作为 :reg i<ENTER>
    • 使用 aya<aya><yank_me> 及其尖括号放入 "a" 寄存器,确认操作为 :reg a<ENTER>
  9. 标签对象

    • 更改以下内容:
      <p><a href="https://linuxtrainingacademy.com">Linux Training Academy</a></p>
      
      为:
      <p><a href="https://linuxtrainingacademy.com">LTA</a></p>
      
    • 将光标移动到 <a> 标签内,输入 cit,并输入 "LTA"。
  10. XML 示例

    • 删除第一个 CD 条目:
      <CD>
          <TITLE>Jazz At Massey Hall</TITLE>
          <ARTIST>The Quintet</ARTIST>
      </CD>
      
    • 将光标移动到 <CD></CD>,输入 dat 删除该条目。
  11. 块对象 { }

    • 更改如下内容:
      musicians = {
          'Charlie Parker': 'alto sax',
          'John Coltrane': 'tenor sax',
          'Sonny Rollins': 'tenor sax'
      }
      
      为:
      musicians = { }
      
    • 使用 di{di} 删除内容,然后将两行合并:k 回到上面一行,使用 J 合并行。
  12. 句子对象

    • 将句子内容复制到 "s" 寄存器:
      Praesent rutrum purus ultricies, dignissim massa id, elementum felis.
      
    • 输入 "syas,确认使用 :reg s<ENTER>
  13. 段落对象

    • 删除整个段落,输入 dap
  14. 退出 Vim

    • 如果您想放弃更改以重新尝试练习,输入 :q!<ENTER> 退出 Vim。

注意事项

  • 每个命令后确保返回正常模式(按 <Esc>)。
  • 文本对象的正确使用可以大大提高编辑效率。

如果在完成练习时遇到任何问题,请随时询问!

posted @ 2025-03-10 10:32  皇帽讲绿帽带法技巧  阅读(35)  评论(0)    收藏  举报