[Linux] vim/vi in linux (linux basic development tools)

  1. Vim keyboard map

This is the keyboard map of vim/vi, and some basic operations are clearly marked on it.

edit

  1. Basic concepts of vim

2.1. Introduction

The difference between vi/vim To put it simply, they are both multi-mode editors. The difference is that vim is an upgraded version of vi. It is not only compatible with all commands of vi, but also has some new features in it. For example, syntax highlighting and visualization operations can be run not only on the terminal, but also on x window, mac os, and windows.

2.2. Functional distinction of each mode

Let's explain the three modes of vim (in fact, there are many modes, you can master these three at present),

Respectively command mode (command mode)
Insert mode
bottom line mode (last line mode)

Normal/Normal/Command mode (Normal mode)

Control the movement of the screen cursor, delete characters, words or lines, move and copy a section and enter Insert mode, or go to last line mode.

Insert mode

Only in Insert mode, text input can be done, press "ESC" key to return to the command line mode. This mode is the most frequent editing mode we will use later.

last line mode

Save or exit the file, you can also perform file replacement, find character strings, list line numbers and other operations. In command mode, shift+: to enter this mode. Press the "ESC" key to return to the command line mode.

To view all modes, enter: help vim-modes in the last line , you can see all modes directly , there are many modes.

2.3. Mutual conversion between basic modes

Mutual conversion between the basic three modes:

  1. Basic operation of vim

Enter vim: Enter vim [file name] at the system prompt to enter vim full-screen editing screen

vim test.c Open test.c with vim

and enter in normal mode (command mode).

Enter:

edit

Command mode interface:

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配置的更多知识。
拓展阅读。

Supongo que te gusta

Origin blog.csdn.net/zxf123567/article/details/129641512
Recomendado
Clasificación