关于 vi && vim 的一些用法

Linux vi/vim 简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。此状态下敲击键盘动作会被 Vim 识别为命令,而非输入字符,比如我们此时按下 i,并不会输入一个字符,i 被当作了一个命令。在编辑模式当中,你可以发现在左下角状态栏中会出现 –INSERT- 的字样,那就是可以输入任意字符的提示。就能够进入 vi 的一般模式了。这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以你可以进行任何的编辑。vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。 阅读详情

好久不写博客了,距离上一篇差不多快一年了,这可真不是个好现象。

这两天闲一点,继续写起来。

 

今天来写一点自己在运用vi&&vim过程中的经验和体会,以下的内容基本都是本人实际使用过的。今后如果用到了什么新鲜玩意儿,再加进来。

写的比较简单,都是追求自己能看懂就行,奉行拿来主义的恐怕要实际操作和查资料才能明白了。

 

基本操作:(简单列举下,不多说了)

w、q、wq、q!、w!,

i、d

insert、delete、Backspace、pageup、pagedown、home、end、tab等等键盘上的几个键,用法不多说了。

 

g,文档开头

G,文档结尾

 

查找:

/,单斜杠,查找

n,下一个

N,或者是ctrl+n,上一个

 

撤销与恢复:

u,撤销这一步操作,多按几次就多撤几步,哈哈哈。

Ctrl + r, 撤销之撤销,也可以说是恢复吧,按u之后,再按这个Ctrl + r 可以抵消u的效果。

恩,我也只能解释这么多了,懂的自然懂。

 

替换:(我个人一般不倾向于用全局的替换,一般都是一个个的找出来替换掉,防止替换了什么不该换的东西)

用/查找到某一行或者光标放在某一行,然后输入

:s/${old}/${new}      这里解释一下${old}代表准备被替换的字符串,${new}代表用来替换的字符串

这条命令的作用只是替换当前行的首个目标字符串。替换本行全部目标字符串,需要用:s/${old}/${new}/g,我猜这个g应该是global的意思。

实际上这条命令还能实现删除指定字符的功能,只要把${new}设为空就好。

 

多选:

v,可以选中一行中的多个字符串或者整行,或者多行,甚至全文。

然后可以进行删除或者格式化的操作。

如果不是删除或者格式化的操作,而是按下了y, 那么选中的这段,可以粘贴在同一个编辑器的别的地方,记住,是同一个编辑器。

Ctrl + v,多选列,选中多个列然后下拉,可以对选中区域删除或修改。

 

删除:

d,删除整行,或者在v模式下删除整段。

也可以输入一个数字,然后按下dd删除多行,比如3,然后dd,删除本行在内的以下三行。

 

删除一列或多列:

其实还是多选的问题,还是要用到v这个命令,不过应该是Ctrl + v,

Ctrl  v之后移动光标,选中要删除的几行几列,按x或者d都可以删除掉。

 

格式化代码:

我一般就是v,选中几行,然后按等号键=,当然,这是格式化某一段。

那格式化整篇代码怎么办呢,其实还是差不多啊。

按g回到页首,v进入visual模式,G(其实就是shift + g)到页尾,然后等号=搞定,

但是有个前提是你把vim的配置文件设置好缩进,后面会说这个设置文件。

 

代码比对:

vimdiff

命令模式下: vert  diffsplit [filepath]

 

vim查看二进制文件:

vim -b ${filename} 打开文件,-b表示打开binary文件

:%!xxd                   xxd是binary转16位,%和!表示什么不是太清楚,%好像是表示当前路径,待考证。

 

vim显示行号:

:set number

或 set nu

取消显示行号:

:set nonumber

或 set nonu

其实set这个命令有很多功能呢,目前用到最多就是个显示行号,哈哈。

 

下面重头戏来了,vim的配置文件。

我在ls的时候总是习惯性的ls -a显示隐藏文件,哈哈哈,吐个槽。

言归正传:

cd /etc/vim/  然后

vim vimrc   打开配置文件vimrc,这时候会显示一个有很多注释的配置文件

我们这时只需在文件下面加几行:

set tabstop=4                       设置制表符宽度,tab、4个空格

-----------------------------

set expandtab                       设置4空格替换tab

set noexpandtab                  设置tab替换空格    这地方是个坑,不写这一句,tab键下去还是8个空格?我也不太确定

-----------------------------
set softtabstop=4                 设置制表符宽度
set shiftwidth=4                    设置缩进宽度,4个空格
set smartindent                    设置智能缩进
set cindent                            设置c/c++方式缩进
set nu                                    设置显示行号
set hlsearch                          设置显示高亮

 

嗯,这么些差不多够用了,今后有什么再加吧。
 

2017,9,14补充:

vimdiff经常会将相同的部分折叠起来,

打开指定折叠: zo

收回已打开的折叠:zc

打开所有折叠:zr

 

 

 

 

 

 

vi/vim虐我千百遍,我待vi/vim如初恋 大家都知道从20分提高到80分很容易,但是从80分提升到98分可以说很难了。那么手速呢?如何把提升刚才的速度?在其他地方你可能体会不到,在我这篇文章里,会给你神一般的操作。(几十个gif图陪伴你) 阅读详情

相关推荐

Transformer代码(Pytorch实现和详解)!!!

这个是第一版,有些代码如果不对,欢迎在评论指正,后续会慢慢改,我也是刚接触transformer,若有些地方理解不对还请指正。

xml的博客 5612

vi&vim编辑器

vi&vim简介:                     1.vi是linux下标配的一个纯字符界面的文本编辑器,由于不是图形界面,相关操作都要通过         键盘输入命令来完成,需要记住一些常用的操作命令       2.vim是vi的升级版本,完全兼容vi,vim也可以完全当成vi使用,vim是在vi的基础上增加         一些功能,比如语法着色等启动vi:vi file...

XMublog的博客 273

基于51单片机扫地机器人(全套Proteus仿真+原理图+程序+说明书)

(内含源程序代码,原理图,仿真,讲解视频,元件清单等,【精品】值得推荐!!!扫地机器人是以单片机为主控制器。通过单片机控制小车行驶、除尘、蜂鸣。扫地机器人使用双电机驱动,以提高整车运动的平稳性;在智能车进驶过程中,采用双超声波模块实现避障。

2301_76434107的博客 1894

vim 命令&笔记

索引 1. 关于Vim 1.1 Vim的几种模式 2. 启动Vim3. 文档操作4. 光标的移动 4.1 基本移动4.2 翻屏4.3 标记 5. 插入文本 5.1 基本插入5.2 改写插入 6. 剪切复制和寄存器 6.1 剪切和复制、粘贴6.2 文本对象6.3 寄存器 7. 查找与替换 7.1 查找7.2 替换7.3 正则表达式 8. 排版 8.

wjkdtl的专栏 9083

一文带你了解SOA接口测试

了解汽车电子行业的人,近几年可能经常见到一个词“SOA”,那SOA具体是什么?作为测试人员应该要测试哪些内容呢?这篇文章就简单给大家介绍一下。SOA(Service Oriented Architecture)是一种面向服务的架构,最早应用于IT行业,虽然行业内对于SOA的定义没有一个统一的描述,但是总体而言,SOA把功能定义成为服务,服务带有明确的可调用接口,并可以通过网络调用。在汽车领域,对于高性能计算平台而言,为了实现域控制器以及区域控制器之间的互联互通和软硬分离、缩短开发周期等优势,也引入了SOA的

怿星科技的博客 7155

ROS——无人机ROS仿真包 rotors_simulator 编译教程

文章目录 安装wstool sudo apt install python3-wstool 创建ROS工程 $ mkdir -p ~/UAV/src $ cd ~/UAV/src $ catkin_init_workspace # initialize your catkin workspace $ wstool init 下载源码 git clone git@github.com:ethz-asl/rotors_simulator.git 源码链接: https://github.com/eth

漫长IT路 5863

vi&vim操作高级篇

单行复制粘贴删除 在当前目录下创建一个a文件,使用vim a打开并编辑,随便输入一下内容。输入完成后,点击Esc,返回一般模式,将光标上下移动到任意行,双击y,再点击p,即可完成单行的复制粘贴。 将光标移动到任意行,双击d,即可完成单行删除。 在一般模式下按u键可撤销最近一次操作。 全文查找 在一般模式下,输入/以及要查找的内容,回车,即可显示匹配的内容。点击n可继续往下文查找,点击N可往上文查找。 查找并替换 :1,$s/word1/word2/g 将第一行至最后一行的所有world1替换..

Rosen's 631

基于vue2的echarts3D地球

采用vue2+js实现了echarts3D地球的放大、缩小和旋转

qq_44699269的博客 1132

Vi & Vim

介绍了Linux中非常好用的编辑器Vi/Vim的使用

Jingmin Wei's Blog 351

Codesys 3.5报警功能配置保姆级教程:从变量定义到确认方式(含REF/ACK详解)

本文详细介绍了Codesys 3.5报警功能的配置流程,从变量定义到确认方式的选择,特别解析了REF和ACK两种确认方式的底层逻辑。通过实战案例和代码示例,帮助工程师快速掌握报警系统的搭建与调试技巧,提升工业自动化项目的可靠性。

weixin_29245767的博客 458

【华为OD机试真题】18、喊7的次数重排 | 机试真题+思路参考+代码解析(C++、Java、Py)

题目描述 >喊7是一个传统的聚会游戏,N个人围成一圈,按顺时针从1到N编号。   编号为1的人从1开始喊数,下一个人喊的数字为上一个人的数字加1,但是当将要喊出来的数字是7的倍数或者数字本身含有7的话,不能把这个数字直接喊出来,而是要喊”过”。   假定玩这个游戏的N个人都没有失误地在正确的时机喊了”过”,当喊到数字K时,可以统计每个人喊”过”的次数。   现给定一个长度为N的数组,存储了打乱顺序的每个人喊”过”的次数,请把它还原成正确的顺序,即数组的第i个元素存储编号i的人喊

KJ.JK 4167

vi与vim的区别以及常用命令

一、vi与vim的区别 二、VI模式 三、VIM模式 四、VI与VIM的常用命令

技术杠精的博客 8万+

基于深度学习的茶叶等级检测识别系统:YOLOv8 + UI界面 + 数据集完整实现

随着深度学习技术的不断进步,基于计算机视觉的茶叶等级检测系统可以大大提高检测效率,提供客观一致的评估标准。本系统将利用YOLOv8进行茶叶等级的检测与识别,通过图形用户界面(UI)实现与用户的交互,提供茶叶等级分类的实时反馈。本文将详细介绍如何使用YOLOv8结合UI界面,建立一个完整的茶叶等级检测与识别系统,包括数据集的准备、模型的训练、UI的设计及完整的代码实现。本系统的目标是通过深度学习技术,结合YOLOv8模型和图形用户界面(UI),实现对茶叶等级的自动化检测与识别。

YOLO 972

7.Redhat && CentOS中vim(vi)文本编辑器的常见用法

Vim是一款当前Linux系统中默认安装的文本编辑器,它功能强大,熟练地掌握其基本的用法,会对Linux学习更加得心应手。 1.Vim的工作模式 vim共有三种模式: 1)命令模式:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作; 2)插入模式:可以正常编辑文本内容; 3)退出模式:保存或退出文档。 2.命令模式下Vim的用法信息 1)vim工作模式配置 在vim命令模式下...

愿你走出半生,归来仍是少年! 952

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

vi 和vim 的区别

它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。 vim的这些优势主要体现在以下几个方面: 1、多级撤消 我们知道在vi里,按 u只能撤消上次命令,而在vim里可以无限制的撤消。 2、易用性 vi只能运行于unix中,而vim不仅可以运行于unix,windows ,mac等多操作平台。 3、语法加亮

差不多先生 2万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

vi 和 VIM 的区别

vi/vim 是 Linux 系统内置的不可或缺的文本编辑命令,VIM 是 vi 的加强版本,兼容 vi 的所有指令,不仅能编辑文本,而且还具有 shell 程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性。 vi/vim 的介绍 vi/vim 三种模式:命令模式/一般模式(command mode)、插入模式(input mode)、末行模式/指令命令模式(last line mode)。 命令模式/一般模式: 刚刚启动 vi/vim,则进入一般模式,可以移动光标、复制粘

一个有趣灵魂的测试员,指点江山,挥斥方遒 1万+

Linux vi/vim编辑器

Linux vi/vim编辑器

qwertf123的博客 3228

linux(ubuntu)中vim/vi的常见用法

vi/vim常用命令   vim其实就是vi的升级版,vi里的所有命令vim里都可以用,一般使用来说几乎没什么差别。   注:本篇文章区分大小写!      vi / vim三级模式的关系:    命令行模式   任何时候,不管用户处于何种模式,只要按一下ESC键,即可使Vi进入命令模式;我们在shell环境(提示符为$)下输入启动Vi命令,进入编辑器时,也是处于该模式下。在该模式下...

ai_yue的博客 1万+

vi 和 vim 的区别?

作为软件测试工程师,不可避免需要操作到 Linux 系统,vi/vim 是 Linux 系统内置的不可或缺的文本编辑命令,VIM 是 vi 的加强版本,兼容 vi 的所有指令,不仅能编辑文本,而且还具有 shell 程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性。 vi/vim 的介绍 vi/vim 三种模式:命令模式/一般模式(command mode)、插入模式(input mode)、末行模式/指令命令模式(last line mode)。 命令模式/一般模式

软件测试前沿技术分享 4800

vi/vim 的用法与区别

vi/vim 三种模式:命令模式/一般模式(command mode)、插入模式(input mode)、末行模式/指令命令模式(last line mode)。

zxj519911的博客 1078

Linux之vi、vim、sed用法

1.Linux下创建文本文件(vi/vim命令使用详解)vi test.txt/vi filename或者vim test.txt/vim filename再或者touch test.txt/filenamevim是vi的升级版,指令更多,功能更强。下面是收集的vim用法,当在vim里面要实现退出,首先要做的是按【Esc】,然后再输入【:wq】一、一般模式:删除、复制与粘贴类命令x,X      ...

Jane_Jasmine的博客 2562

vi 和 vim 的基本用法

vi 和 vim 的基本用法vi 和 vim 是 liunx 内置的编辑器。vi编辑速度是最快的;vim编辑器可以看作vi的高级版本,它实现了用颜色来进行特殊信息的显示。vim 和 vi 编辑器的三种模式 一般模式: vim 文件名 (直接进入一般模式):在一般模式下,可以进行上下左右的光标移动、删除字符、行,还可以进行复制和粘贴操作 编辑模式,在一般模式中按 i,l,o,O,a,A,r,R 等

perfectzq的博客 833

VI和VIM的用法

一、VI和VIM的关系 VIM是VI的增强版,VIM与VI编辑器完全兼容。 Vi和Vim的区别为:搜索不同、脚本语言不同、共享不同。VIM是从vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。 搜索不同:Vi不支持正则表达式的搜索;Vim支持正则表达式的搜索。 脚本语言不同:Vi没有自己...

致虚极,守静笃,万物并作,吾以观其复 554

vi和vim的区别

写这篇文章的目的,是为了告诉大家尽量使用vim指令对文本进行编辑。初学Linux系统时,我尝试使用vi指令对文本进行编辑,但是无论我怎么努力,都无法成功写入内容。经过一段时间的尝试和摸索,我才发现原来我应该使用vim指令来编辑文本。使用vim指令后,我终于能够顺利地编辑并保存文本了。本篇博客借鉴vi和vim的区别vi/vim 三种模式:命令模式/一般模式(command mode)、插入模式(input mode)、末行模式/指令命令模式(last line mode)。1、命令模式/一般模式。

qq_35654286的博客 1512

Linux vi、vim

今天的主要内容是文件管理基础命令供大家参考,更多内容将会为大家持续加载!!!

2301_76768069的博客 1142
上一篇: Linux下SSH的安装和使用
下一篇: 关于git的一些用法
Benjamin_Xu
博客等级 码龄14年 46粉丝 54原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值