Vi/Vim基本命令操作

2021年10月22日
《献给阿尔吉侬的花束》很好看,还没看完,看完写个读后感好了。

目标

1.Vim的三种工作模式
2.Vim的基本命令

Vim介绍

Vim由荷兰Bram Moolenaar开发,遵守GPL开源协议。功能十分强大,几乎能够编辑现在的所有文件,只用命令,不用鼠标。它的三种模式及其转换如下:在这里插入图片描述

相关命令

设置Vim的工作环境

:set autoindent 自动缩进
:set nu 显示行号
:syntax enable 语法高亮显示
:set wrap 折行显示
:set hlsearch  高亮显示匹配的单词
:set no* 取消设置
:help  获取帮助信息

进入插入模式(命令模式下)

vi/vim filename   打开文件,没有则创建文件

i  插入模式
I  跳到光标所在行行首并进入插入模式
a  跳到光标后一个位置,并进入插入模式
A  跳到光标所在行行尾,并进入插入模式
O  在当前行上方,插入空行,并进入插入模式
o  在当前行下方插入空行,进入插入模式
C  删除光标到句末的全部字符,进入插入模式

移动光标(命令模式下)

h  向左移动
j  向下移动
k  向上移动
l  向右移动
Ctrl+F 向上翻页
Ctrl+B 向下翻页

%   跳到匹配当前光标所在位置的括号的相应匹配括号处
$   跳到光标所在行的句尾
^   跳到光标所在行的句首
gg  跳到文档第一行
GG  跳到文档最后一行

[num]G   跳到对应行号
''       跳到上一次位置(两个单引号)

 m<某个字母>      增加一个标签,标签名字为该字母
 '<某个字母标签>  跳到已添加的标签处

查找和替换(命令模式下)

 /str 向下查找内容为str的字符串,n 下一个,N上一个
 ?str 向上查找内容为str的字符串
 
 :g/old1/s//new3/g     查找old1,并全部替换为new3
 :g/old1/s//new3/gc    查找old1,并全部替换为new3,每个替换之前都要经过确认
 :10,40g/abs/s//123/g  10至40行的abc全部替换为123
 
 注:如果要替换的字符包含/,则需要使用转义字符\在前

存盘和退出(命令模式下)

 :x   存盘并退出
 :q!  不存盘强制退出
 :w   存盘不退出
 :wq  存盘并退出
 :w newfile.txt  另存为newfile.txt
 Ctrl+Z          将Vim切换至后台,fg切换回来

复制粘贴与删除(命令模式下)

 dd    删除光标所在行,并同时做了复制
 9dd   删除光标及光标以下9行
 d'<标签>  删除光标至该标签间的所有行
 x     删除光标所在的一个字符
 dw    删除一个单词
 D/shift+d  删除光标到行尾的全部字符
 yy    复制一行
 5yy   复制光标及光标以下5行
 ''a8yy  复制光标及光标以下8行到命名为a的寄存器中
 $ y     复制光标至行尾的字符
 p       将复制或删除的内容粘贴至光标下方
 P       将复制或删除的内容粘贴至光标上方
 ''bp    把命名寄存器b中的内容粘贴到当前行的下方
 ''bp    把命名寄存器b中的内容粘贴到当前行的上方
 v     进入选中状态,移动hjkl进行选中
 y     复制v状态下选中的的内容

编辑命令(命令模式下)

rD      将光标所在字符替换为D
J       将当前位置下一行拼接到本行末尾
cc或者S 替换一行
cw      替换一个单词
u       撤销之前的操作
Ctrl+R  重做(效果与u相反)
.       重复上一次操作
~       字母大小写转换
>>      右移一个tab
<<   	左移一个tab
==   	与上行同缩进
gg = G  按缩进格式进行全文整理,尤其适合整理程序源代码

多文件编辑(命令模式下)

vim file1 file2 file3 
					同时整理三个文件(:n 切换到下一个,":rew"跳回到第一个)
vim -o file1 file2 
					把整个屏幕分割为两个编辑窗口
:e abc.txt 
					在vim窗口临时编辑abc.txt(Ctrl+^ 切换到原始文件)
:[n]split file2 	水平分屏,新屏幕n行
:vsplit file.txt 	纵向分屏
:tabedit file3 		新建一个分页,在该分页编辑file3
gt 		跳到下一个页
gT 		跳到上一个页
:close  关闭当前页或当前窗口
:only 	关闭其它所有窗口,只留下当前窗口
Ctrl+W W 	窗口之间切换
Ctrl+W + 	增加水平窗口行数
Ctrl+W - 	减少水平窗口行数
10Ctrl+W_ 	当前窗口调整到10行
Ctrl+W h|j|k|l 		在各个窗口之间移动光标
:qall! 		强制退出所有页面及窗口
:xall 		全部存盘并退出
:wall 		全部存盘

总结

没有天赋,勤学苦练。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值