我的日常开发记录日志
首页
  • Laravel
  • Thinkphp
  • Swoole
  • Workman
  • php
  • HTML
  • CSS
  • JavaScript
  • Vue
  • ES6
  • 小程序
  • Mysql
  • Redis
  • Es
  • MongoDb
  • Git
  • Composer
  • Linux
  • Nginx
  • Docker
  • Vpn
  • 开发实战
  • 开发工具类
  • 友情链接
💖关于
💻收藏
  • 分类
  • 标签
  • 归档数据
GitHub (opens new window)

我的日常开发记录日志

never give up
首页
  • Laravel
  • Thinkphp
  • Swoole
  • Workman
  • php
  • HTML
  • CSS
  • JavaScript
  • Vue
  • ES6
  • 小程序
  • Mysql
  • Redis
  • Es
  • MongoDb
  • Git
  • Composer
  • Linux
  • Nginx
  • Docker
  • Vpn
  • 开发实战
  • 开发工具类
  • 友情链接
💖关于
💻收藏
  • 分类
  • 标签
  • 归档数据
GitHub (opens new window)
  • git

  • composer

  • linux

    • Linux
    • ssh
    • rsync上传本地文件到服务器
    • windows上使用multipass挂载本地文件
    • curl命令使用
    • 查询系统版本及硬件信息的
    • 操作linux上用户
    • crontab使用
    • systemctl使用
    • journalctl使用
    • ls查看文件及排序
    • 查询命令行日志记录
    • less详细使用
    • Vim使用案例
      • Vim使用案例
      • vi 或 vim 编辑器操作指南
        • 1. 删除特定行
        • 2. 删除所有内容
        • 3. 剪切(删除并复制)
        • 4. 粘贴
        • 5. 跳转
        • 6. 撤消和重做
        • 7. 搜索
        • 8. 搜索结果导航
        • 9. 替换
        • 10. 使用案例:编辑文本文件
      • 完整流程总结
        • 在 Vim 中,u 是用来撤销(undo)操作的,而反撤销(redo)则是用来恢复被撤销的操作。
        • 撤销 (Undo)
        • 反撤销 (Redo)
        • 总结:
        • 使用 :w 命令与 sudo强制保存
        • 详细步骤说明
        • 注意事项
    • top的基本使用
  • nginx

  • docker

  • vpn

  • frp

  • 脚本

  • 硬件

  • 运维
  • linux
窝窝侠
2024-11-19

Vim使用案例

# Vim使用案例

# vi 或 vim 编辑器操作指南

# 1. 删除特定行

# 删除单行

  • 命令: dd
  • 说明: 删除光标所在的当前行。

# 删除多行

  • 命令: :N1,N2d
  • 示例: :5,10d
  • 说明: 删除从第 N1 行到第 N2 行的所有行(例如,删除第 5 行到第 10 行)。

# 2. 删除所有内容

  • 命令: :%d
  • 说明: 删除整个文件的所有内容(% 表示整个文件)。

# 3. 剪切(删除并复制)

# 剪切单行

  • 命令: dd
  • 说明: 删除并剪切光标所在的当前行。

# 剪切多行

  • 命令: Ndd
  • 示例: 5dd
  • 说明: 剪切光标所在行及其后的 N-1 行(例如,剪切当前行及其后的 4 行)。

# 剪切指定文本(视觉模式)

  • 步骤:
    1. 按 v 进入视觉模式。
    2. 使用箭头键选择要剪切的文本。
    3. 按 d 剪切选定的文本。

# 4. 粘贴

  • 命令: p

  • 说明: 在光标后粘贴剪切或复制的内容。

  • 命令: P

  • 说明: 在光标前粘贴剪切或复制的内容。

# 5. 跳转

# 跳转到文档末尾

  • 命令: G
  • 说明: 将光标移动到文件的最后一行(G 代表 "Go to last line")。

# 跳转到当前行的行尾

  • 命令: $
  • 说明: 将光标移动到当前行的末尾。

# 6. 撤消和重做

# 撤消操作

  • 命令: u
  • 说明: 撤消上一个操作。

# 重做操作

  • 命令: Ctrl + r
  • 说明: 重做上一个被撤消的操作。

# 7. 搜索

# 搜索文本

  • 命令: /search_term
  • 示例: /example
  • 说明: 向下搜索文件中的指定文本(按 Enter 键后,使用 n 查找下一个匹配项,使用 N 查找上一个匹配项)。

# 8. 搜索结果导航

# 查找下一个匹配项

  • 命令: n
  • 说明: 在搜索结果中向下查找下一个匹配项。

# 查找上一个匹配项

  • 命令: N
  • 说明: 在搜索结果中向上查找上一个匹配项。

# 9. 替换

# 替换单个单词

  • 命令: :s/old/new
  • 示例: :s/example/test
  • 说明: 将光标所在行中的第一个 "old" 替换为 "new"。

# 替换整行中的所有匹配

  • 命令: :s/old/new/g
  • 示例: :s/example/test/g
  • 说明: 将光标所在行中的所有 "old" 替换为 "new"。

# 替换整个文件中的所有匹配

  • 命令: :%s/old/new/g
  • 示例: :%s/example/test/g
  • 说明: 将整个文件中的所有 "old" 替换为 "new"。

# 10. 使用案例:编辑文本文件

假设我们有一个文本文件 example.txt,内容如下:

Hello World
This is a sample file.
We will edit this file using vi.
1
2
3

# 1. 打开文件

  • 命令:
    vi example.txt
    
    1

# 2. 删除特定行

# 删除第 2 行
  • 步骤:

    1. 确保处于命令模式(按 Esc 键)。
    2. 输入 :2d 并按 Enter。
  • 效果:

Hello World
We will edit this file using vi.
1
2

# 3. 删除所有内容

  • 步骤:

    1. 输入 :%d 并按 Enter。
  • 效果: 文件内容被清空。

# 4. 剪切并粘贴

# 剪切当前行并粘贴到第 1 行后
  • 步骤:

    1. 移动光标到第 2 行(如果已经删除,则光标在第 2 行)。
    2. 使用 dd 剪切当前行。
    3. 移动光标到第 1 行(输入 :1 然后按 Enter)。
    4. 按 p 粘贴剪切的内容后。
  • 效果:

Hello World
We will edit this file using vi.
This is a sample file.
1
2
3

# 5. 搜索文本

# 搜索 "sample"
  • 步骤:

    1. 按 / 进入搜索模式,输入 sample,然后按 Enter。
  • 效果: 光标将跳转到包含 "sample" 的行。

# 6. 导航搜索结果

# 查找下一个匹配项
  • 命令: n
  • 说明: 再次按 n 可以继续查找下一个匹配项。
# 查找上一个匹配项
  • 命令: N
  • 说明: 按 N 可以返回到上一个匹配项。

# 7. 替换文本

# 将 "sample" 替换为 "example"
  • 步骤:

    1. 确保光标在包含 "sample" 的行。
    2. 输入命令 :s/sample/example/ 并按 Enter。
  • 效果:

Hello World
We will edit this file using vi.
This is a example file.
1
2
3

# 8. 替换整个文件中的所有 "file" 为 "document"

  • 步骤:

    1. 输入命令 :%s/file/document/g 并按 Enter。
  • 效果:

Hello World
We will edit this document using vi.
This is a example document.
1
2
3

# 9. 撤消和重做

# 撤消上一步操作
  • 步骤:

    1. 按 u 撤消上一个替换操作(将 "document" 改回 "file")。
  • 效果:

Hello World
We will edit this file using vi.
This is a example file.
1
2
3
# 重做上一步操作
  • 步骤:
    1. 按 Ctrl + r 重新执行上一步撤消的操作。

# 10. 保存并退出

  • 命令:
    :wq
    
    1
  • 说明: 保存文件并退出 vi 或 vim 编辑器。

# 完整流程总结

  1. 打开文件:vi example.txt
  2. 删除第 2 行::2d
  3. 删除所有内容::%d
  4. 剪切当前行并粘贴到第 1 行后:dd,:1,p
  5. 搜索 "sample":/sample
  6. 导航搜索结果:n(下一个匹配),N(上一个匹配)
  7. 替换 "sample" 为 "example"::s/sample/example/
  8. 替换整个文件中的 "file" 为 "document"::%s/file/document/g
  9. 撤消上一步操作:u
  10. 重做上一步操作:Ctrl + r
  11. 保存并退出::wq

# 在 Vim 中,u 是用来撤销(undo)操作的,而反撤销(redo)则是用来恢复被撤销的操作。

# 撤销 (Undo)

  • 按 u 可以撤销上一步操作。
  • 如果你要撤销多次,可以反复按 u。

# 反撤销 (Redo)

  • 要进行反撤销,可以按 Ctrl + r。
  • 这样会恢复之前撤销的操作。

# 总结:

  • u:撤销(Undo)
  • Ctrl + r:反撤销(Redo)

你可以通过这些命令进行操作历史的往返。如果你想更细粒度地控制撤销和反撤销,可以在 vim 中启用 "undofile"(撤销文件)功能,这样可以跨会话保留撤销历史。

# 使用 :w 命令与 sudo强制保存

  1. 确保处于命令模式:

    • 按 Esc 键,确保您不在插入模式。
  2. 使用 :w 命令与 sudo:

    • 输入以下命令,然后按 Enter:
      :w !sudo tee %
      
      1
    • 这个命令的作用是将当前文件的内容通过 sudo 命令写入原文件。这里 % 代表当前文件名。
  3. 退出 vi 或 vim:

    • 保存操作完成后,您可以使用 :q 命令退出编辑器:
      :q
      
      1

# 详细步骤说明

  • :w !sudo tee %:这个命令首先通过 sudo 获取写入权限,然后将当前文件的内容输出到文件中,从而实现以超级用户权限保存修改。
  • tee 命令会接受标准输入并将其写入指定的文件(这里是当前文件)。

# 注意事项

  • 在执行上述步骤时,您可能需要输入您的用户密码以确认使用 sudo 的权限。

通过这种方式,您可以在编辑完成后以超级用户权限保存文件,而无需放弃已做的更改。

在线编辑 (opens new window)
上次更新: 2025/02/25, 18:30:54
less详细使用
top的基本使用

← less详细使用 top的基本使用→

最近更新
01
showprocess用法
04-29
02
vue3中尖括号和冒号的使用细则
04-29
03
sd使用
02-22
更多文章>
🖥️

© 2025窝窝侠 💌 豫ICP备20005263号-2 🛀 Theme by 💝 Vdoing && 小胖墩er

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×