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]删除注释,此时即可实现选中区域的批量化去注释;

相关推荐
嵌入式小能手2 分钟前
Linux C接口编程入门之文件I/O
linux·c语言
别NULL26 分钟前
毕业设计项目——基于RISC-V的标签化跨层调度应用任务管理(论文/代码)
linux·课程设计·risc-v
4647的码农历程29 分钟前
Linux网络编程 -- 网络套接字预备与udp
linux·服务器·网络
pyliumy1 小时前
ansible 剧本模式
linux·运维·ansible
威哥爱编程2 小时前
25个Linux系统性能调优技巧
linux·操作系统
东城绝神2 小时前
《Linux运维总结:基于ARM64+X86_64架构CPU使用docker-compose一键离线部署mongodb 7.0.14容器版分片集群》
linux·运维·mongodb·架构
手心里的白日梦2 小时前
Linux的环境与历史
linux·运维·服务器
头真的要秃啦2 小时前
Linux SSH服务
linux·服务器·ssh
威桑2 小时前
Linux 下 poll 详解
linux·运维·服务器
哦豁灬2 小时前
linux 终端快捷键常用操作
linux·vim