Linux入门3——vim的简单使用

1.vim

1.1 vim的模式

vim有三种主要模式:

①命令模式:使用vim刚打开进入的模式就是命令模式;

②插入模式:只有在插入模式下才可以做文字输入,按[Esc]键可退回命令模式;

③末行模式:文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。在命令模式下,按[shift]+[:](即英文状态下的[:]键) 即可进入该模式。

图解三种模式之间的切换:

一些见解:在vs编译器里我们可以用鼠标选中任意代码,可是在Linux下鼠标并不起作用。

所以命令模式我们就可以简单理解为:其相当于我们用vs编译器鼠标选中任意代码进行注释、去注释、批量复制粘贴等一系列操作的过程;插入模式就相当于我们完完全全用键盘输入字符的过程。

1.2 vim的基本命令

1. 命令模式

我们刚开始使用 vim test.c 命令进入的模式就是命令模式:

基本操作

①按 [i/o/a] 键进入插入模式,按 [Esc] 回到命令模式**;**

②按 [:] 键进入底行模式。

移动光标

③h、j、k、l分别对应左、下、上、右光标移动一格;

(w------往后移动,一次移动一个单词;b------往前移动,一次移动一个单词)

键盘的↑↓←→键也能实现光标的上下左右移动是因为早期的键盘并没有这四个键。

④ [G] ------光标移动到文本最后 ;

⑤ [$] ------移动到光标所在行的"行尾";

⑥ [^] ------移动到光标所在行的行首;

⑦ [w]------光标跳到下个字(单词)的开头;

⑧ [e]------光标跳到下个字(单词)的字尾;

⑨ [b]------光标回到上个字(单词)的开头;

⑩ [nl]------(n为数字)光标移到该行的第n个位置,如:5l,56l;

⑪ [gg]------光标移到文本开始;

⑫ [G]------光标移到文本末端;

⑬ [Ctrl]+[b]------屏幕往"后"移动一页;

⑭ [Ctrl]+[f]------屏幕往"前"移动一页;

⑮ [Ctrl]+[u]------屏幕往"后"移动半页;

⑯ [Ctrl]+[d]------屏幕往"前"移动半页;

删除文字

①[x]------每按一次,删除光标所在位置的一个字符;

②[nx]------(n为数字)例如,[6x]表示删除光标所在位置的"后面(包含自己在内)"6个字符;

③[X]------大写的X,每按一次,删除光标所在位置的"前面"一个字符;

④[nX]------(n为数字)例如,[6X]表示删除光标所在位置的"前面"6个字符;

⑤[dd]------删除光标所在行 ;

⑥[ndd]------(n为数字)从光标所在行开始删除n行;

复制粘贴

①[yw]------将光标所在之处到字尾的字符复制到缓冲区中(复制一个单词);

②[nyw]------复制n个单词到缓冲区;

③[yy]------复制光标所在行到缓冲区;

④[nyy]------例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字;

⑤[p]------将缓冲区内的字符贴到光标所在位置。

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

替换

①[r]+[x]------(x为任意字符)将光标所在处的字符替换为[x];

②[n]+[r]+[x]------(n为数字,x为任意字符)将光标所在处之后的n个字符替换为x;

③[R]------进入替换模式,任意替换光标所在位置的字符,直到按下[Esc]回到命令模式;

撤销上一次操作

①[u]------撤销上一次操作;

②[Ctrl]+[r]------对撤销进行撤销;

跳至指定的行

①[ctrl]+[g]------列出光标所在行的行号;

②[nG]------例如:[3G]表示移动光标至文本的第15行行首;

2. 末行模式

①[set nu]------输入[set nu]后,会在文件中的每一行前面列出行号([set nonu]取消行号);

②[n]------n表示数字,输入数字再按[Enter]键光标就会跳到该行;

③[/ 关键字]------先按[/]键,再输入需要寻找的字符,如果第一次找的关键字不是我们需要的,一直按[n]会往后寻找,直到找到为止;

④[? 关键字]------作用与[/ 关键字]相似,区别在于[/ 关键字]按[n]之后,光标逐级往下寻找,[? 关键字]按[n]之后,光标逐级往上寻找。

⑤[w]------保存文件;

⑥[q]------退出,如果无法离开vim,可以在[q]后跟一个[!]强制离开vim;

⑦[wq]------保存并退出,一般此键最常用;

⑧[vs+文件名]------可以实现屏幕同时出现多个文件,光标所在哪个文件,此时就正在编辑哪个界面;按[Ctrl+ww]实现光标在多个文件之间的跳转;

3.批量化注释与批量化去注释

①[Ctrl+v]进入VISUAL BLOCK模式-->②[h/j/k/l]进行区域选择-->③[I]进入插入模式-->④[//]输入//注释-->⑤[Esc]退出插入模式,此时即可实现选中区域的批量化注释;

①[Ctrl+v]进入VISUAL BLOCK模式-->②[h/j/k/l]进行区域选择-->③[d]删除注释,此时即可实现选中区域的批量化去注释;

相关推荐
F-2H15 分钟前
C语言:指针4(常量指针和指针常量及动态内存分配)
java·linux·c语言·开发语言·前端·c++
aherhuo18 分钟前
基于openEuler22.09部署OpenStack Yoga云平台(一)
linux·运维·服务器·openstack
檀越剑指大厂1 小时前
【Linux系列】Shell 脚本中的条件判断:`[ ]`与`[[ ]]`的比较
linux·运维·服务器
2301_819287123 小时前
ce第六次作业
linux·运维·服务器·网络
武汉联从信息3 小时前
如何使用linux日志管理工具来管理oracle osb服务器日志文件?
linux·运维·服务器
Aileen_0v03 小时前
【AI驱动的数据结构:包装类的艺术与科学】
linux·数据结构·人工智能·笔记·网络协议·tcp/ip·whisper
州周4 小时前
Ftp目录整个下载
linux·服务器·数据库
Jackey_Song_Odd4 小时前
Ubuntu 24.04.1 解决部分中文字符(门、径)显示错误的问题
linux·ubuntu
kaixin_learn_qt_ing4 小时前
Linux export命令
linux
余额不足121384 小时前
C语言基础十六:枚举、c语言中文件的读写操作
linux·c语言·算法