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

相关推荐
tntxia4 小时前
linux curl命令详解_curl详解
linux
扛枪的书生6 小时前
Linux 网络管理器用法速查
linux
顺风尿一寸9 小时前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
XIAOHEZIcode16 小时前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫18 小时前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao3 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐4 天前
Linux内存扩容指南
linux
zylyehuo4 天前
Linux 彻底且安全地删除文件
linux
用户805533698035 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297915 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux