vim命令的使⽤详解
⽬录
本⽂解读来⾃我对man vim 的解读
当然有很多解读不准确的地⽅,所有红⾊标注的地⽅都是最基本的,也是保证正确的。(不排除我的语⾔描述有问题)
vim介绍
vim是⼀个富⽂本编辑器,是vi编辑器的扩展版本,它可以⽤来编辑各种⽂本,尤其是能编辑程序
他和vi相⽐有很多的优点,可以多次撤销,可以同时打开多个 窗⼝进⾏编辑,语法⾼亮,命令⾏编辑,在线帮助,可视化选择,等等vim基本操作
打开⽂件
vim filename
#example : 使⽤vim编辑器打开a.txt⽂件
如果filename 为空,则会打开⼀个空的⽂件
vim [options] [filelist]    左右⽅括号代表集合,也就是指可以有多个option和多个list
options详解
options可以在⽂件名的前⾯,也可以在⽂件名的后⾯,对于不需要参数的option,可以放在⼀个破折号(-)后⾯
+[num]  参数就是⼀个整数,打开的⽂件光标会定位到第num⾏,如果不加这个参数,会定位到最后⼀⾏
对于命令  vim + 打开⽂件后,光标会默认定位到第5⾏
+/{patterns}  打开的⽂件会被定位到第⼀次出现patterns的位置(pattern的英⽂释义为模式,regex pattern 为正则表达式),关于patterns的具体内容我没有看过,但是正常情况下,你只要输如你想的内容就好了
命令 vim +/诙谐的 a.txt 的运⾏结果如下:绿⾊位置为光标的初始位置,暗黄⾊位置为所有匹配到的⽂字
-b ⼆进制模式
-C 兼容模式,使⽤这个选项,会使vim更像vi编辑器
-d  diff模式,经常⽤来⽐较两个版本的代码异同,如果⼤家⽤过git,应该对此深有体会
命令 vim - b.txt
运⾏结果如下
linux的vi编辑器命令所有⿊⾊背景为完全相同的地⽅,红⾊背景为完全不同的地⽅,蓝偏绿⾊的背景为与另⼀个⽂件相⽐增加的地⽅,其他的我也不太清楚
-h 显⽰vim的⽤法
-m 你可以在打开的窗⼝中更改,但你将⽆法对你更改后的⽂件进⾏保存,最后使⽤  :q退出,⽂件仍是你修改以前的结果
-M 你⽆法在你打开的窗⼝中更改,并且⽆法 对⽂件进⾏保存
-N ⾮兼容模式
-n 将不会使⽤交换⽂件,如果电脑断电或者发⽣崩溃,你的修改可能⽆法恢复,如果你需要在⼀个很短的时间对⽂件保存,你可以使⽤
:set uc=0,但不可以使⽤ set uc=200。set uc=0会使你的每次修改都将直接写进⽂件。
-o[N],打开n个窗⼝(窗⼝为栈的⽅式,及第⼆个在第⼀个的下⾯,第三个在第⼆的下⾯),如果没有写N的⼤⼩,会为每⼀个⽂件都打开⼀个窗⼝
对于命令  vim - b.,运⾏结果如下
-O[N],和-o[n]类似,但是窗⼝为横向排列
对于命令vim - b.,运⾏结果为
-V[N] 啰嗦模式,会显⽰vim的所有命令,就像linux电脑开机会显⽰各种命令,每⼀步执⾏什么,但是
⾮啰嗦模式会直接打开⽂件,⽽电脑的⾮啰嗦模式就是你没看到那些每步的运⾏过程,只有⼀个进度条,进度条完了就是界⾯。可选参数N为啰嗦模式的值,默认为10,值越⼤啰嗦的就越厉害,如果值为10,只显⽰读取⽂件,读取vimrc,的过程,但是值为100,会显⽰每⼀步读取了什么⽂字,每⾏的内容是什么
-y 简单模式,就像Windows的记事本⼀样,⿏标点击哪⼉光标就会指像哪。虽然很简单,但是作为⼀名计算机⼈,还是会各种命令更有成就感
vim的五种模式(是我⾃⼰定义的五种)
1. 正常模式:这是最基本的模式,在以下任何模式中都可以通过点击Esc回到正常模式
2. 插⼊模式:在该模式下可通过键盘输⼊字符串,在正常模式下,按i,a,o都可以进⼊插⼊模式,i为从当前光标所在字符的前⼀个字符
开始插⼊,a为从当前光标的后⼀个字符开始插⼊,o为从当前光标的下⼀⾏开始插⼊
3. 可视模式:可视模式可以对⽂本进⾏选中,然后⽅便复制,粘贴等操作,在正常模式下只能同时选中⼀个字符,所以如果你想删除多
个字符或者多⾏字符是⽐较不⽅便的---当然在正常模式下确实有命令可以解决这个问题,但是相⽐可视模式有点复杂,在正常模式按v 可进⼊可视模式,按V可进⼊可视⾏模式,安Crtl+v可进⼊可视块模式,⼤家 ⾃⼰实践以下,很容易发现这三种可视模式的差别。另外在可视模式下,也可以⽤v,V,Crtl+v在三种可视模式下切换
4. 替换模式:在正常模式下按R可进⼊替换模式,从当前光标处开始,键盘输⼊的字符会替换掉⽂本已经有的字符
5. 末⾏模式:按:和/可进⼊末⾏模式,使⽤/进⼊的末⾏模式主要⽤来查字符串,在下⾯进⾏详细解释
正常模式必要命令详解
h    #左移⼀个字符
l    #右移⼀个字符
j    #下移⼀⾏
k    #上移⼀⾏
dd    #删除⼀整⾏
x    #删除光标所在字符
u    #删除字符后撤销
yy    #复制当前⾏
#以上所有所有字符都可以在前⾯加数字,代表左移n个字符,⼜移n的字符,复制n⾏等...
p    #进⾏粘贴操作
0    #移动到⾏⾸
g0    #移动到当前屏幕的⾏⾸
H    #把光标移动到屏幕最顶端的⼀⾏
M    #把光标移动到屏幕中间⼀⾏
L    #把光标移动到屏幕最底端的⼀⾏
gg    #移动到⽂件的头部
G    #移动到⽂件的尾部
crtl + f    #下翻⼀屏
crtl + b    #上翻⼀屏
crtl + d    #下翻半屏
crtl + u    #上翻半屏
n%    #到⽂件n%的位置
zz    #将当前⾏移动到屏幕中央
zt    #将当前⾏移动到屏幕顶端
zb    #将当前⾏移动到屏幕底端
末⾏模式常⽤命令详解
:
q    #退出当前⽂件且不保存,q为quit缩写
:q!    #强制退出当前⽂件
:w    #保存当前⽂件,w为write的缩写
:w!    #对于只读⽂件可强制保存更改
:wq    #保存并退出
:r filename    #在当前位置插⼊令⼀个⽂件
:r !date    #在当前位置插⼊当前⽇期
:r !command    #在当前位置插⼊其他shell命令的输出结果
:% s/⽬标字符/替换字符/g    #将⽬标字符替换为替换字符最后的g代表全局替换,%代表所有⾏
% s/⽬标字符/替换字符/gic    #将⽬标字符替换为替换字符,%代表所有⾏,最后的g代表全局替换,i代表忽视⼤⼩写,c代表每个替换都需要⽤户确认才可以:1,4 s/⽬标字符/替换字符/g    #将第⼀⾏到第四⾏的⽬标字符替换为替换字符
/string    :在后⾯的⽂本中查字符串
可视模式常⽤命令详解
d    #删除选中的字符
y    #复制选中的字符
p    #粘贴选中的字符
建议所有命令读者都⾃⾏敲⼀遍,以增加印象
强调:有些命令我解释的可能不正确,也可能完全是错误的,希望读者可以指正

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