【Linux】linux中vim/vi (linux基本开发工具)

  1. vim键盘图

这是vim/vi的键盘图,基本的一些操作,上面都标识的比较清晰。

编辑

  1. vim基本概念

2.1.介绍

·vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、windows。

2.2.各模式的功能区分

我们讲解vim的三种模式(其实有好多模式,目前掌握这3种即可),

分别是命令模式(command mode)
插入模式(Insert mode)
底行模式(last line mode)

正常/普通/命令模式(Normal mode)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

插入模式(Insert mode)

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。

末行模式(last line mode)

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模式。按「ESC」键可回到命令行模式。

想要查看所有模式,在末行下输入: help vim-modes,直接可以看到所有的模式,有很多的模式。

2.3.基本模式之间的相互转换

基本的三种模式之间的相互转换:

  1. vim的基本操作

进入vim:在系统提示符处输入vim [文件名称] , 就进入vim全屏幕编辑画面

vim test.c 用vim 打开test.c

进入之后是在正常模式(命令模式)下。

进入:

编辑

命令模式界面:

3.1.[正常模式]切换至[插入模式]

a:向后退一个字符开始输入。
i:当前位置开始输入。
o:另起一行,开始输入。

3.2.[插入模式]切换至[正常模式]

目前处于[插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到[正常模式]再删除文字。当然,也可以直接删除。

3.3.[正常模式]切换至[末行模式]

「shift + ;」, 其实就是输入「:」
退出vim及保存文件,在[正常模式]下,按一下「:」冒号键进入「Last line mode」
w :保存当前文件。
wq :存盘并退出vim。
q! :不存盘强制退出vim。
w!:强制退出。
wq!:强制写入并退出。有时候我们在修改系统配置文件的时候就要用到。
  1. vim命令模式命令集

命令模式的意义归根结底就是利用命令代替鼠标操作,运用命令来提高编辑效率。

4.1.切换到插入模式

按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件。
按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字。
按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。
按「O」进入插入模式后,是插入新的上一行,从行首开始输入文字。

4.2.光标移动

vim可以直接用键盘上的光标来上下左右移动,
但正规的vim是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。
如果你将右手放在键盘上的话,你会发现 hjkl 是排列在一起的,因此可以使用这四个按钮来移动光标。 如果想要进行多次移动的话,例如向下移动 30 行,可以使用 "30j" 或 "30↓" 的组合按键, 亦即加上想要进行的次数(数字)后,按下动作即可!
按「 $ 」:移动到光标所在行的“行尾”
按「^」:移动到光标所在行的“行首”
按「w」:光标跳到下个字的开头,也支持#w。
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头
按「#l」:光标移到该行的第#个位置,如:5l,56l
按[gg]:进入到文本开始
按[shift+g]:进入文本末端
按「ctrl」+「b」:屏幕往“后”移动一页
按「ctrl」+「f」:屏幕往“前”移动一页
按「ctrl」+「u」:屏幕往“后”移动半页
按「ctrl」+「d」:屏幕往“前”移动半页
[n+shift+g]:跳转光标到第 n 行。

4.3.删除文字

「x」:每按一次,删除光标所在位置的一个字符。
「#x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符。
「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符。
「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符。
「dd」:删除光标所在行。
「#dd」:从光标所在行开始删除#行。

注意:配合p使用就是剪切操作所以删除就是删除到缓冲区。

4.4.复制

「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」:复制#个字到缓冲区
「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
「p」:将缓冲区内的字符贴到光标所在位置。
「#p」:#次粘贴。[6p] 粘贴6次。

注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

4.5.撤销上一次操作

「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。(撤销)
「ctrl + r」: 撤销的恢复。取消u操作。

4.6.替换

「r」:替换光标所在处的字符。
「#r」:将后面#个字符全部替换,成同一个字符。例如:5r+【字符】,就是讲从光标开始向后5个字符全部替换为输入的字符。
「R」:替换光标所到之处的字符,直到按下「ESC」键为止。其实就是进入替换模式(批量化替换)。
「shift+ ~」:自动大小写切换。按一次切换一个,长按切换一行。

4.7. 更改

「cw」:更改光标所在处的字到字尾处。
「c#w」:例如,「c3w」表示更改3个字

注意:这里是字,指的是单词,不是字符。也是直接进入插入模式。进行修改。

  1. vim末行模式命令集

在使用末行模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按「:」冒号即可进入末行模式

5.1.调出行号和取消行号

列出行号「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号。
取消行号「set nonu」: 输入「set nonu」后,行号会消失。

5.2.跳到文件中的某一行

「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。

5.3.分屏操作

vs test2.c 会再次打开一个文件,分屏操作。(无论分多少个屏幕,光标在那个屏幕,就是操作那个屏幕。
ctrl+ww 在各个屏幕下切换光标 。(在命令模式下,不在底行模式)。

注意:假如我们现在要退出,要退出那个文件,直接光标在那个文件中,进入底行模式 wq 即可。(光标在那个屏幕就操作那个屏幕)。

  1. 底行模式命令集

6.1执行linux命令

!【linux命令】:直接在底行模式下执行linux命令。按 任意键 退回到vim页面。

6.2 全局搜索替换

  1. vim简单配置


在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。这个是全局的vim配置。

虽然每个用户,用的是同一个vim程序,但是,大家可以使用不同的vim配置。

而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下。

通常已经存在一个.vimrc文件,如果不存在,则创建之。

切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~

打开自己目录下的.vimrc文件,执行 vim .vimrc 。写入命令就可以了。

vim的基本配置修改自己的 ".vimrc" 文件,root用户也有自己的 ”.vimrc” 文件。不要动不属于自己的配置文件。

配置的指令需要我们自己去网上查找。一般很多帖子都会讲的很清楚。直接去百度vim配置大全。

这就是 vim 的基本配置,就是给自己家目录下的 “.vimrc” 文件写入配置指令。

vim 的一键配置,就是运用别人写好的脚本。直接配置。
在gtiee上 有一个项目,直接搜索:vimforcpp 下面有一个链接,直接拷贝下来,一键配置。(注意只是支持 Centos7 x86_64 环境。
找到下面的链接即可:

完成后再次打开 vim test.c文件就可以看到 配置好的文件。
关于什么首行缩进,语法高亮都会配置好,也可以自己打开 .vimrc文件 修改配置。
我给大家找了一篇文章,可以看看,学习vim配置的更多知识。
拓展阅读。

猜你喜欢

转载自blog.csdn.net/zxf123567/article/details/129641512
今日推荐