Linux操作系统基础知识vivim命令
之前介绍了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⾏;
linux系统vim编辑器六、粘贴:
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编辑命令中的⼩操作较多,多多练习,慢慢熟练起来就好。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。