Linux操作系统基础知识vi/vim命令
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux操作系统基础知识vi/vim命令相关的知识,希望对你有一定的参考价值。
之前介绍了nano编辑器,vi/vim在功能上更加强大,所以一般都使用vi/vim编辑器编写脚本。vim在vi基础上添加了更加友好的编辑界面,也更容易发现错误。
也可以称为模式化编辑器:编辑模式(命令模式)、末行模式、插入模式(输入模式)、替换模式、可视化模式,通过良好的结合各种模式进行脚本编辑。
一、vi/vim的打开方式:
vi/vim:打开vi/vim的界面;
vim file:file存在,则打开并将光标默认放置在第一行第一个字符;
file不存在,则以新文件的方式打开,若保存,则文件被创建,若不保存,文件消失;
vim +# file:制定光标在#行行首;
vim + file: 光标定位在最后一行行首;
vim+ /PATTERN/打开文件,并且将光标定位至首次被PATTERN匹配的行的行首位置;即只完成首次匹配;
二、vim的关闭方式:
末行模式的关闭:
:q 直接关闭VIM编辑器,不保存修改内容;
:q!强制退出但不予保存;
:w 保存修改的内容;
:wq保存修改的内容并关闭vim编辑器;
:wq!对于root用户来说,一些只读文件的修改可以强制保存并退出;
:w!强制保存;
编辑模式的关闭:
ZZ退出保存;
ZQ退出不保存;
在vim的编辑模式中,移动光标:
逐字符移动;
ARROW,上下左右键;
命令hjkl,在有些键盘上没有配置上下左右键时使用,前面可加数字,#h向左移动#个字符;
逐字移动;
w移动到下一字首;
e移动到下一字尾;
b回到上一个字首;
行内跳转;
0绝对行首;
^相对行首;
$行尾;
行间跳转;
#G直接将光标移动至第#号行;
G直接将光标移动至最后一行;
gg直接将光标移动至第一行;
末行模式中光标移动:
:#将光标移动至第#行;
:$直接将光标移动至文档最后一行;
三、翻页:
ctrl+f向下一屏forward;
ctrl+b向上一屏back;
ctrl+d向下半屏down;
ctrl+u向上半屏up;
四、逐字符删除:
x删除光标所在位置的字符;
X删除光标所在位置左侧的单个字符;
五、编辑模式中的万能删除命令:
d:删除光标经过的所有内容;
dd:删除光标所在行;
在末行模式下:
:m,nd删掉m到n行的内容;
.表示当前光标所在行;
$表示尾行;
m,+nd从当前光标所在行开始,在经过n行;
六、粘贴:
p:向右向下进行粘贴;
P:向左向上进行粘贴;
末行模式下:
p;
七、编辑模式中的万能复制命令:
复制光标经过的所有内容;
用法与d命令相同;
八、模式的切换:
1.从编辑模式到末行模式:
:输入命令 ;
/和?进行查找,n和N,n表示顺序查找,N表示逆序查找;
/ 自上而下;
?自下而上 ;
2.从末行到编辑模式:
esc键;
enter键;
backspace键;
3.从编辑模式到输入模式:
I将光标移动至行首并进入输入模式;
i光标位置不变在位置前面插入信息;
A将光标移动至行尾并进入输入模式;
a在光标所在位置的后面插入字符;
O在光标所在行的上面插一行;
o在光标所在行的下面插一行;
c更换整行内容;
C从光标所在位置到行尾删掉,并进入输入模式;
s删除光标所在位置的一个字符,进入输入模式;
S更换整行内容;
4.从输入模式到编辑模式:
esc键;
5.从编辑模式到替换模式:
R进入替换模式;
6.从替换模式到编辑模式:
esc键;
7.从编辑模式到可视化模式:
v逐个字符选择;
V选择整行;
在选取之后可以执行复制或删除的操作;
只要完成操作就回到编辑模式;
注意:所有的模式切换必须经由编辑模式,两种非编辑模式之间无法直接进行切换;
九、替换命令:
r仅仅替换一个字符;
十、撤销:
u:撤销一次此前的编辑操作;
ctrl+r:撤销最近的一次撤销操作;
十一、重复之前的一次编辑操作:
.;
十二、特殊的末行命令:
1.:set number显示行号->set nu;
:set nonumber取消行号->set nonu;
2.开启或关闭字符大小写的区分:
:set ignorecase -> set ic;
:set noignorecase-> set noic;
3.开启或关闭自动缩进功能:
:set autoindent->set ai;
:set noautoindent->set noai;
4.开启或关闭查找高亮显示:
:set nohlsearch->nohl;
:set hlsearch;
5.开启和关闭语法着色:
:syntax on;
:syntax off;
十三、vimtutor:
称为vim导师,我们可通过打开vimtutor来练习vim中的各种操作。
vi/vim编辑命令中的小操作较多,多多练习,慢慢熟练起来就好。
以上是关于Linux操作系统基础知识vi/vim命令的主要内容,如果未能解决你的问题,请参考以下文章