学习Linux一个很大的问题是很多情况下的操作需要在命令行模式下进行操作,尤其是在是用服务器版的Linux,因此命令行模式下的文本编辑器的操作是学习Linux的一个非常重要的元素。
Linux下最重要的编辑器就是vi及vim,这和图形界面下的文本编辑器有非常大的差别,新手用起来会非常不习惯。vim和vi的操作方法基本一样,只不过vim的编辑界面相对来说好看一点而已。
这里主要介绍下vi 编辑器快速上手的方法,对刚开始准备使用 vi 的朋友可能会有点帮助,高手就不用看了。
方法很简单,去用,就很快会了。当然 vi 的操作确实比较繁多,不知怎么下手。这里提炼出一些常用的,对于所有编辑任务确实已经够用了。既然这样,读完后,马上就开始用,去用,就很快会了。
vi 主要是两种模式,按 Esc 键进入指令模式,按 i 键(insert)进入输入模式(可以输入东西编辑文件了)。
开始时默认进入的是指令模式:
用 h(左)j(上)k(下)l(右)移动光标。Ctrl+f 向下翻页,Ctrl+b 向上翻页。另外使用键盘的上下左右键和pageup、pagedown键也一样操作。
i 键插入当前光标位置,或 a 键在光标后插入。同时进入输入模式,进行编辑,按 Esc 键再返回命令模式。
x 删除当前字符,dd(按两次 d)删除(剪切)当前行。
cw删除当前单词,并进入编辑模式。
u(undo)撤销。
保存文件:
在指令模式中(最不用动脑筋的办法是乱按一通 Esc 可以保证从编辑模式进入指令模式)按“:”键(冒号)或者“q”可以进入 vi 的末行模式,退出末行模式回到命令模式只要按退格键删除“:”字符即可。
输入 :wq(回车)即是保存退出。:w 保存不退出。:q! 退出不保存。
以上内容,花一天熟悉。浏览文件,做点简单编辑已经足够了。注意不要用小键盘,比如上下左右这些,否则就很难学会 vi 了。在 vi 里手不会离开大键盘,用不了多久这些指令就会条件反射,编辑效率比较高。
下面是相对不太常用的:
o 在当前行后插入一行,O 在当前行前插入一行。和 i、a 一样,同时进入输入模式。
数字键 0 跳到行首,$ 跳到行尾。
Shift+j 将当前行和下一行合并成一行。
Ndd 剪切 N 行(N 是一个数字)。
yy 复制当前行。Nyy 复制 N(N 是一个数字)行。按 p 键粘贴。
:N 跳到第 N 行。直接打 N 跳到当前行后的第 N 行。N 可以是负数。
在命令模式下输入 /word(回车)来在文件中搜索字符 word。按 n(next)跳到下一个搜索到的字符。
使用“:s/被替换字符/替换字符/g”这行命令来进行搜索替换。比如“:s/^M//g”是把 windows 文件的行尾 ^M 删除掉。其中“^M”的输入方法是按住 Ctrl+v,然后保持 Ctrl 并放掉 v 键,再按 M。
这就开始使用 vi 吧。