IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Linux 命令行——vim 的基本操作和高级操作 -> 正文阅读

[开发工具]Linux 命令行——vim 的基本操作和高级操作

本文摘录自 Linux 命令行

1. vim 基础

在可视化编辑流行的时代为什么要学习 vi 呢?1. 如果没有图形化界面,vi 就派上了用场;2. vi 轻量级且执行快,相比启动图形文本编辑器,再等待其数倍兆字节的数据加载而言,vi 太容易了。3. 一名熟练的 vi 用户无需使用鼠标就可完成编辑

  1. 启动和退出:vi 文件:启动;:q:退出,但是 vi 并没有真正退出,比如我们对文件做了修改但没有保存的时候就会阻止其真正退出。而给命令加上感叹号就可以真正退出::q!

  2. 编辑

    1.    # 确保没有要操作的文件
         localhost:2020-01 chappyzhao$ rm -f foo.txt
         # vi 创建新文件的方法
         localhost:2020-01 chappyzhao$ vi foo.txt
      
    2. 插入模式:i摁下 i 键即实现了 insert 功能,退出编辑模式重新进入命令模式,摁下esc即可。
    3. 保存::w:将修改写入磁盘、
    4. vim 中移动光标:
    按键光标移动
    0(零按键)移动到当前行的行首
    ^移动到当前行的第一个非空字符
    $移动到当前行的末尾
    w移动到下一个单词或标点符号的开头
    W移动到下一个单词的开头,忽略标点符号
    Ctrl+f向下翻一页
    Ctrl+b向上翻一页
    numberG移动到第 number 行。如:1G 移动到文件的第一行
    G移动到文件末尾

2. 进阶编辑:使用 u 可以撤销上次编辑

  1. 追加文本:vim 有几种进入编辑模式的方法。A可以将光标直接定位到行尾并进入编辑模式。
  2. 打开一行:小写 o :当前行的下方另起一行;大写 O:当前行的上方另起一行。
  3. 删除文本
命令删除的文本
x当前字符
dd当前行
d$当前位置到当前行尾
d0当前位置到当前行首
dG当前行到文件的末尾
  1. 剪切、复制和粘贴文本
    1. 剪切:d 命令不仅删除文本,它同时也剪切文本。当我们使用 d 命令的时候,删除的部分被复制到一个粘贴缓冲区中(看作剪切板),粘贴时使用小 p 可以把剪切板中的文本粘贴到光标位置之后,或者大 P 粘贴到光标之前。
    2. 复制:y 命令用来复制文本,和 d 剪切的方式差不多。
    命令复制内容
    yy整行文本
    5yy本行和下面的四行
    y$从光标到本行的结尾
    yG从当前行到文本末尾
    y20G从当前行到文件的第20行
    1. 粘贴:p
    2. 查找和替换:vim 能把光标移到搜索到的匹配项上,它可以在单行搜索,也可以进行全文搜索。也可以在用户确认与否的情况下进行文本替换。
      1. 搜索单行:f 命令可以搜索一特定行,并将光标移动到下一个匹配的字符上。如:fa 命令会把光标定位到同一行中下一个出现 ‘a’ 的位置,且在进行一次搜索后,输入分号就能重复这次搜索。大前提,搜索从头开始才能匹配
      2. 查找整个文件:使用 / 命令,会移动光标到下一个出现的单词或短语上。当你输入 / 后,屏幕底部就可以输入查找内容。通过n命令重复先前的查找。
      3. 全局查找和替换:vim 使用 ex 命令来执行查找和替换操作。如:将文件中的“line” 替换为“Line”::%s/line/Line/g:冒号后面运行一个 ex 命令;% 指定要操作的行数,%代表从第一行到最后一行。1,5 代表1-5行;s 指定操作-替换;/ine/INE 查找和替换类型;g 全局global的意思,省略 g,则只替换每个文本行的第一个匹配的字符串,gc 则表示替换会需要用户确认。
    3. 编辑多个文件:同时能够编辑多个文件是很有用的。你可能需要更改多个文件或从一个文件复制内容到另一个文件。通过 vim 我们可以打开多个文件进行编辑:vi file1 file2...
# 获取 ls 的输出到一个文件中,同时也是创建这个文件。 
ls -l /usr/bin > ls-output.txt
# 查询
localhost:2020-01 chappyzhao$ ls 
1		5		8		ls-output.txt
2		6		9		two words.txt
3		7		foo.txt		{4}
# 同时编辑多个文件,回车后会显示第一个文件内容,按键 :n 可以显示下一个;:N 显示上一个;查看正在编辑的文件列表 :buffers ;选择第 n 个文件 :buffer n 
vi foo.txt ls-output.txt
	2. 打开另一个文件并编辑
vi foo.txt
# 要加入第二个文件,输入
:e ls-output.txt
 # 此刻查看所有文件。使用了 e 就不能用 n/N 来切换文件了,只能用 :buffer ? 文件缓冲区号
:buffers
	3. 跨文件复制粘贴:当我们编辑多个文件时,经常需要将一个文件的内容复制到另一个文件中,通过前面我们学过 y(yank拉)和 p 命令就可以完成。
  1. 保存工作:像 vim 中的其他操作一样,我们已经知道 :w 可以保存,但还有其他方法。如:在命令模式下,输入 ZZ 就可以保存并退出。
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-07-03 11:02:22  更:2022-07-03 11:02:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 2:00:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码