第四部分:Linux编辑器vim

目录

1、nano

2、vim

2.1、vim的基本概念

2.2、vim的基本操作

2.3、命令模式操作

2.4、底行模式操作

3、vim配置

3.1、配置文件

3.2、常见配置选项

3.3、"一键"配置vim


1、nano

nano 是一个轻量级的文本编辑器,它具有简单易用的界面,比较适合快速上手。

语法:nano 文件名

功能:编辑文件

例如:

nano test01.txt

再比如:

nano test01.c

Ctrl+O:保存所做的修改。

Ctrl+X:退出。

注意:如果你退出前没有保存所做的修改,它会提示你是否要保存;如果不要,请按n,反之,则按y;然后它会让你确认要保存的文件名,确认或修改后按Enter即可。

这里仅仅只是简单介绍一下nano,更多的细节自行学习。

2、vim

vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。我统一按照vim来进行讲解。

2.1、vim的基本概念

主要讲解vim的三种模式(其实有好多模式,目前掌握这3种即可),分别是命令模式 (command mode)、插入模式 (Insert mode)和底行模式(last line mode),各模式的功能区分如下:

命令模式:vim打开一个文件默认是命令模式,用户的所有输入都会被当成命令。控制屏幕光标的移动,字符、字或行的删除,移动复制等,以及进入插入模式下,或者到底行模式。

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

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

2.2、vim的基本操作

进入vim:在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面。

注意:就是你进入vim之后,是处于[命令模式],你要切换到[插入模式]才能够输入文字。

命令模式切换为插入模式:

第一种方法:输入a(进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;)

第二种方法:输入i(进入插入模式后是从光标当前位置开始输入文件;)

第三种方法:输入o(进入插入模式后,是插入新的一行,从行首开始输入文字。)

插入模式切换为命令模式:

按一下「ESC」即可。

命令模式切换到底行模式:

「shift + ;」, 其实就是输入「:」

底行模式切换到命令模式:

按一下「ESC」即可。

简单来讲,可以用下面的图示表示:

若想要退出vim

在底行模式下,

输入w:保存内容。

输入w!:强制保存内容。

输入wq :保存并退出vim。

输入wq!:强制保存并退出vim。

输入q:不保存退出vim。

输入q!:不保存强制退出vim。

注意:可以使用vim打开一个不存在的文件,但是如果退出前不保存的话,该文件是不会被创建出来的。

注意:当使用q命令退出vim时,vim实际上会忽略未保存的更改并退出编辑器。但如果在vim中使用插入模式写入内容,最后再进入底行模式退出,即使使用q退出也能够保存内容,这是因为在插入模式下已经保存好了写入的内容。

2.3、命令模式操作

移动光标:

vim可以直接用键盘上的上下左右 移动来移动光标,但正规的vim是用小写英文字母hjkl,分别控制光标左、下、上、右移动。

按[gg]:进入到文本开始。

按「G」:进入到文本的最后。

按「^」:移动到光标所在行的"行首"。

按「$」:移动到光标所在行的"行尾"。

按「b」:光标回到上个字的开头。(如果是单词那就按单词来移动,如果不是单词那就按字符来移动,下面的w也是同理。)

此外,可以使用数字加b或者加下面的w的方式向左或者向右移动任意字的距离。

按「w」:光标到下个字的开头。

删除文字:

按「x」:每按一次,删除光标所在位置的一个字符

按「#x」:从光标开始删除后面的#个字符。例如:「6x」表示删除光标所在位置的"后面(包含自己在内)"6个字符

按「dd」:删除光标所在行(实际上这个是剪切的意思,效果上是删除,可以配合下面的p使用。)

按「#dd」:从光标所在行开始删除#行。(也是可以配合下面的p使用的)。

复制:

按「yy」:复制光标所在行到缓冲区。

按「#yy」:例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。

按「p」:将缓冲区内的字符贴到光标所在行的下一行。

按「#p」:例如,「4p」表示将缓冲区内的字符粘贴4次。

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

替换:

按「~」:快速进行大小写转换(也就是按shift+`)。

按「r」:替换光标所在处的字符。(先按r再按想要替换的字符)

也可以使用数字+r的方式进行批量的替换。

按「R」:替换光标所到之处的字符,直到按下「ESC」键为止(按ESC键后就会回到命令模式)。其实这个就是第四种模式,称为替换模式(replace)

撤销:

按「u」:回到上一个操作。按多次"u"可以执行多次回复。(类似于撤销)。

按「ctrl + r」: 撤销的恢复,后悔撤销的话可以使用这个方式撤销之前的撤销。也就是撤销上面的u操作。

跳转:

按「ctrl+g」列出光标所在行的行号。

按「#G」:例如,「15G」,表示移动光标至文章的第15行行首。

2.4、底行模式操作

在底行模式下:

行号:

输入「set nu」: 会在文件中的每一行前面列出行号。

输入「set nonu」:去掉行号。

多窗口:

「vs+文件名」:表示打开该文件。

「ctrl+ww」:表示窗口光标切换。

注意:光标在哪一个窗口里面,就对哪一个窗口进行操作。

其实,在底行模式下是可以干很多东西的,可以直接在该模式下执行编译命令(后面会详细介绍),例如:

! gcc code.c

甚至可以执行ls命令,例如:

! ls

也就是说,可以在不退出vim的情况下,执行外部的命令。

还可以直接运行程序,例如:

! ./a.out

3、vim配置

3.1、配置文件

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

而在每个用户的家目录下,都可以自己建立私有的配置文件,命名为:".vimrc"。例如,/root目录下, 通常已经存在一个.vimrc文件,如果不存在,自己创建即可。 在哪一个用户家目录下配置就影响哪一个用户,不会干扰其他用户。建议使用这种方式进行配置。

3.2、常见配置选项

设置语法高亮: syntax on

显示行号: set nu

设置缩进的空格数为4: set shiftwidth=4

例如:在普通用户的家目录下创建一个.vimrc的文件,

touch .vimrc

将set nu复制到该文件中,

vim .vimrc

再次打开vim便会发现行号显示了。

配置选项有很多,如果对其他配置选项感兴趣的话,可以去搜一搜。

3.3、"一键"配置vim

自己配置vim还是太浪费时间,也太吃操作了,所以接下来讲讲如何"一键配置"vim。如果真的很感兴趣vim的配置,可以去网上找找。

注意:目前只支持 Centos7 x86_64,此外不要在root用户下进行该操作,在普通用户下进行操作才行。

首先,点击下面的链接:

https://gitee.com/HGtz2222/VimForCpp?_from=gitee_search

然后,向下滑动鼠标滚轮,找到:

将上面的这个curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh给复制下来,然后粘贴到命令行中,按回车即可。然后会出现:

输入root密码即可。最后等待执行完毕,出现下面的内容即可。

最后按照要求在命令行输入:

source ~/.bashrc

vim的配置也就成功了。

如果想要卸载这些配置,可以参考:

参考资料:

vim从入门到精通

相关推荐
木偶☜4 分钟前
Node.js接收文件分片数据并进行合并处理
服务器·javascript·arcgis·node.js
编程墨客9 分钟前
IO进程----进程
linux·服务器·microsoft
可涵不会debug33 分钟前
【C++】在线五子棋对战项目网页版
linux·服务器·网络·c++·git
清风-云烟1 小时前
使用redis-cli命令实现redis crud操作
java·linux·数据库·redis·spring·缓存·1024程序员节
Rm1 小时前
Linux 防火墙 Systemctl 常用命令速查
linux
孤寂大仙v1 小时前
【Linux】环境变量
linux·运维·服务器
稳联技术1 小时前
DeviceNet转Profinet网关+FANUC机器人:打造工业界的灭霸手套,掌控无限可能
运维·服务器
DADIAN_GONG2 小时前
how to use | in Linux? give me an example
linux·运维·服务器
数据的世界012 小时前
C#中的语句
服务器·c#
新知图书3 小时前
Linux C\C++编程-文件位置指针与读写文件数据块
linux·c语言·c++