Skip to content

服务器托管,北京服务器托管,服务器租用-价格及机房咨询

Menu
  • 首页
  • 关于我们
  • 新闻资讯
  • 数据中心
  • 服务器托管
  • 服务器租用
  • 机房租用
  • 支持中心
  • 解决方案
  • 联系我们
Menu

【Linux】 vi / vim 使用

Posted on 2023年11月17日2023年11月17日 by hackdl

天天用vim 或者vi 。看着大佬用的很6 。我们却用的很少。今天咱们一起系统学习一下。

vi / vim 发展史

vi

是一款由加州大学伯克利分校,Bill Joy研究开发的文本编辑器。

vim

Vim是一个类似于Vi的高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。Vim是自由软件。Vim普遍被推崇为类Vi编辑器中最好的一个,事实上真正的劲敌来自Emacs的不同变体。1999 年Emacs被选为Linuxworld文本编辑分类的优胜者,Vim屈居第二。但在2000年2月Vim赢得了Slashdot Beanie的最佳开放源代码文本编辑器大奖,又将Emacs推至二线。

Vim是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的服务器托管网功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。

Vim(Vi improved)是vi编辑器的加强版,比vi更容易使用。vi的命令几乎全部都可以在vim上使用。

vim 和 vi 都是一个文本编辑器不只linux的命令。

Linux通常都已经默认安装好了 vi 或 Vim 文本编辑器,我们只需要通过vim命令就可以直接打开vim编辑器了,如下图所示:

输入:vim

退出输入 :q

是不是很一样。哈哈。

vim使用

注意1

不要使用 vim 打开大文件, vim 会一次性读取所有内容到内存,容易造成宿主机内存溢出,打开文件前查看文件大小。一般不要超过100MB 。

使用vim打开文件

基本语法:vim 文件名称

示例:vim test4.text

vi是三中模式

(不学习这个了,了解就行)

  • Command(命令)模式,用于输入命令
  • Insert(插入)模式,用于插入文本
  • Visual(可视)模式,用于视化的的高亮并选定正文
VIM四种模式
  • Normal 正常模式
  • Insert 插入(编辑)模式
  • Command 命令模式
  • Visual 可视化模式
Normal正常模式

启动vim后默认处于正常模式。不论位于什么模式,按下键(有时需要按两下)都会进入正常模式。正常模式一般用于浏览文件,也包括一些复制、粘贴、删除等操作。

Insert 插入(编辑)模式

在正常模式中按下i, I, a, A等键,会进入插入模式。现在只用记住按i键会进行插入模式。在插入模式中, 输入内容会插入到文本中。

Command 命令模式

在正常模式中,按下:(英文冒号)键,会进入命令模式。 在命令模式中可以设置vim一些格式,也可以进行内容查找等操作。

Visual可视化模式

在正常模式中按下v, V, +v,可以进入可视模式。 可视模式主要用于选择文本内容时,可以有很直观的看到选中内容。
可视模式有三种:


1、字符模式: v (小写)

2、行模式: V (大写)

3、块模式: Ctrl+v

移动命令

通常使用键盘区右下角的 ↑ ↓ ← →。

Vim 提供了另一种方式来移动光标——使用 h、j、k、l 键来移动光标。

  • h 光标向 左 移动一个字符
  • j 光标向 下 移动一行(实际行:以换行符结束的为一行)
  • gj 光标向 下 移动一行(屏幕行:屏幕上的一行)
  • k 光标向 上 移动一行(实际行:以换行符结束的为一行)
  • gk 光标向 下 移动一行(屏幕行:屏幕上的一行)
  • l 光标向 右 移动一个字符
  • 0 到行首
  • ^ 到行首第一个字符,如果前面有空格的话
  • $ 到行尾
  • gg 快速到文件头
  • G 快速到文件尾
  • 100G 跳转到第100行
  • w / W 移动到下一个单词/字符串的开头(大写是以空格为分界符)
  • e /E 移动到下一个单词/字符串的结尾
  • b/ B 移动到(上一个/当前)单词/字符串的开头
  • ge / gE 移动到(上一个/当前)单词/字符串的结尾
  • Ctrl-f 向上翻页
  • Ctrl-b 向下翻页
  • Ctrl-d 向下翻半页
  • Ctrl-u 向上翻半页
  • zz 光标所在行移动到屏幕的中间。
  • zt 光标所在行移动到屏幕的顶端。
  • zl 光标所在行移动到屏幕的底端。
操作命令
  • y 复制 (yank)
  • yy 复制一行
  • 10yy 向下复制10行
  • yw 复制光标开始的一个单词
  • y$ 复制光标到行尾
  • yfB 复制光标到第一个大写B中间的内容
  • y2fB 复制光标到第二个大写B中间的内容
  • x 向剪切一个一个字符,如果是在行尾,则为向前剪切
  • 3x 剪切三个
  • xp 非行尾交换两个字符,如从 bs 变成 sb
  • p粘贴(y复制完了 用p来粘贴)
  • 3p 将复制或剪切的内容粘贴三次
  • c 变更 (change) cc :删除一行并进入插入模式
  • cw 替换文本直到单词末尾(ce也可) 语法为ncw n表示需要删除的单词个数,表示删除n个单词后进入insert模式

  • c$ 替换文本直到行尾 同cw 只服务器托管网是是从光标开始删除至行尾 并进入insert 模式

  • d 删除 (delete)
  • dd: 删除一行
  • 20dd 删除20行
  • dw 删除一个单词
  • df” 删除到出现的第一个双引号
  • S 删除整行,与dd区别在于,S删除后会进入Insert模式
  • x 删除光标下的字符
  • X 删除光标左边的字符
  • ~ 转换大小写 ‘~’ 不是一个操作符,但是可以在配置文件里 “set tildeop” 将其变成一个操作符
  • g~ 转换大小写(大写边小写,小写变大写)
  • gu 将选中内容转换为小写
  • gU 将选中内容转换为大写
  • > shift right (向右移动一个制表符) >>:向右缩进当前行
  • u(小写) 撤销
  • U撤销对整行的操作
  • Ctrl + r 重做(Redo),即撤销的撤销。
保存退出
  • :wq保存并退出
  • ZZ保存并退出
  • :q!丢弃修改并退出 (q退出,有修改的话q不能退出)
  • :qa!打开多个文件时使用此命令
查找并替换
  • :/yang 直接查找文本yang 内容
  • :/yang 表示查找yang 单词 然后 : n 查找下一个, :N查找前一个
  • : s/old/new/g 查找old并替换为new,g代表整行匹配 替换 在进入命令行模式前 光标 所在行
  • :#, #s/old/new #, #代表首尾行号 比如 1,3 就是1-3行 可以通过 :set nu 来显示行号
  • :%s/old/new/g 全文匹配替换
  • :%s/old/new/gc 全文匹配替换,并每次替换会弹出确认提示 c所有替换命令 加c 后会弹出确认提示
选项设置
  • :set ic 忽略大小写
  • :set is 部分匹配(like)
  • :set hls 高亮匹配
  • :set nu 显示行号

文件操作
  • :e + filename打开新文件
  • :r + filename读取文件并插入到当前文件
  • :bn 切换到下一个文件 当使用 vim file1 file2 打开多个文件时
  • :bp 切换到上一个文件
分屏启动

  • vim -on file1 file2… 水平分屏
  • vim -On file1 file2… 垂直分屏
  • Ctrl + w = 所有屏一样高度
  • Ctrl + w + 增加高度
  • Ctrl + w – 减少高度
  • Ctrl + w c 关闭当前窗口(如果是最后一个,无法关闭) 先按ctrl +w 再按c
  • Ctrl + w q 关闭当前窗口(如果是最后一个,则退出vim) 先按ctrl +w 再按q 或者直接进入命令行模式 输入q 一个一个的关闭
水平分屏 vim -on test4.text test8.text

垂直分屏 vim -On test4.text test8.text

Vim 有一个超级大招 那就是宏录制。今天不想写了,有空在写吧,哈哈哈哈哈。

服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net

相关推荐: 【数据结构-队列】队列介绍

欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学习,不断总结,共同进步,活到老学到老 导航 檀越剑指大厂系列:全面总结 ja…

Related posts:

  1. 北京电信机房租用
  2. 全面分析:网站服务器托管优秀企业
  3. 汉源高科宽温防雷百兆1光2电工业级光纤收发器光电转换器交换机SC口20公里
  4. 阿里神龙云服务器托管:可靠、高效的云端服务
  5. 高效专业Web服务器托管服务

服务器托管,北京服务器托管,服务器租用,机房机柜带宽租用

服务器托管

咨询:董先生

电话13051898268 QQ/微信93663045!

上一篇: 【图像处理GIU】图像分割(Matlab代码实现)
下一篇: 实施供应商管理时常见的挑战及解决方案

最新更新

  • 惊人发现:加班与生产力下降之间的联系
  • (CV)论文列表
  • python3使用pandas备份mysql数据表
  • 揭开这个汽车托运行业的神秘面纱!
  • P3393 逃离僵尸岛

随机推荐

  • Golang底层实现系列——sync.Map底层实
  • DBeaver连接Impala数据库
  • 高效稳定的服务器托管类网站模板
  • 用VSCODE启动Java项目
  • MySQL的驱动表与被驱动表

客服咨询

  • 董先生
  • 微信/QQ:93663045
  • 电话:13051898268
  • 邮箱:dongli@hhisp.com
  • 地址:北京市石景山区重聚园甲18号2层

友情链接

  • 服务器托管
  • 机房租用托管
  • 服务器租用托管
©2023 服务器托管,北京服务器托管,服务器租用-价格及机房咨询 京ICP备13047091号-8