第四部分: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是用小写英文字母h、j、k、l,分别控制光标左、下、上、右移动。
按[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从入门到精通