The linux command line---Vim/Gvim篇
前言
学习Linux 命令行,就像要成为一名造诣很深的钢琴家一样,它不是我们一下午就能学会的技能。这需要经历几年的勤苦练习。vi(发音“vee eye”)文本编辑器,它是Unix 传统中核心程序之一。vi 因它难用的用户界面而有点声名狼藉,但是当我们看到一位大师坐在钢琴前开始演奏时,我们的确成了伟大艺术的见证人。虽然我们在这里不能成为vi 大师,但是当我们学完vi后,我们会知道怎样在vi 中弹奏像“Chopsticks”那样的钢琴小品。此处只列一些本人经常使用到的vim 命令
一、启动和退出vi?
要想启动vi,只要简单地输入以下命令:
[angel@linux ~]$ vi
VIM - Vi Improved
.....
要退出vi,输入下面的命令(注意冒号是命令的一部分):
:q (直接退出)
:q! (强制不保存退出)
:wq! (保存并强制退出)
vi有三种工作模式,分别为:
命令模式Command:任何输入都会作为编辑命令而不是出现在屏幕上。
插入模式Insert : 编辑文本要在此模式下,按ESC会回到命令模式。
Escape: 以“:”或者"/"为前导指令,出现在屏幕上的最下面一行,任何输入都被当做特别指令。
二、Command模式
2.1.移动光标
当vi在命令模式下时,vi提供了大量的移动命令:
2.2 快捷操作
删除:
ggVG #选中全部文本
d #删除
x #删除当前光标下的字符
X #删除当前光标之前的字符
D #删除自当前光标到行尾的字符
dw #删除当前光标到下一个word的开头
db #删除当前光标到前一个workd的开头
dG #删除当前行到文件末尾的内容
dgg #删除当前行到文件开头的内容
ndd #删除以当前行开始的n行
r #替换某一个字符
Ctrl+r #重复上一次操作
若要删除某几个字符,先ctrl+v ,选中区域后,按delete。
若要添加某几个字符,先ctrl+v ,选中行后,按shift+i,输入字符,按Esc即可。
若要删除并添加某些字符, 先ctrl+v,选中要替换的行列,按s, 输入字符,按ESC即可全部替换。
复制粘贴:
y1G #复制光标所在行到第一行的所有数据
yG #复制光标所在行到最后一行的所有数据
y0 #复制光标所在的那个字符到该行行首的所有数据
y$ #复制光标所在的那个字符到该行行尾的所有数据
yy #复制一行
nyy #复制n行
p #粘贴在光标下一行
P #粘贴在光标上一行
撤销:
u #撤销前一次操作
切换窗口:
CRTL+W+h #切换到左侧窗口
CTRL+W+l #切换到右侧窗口
CTRL+W+j #切换到下方窗口
CTRL+W+k #切换到上方窗口
CTRL+W+t #切换到顶部窗口
CTRL+W+b #切换到底部窗口
搜索字符:
CTRL+O #搜索关键字, 按n查找下一个同样字符
块操作:
- 光标定位到要操作的地方
- ctrl+v进入到可视模式,选取这一列操作多少行
- shit+i 进入到插入模式插入内容,也可以直接输入s 插入要插入的内容。
- 按ESC一次,会在每行的选定区域出现插入的内容。
三、Insert模式
正常编辑即可
四、Escape模式
常用的操作:
:set nu #显示行号
:set nu! #取消行号
:set hlsearch #在使用查找功能时,高亮显示所有匹配的内容
:set nohlsearch #关闭此功能
: set nowrap #不折叠显示行
:set ignorecase #忽略大小写
:f #查看文件名
:/word #向光标向下寻找一个名称为word的字符串, 按“n”重复前一个查找的动作
:?word #向光标向上寻找一个名称为word的字符串, 按“N”反向进行行前一个查找动作
:n1,n2s/word1/word2/g #n1与n2为数字(%为全局),在第n1与n2行间查找word1,并将其替换为word2
:%s/word1/word2/g #从第一行到最后一行查找word1,并将其替换为word2
:%s/word1/word2/gc #从第一行到最后一行查找word1,并逐个确认将其替换为word2
:vsp /data0/home/file2 #纵向并行打开第二个文件
:sp /data0/home/file2 #横向并行打开第二个文件
:e ./setup.csh #关闭当前文件打开setup.csh
: vsp . #打开当前文件所在目录
:9,15 copy 16 #将第9到15行的内容复制到第16行后面
所有窗口退出:
> :qall #放弃所有操作并退出
> :wqall #保存左右并退出
> :wall #保存所有不退出