FreeBSD 编辑器VI使用方法

  发布时间:2014-07-02 15:08:37   作者:佚名   我要评论
这篇文章主要介绍了FreeBSD 编辑器VI使用方法,需要的朋友可以参考下

vi 的两种命令模式;
Command(命令)模式,用于输入命令;
Insert()模式,用于文本;
Visual(可视)模式,用于视化的的高亮并选定正文;

Command 模式是vi或vim的默认模式,如果我们处于其它命令模式时,要通过ESC键切换过来。
当我们按ESC键后,接着再输入:号时,vi会在屏幕的最下方等待我们输入命令;
文件的保存和退出

:w 保存;
:w filename 另存为filename;
:wq! 保存退出;
:wq! filename 注:以filename为文件名保存后退出;
:q! 不保存退出;
:x 应该是保存并退出 ,功能和:wq!相同
光标移动

j 向下移动一行;
k 向上移动一行;
h 向左移动一个字符;
l 向右移动一个字符;
 模式(文本的)

i 在光标之前;
a 在光标之后;
I 在光标所在行的行首;
A 在光标所在行的行末;
o 在光标所在的行的上面一行;
O 在光标所在的行的下面一行;
s 删除光标后的一个字符,然后进入模式;
S 删除光标所在的行,然后进入模式;
文本内容的删除操作

x 一个字符;
#x 删除几个字符,#表示数字,比如3x;
dw 删除一个单词;
#dw 删除几个单词,#用数字表示,比如3dw表示删除三个单词;
dd 删除一行;
#dd 删除多个行,#代表数字,比如3dd 表示删除光标行及光标的下两行;
恢复修改及恢复删除操作;
u 撤消修改或删除操作;
 查找

/SEARCH 注:正向查找,按n键把光标移动到下一个符合条件的地方;
?SEARCH 注:反向查找,按shift+n 键,把光标移动到下一个符合条件的
替换

:s /SEARCH/REPLACE/g 注:把当前光标所处的行中的SEARCH单词,替换成REPLACE,并把所有SEARCH高亮显示;
:%s /SEARCH/REPLACE 注:把文档中所有SEARCH替换成REPLACE;
:#,# s /SEARCH/REPLACE/g 注:#号表示数字,表示从多少行到多少行,把SEARCH替换成REPLACE;

0.前言
以前,距今约三年前,我第一次接触Unix-like系统,
我是pico的爱好者,因为我那时用的系统是Mandrake,
当时我觉得pico给我的感觉很亲切,功能也很强大.

接触FreeBSD之后,突然发现竟然没有pico,需要额外安装pine才能够取得.
但这也无妨,反正安装很快...

直到有一天,当我要做大量取代的动作..
这时....pico就....QQ
于是我投向了vi ...去了解他的规则表示式,
一个简单的小动作 让繁琐的工作瞬间解决.

此外..vi 是所有unix-like都有的编辑器...不用额外安装
让您在不同系统上也能够很快的进入状况.

1.概说

若您之前不曾使用过全屏幕的编辑器,那么您可能连一些简单的编辑都有问题.
如此您可能要找一个已经稍微了解vi使用的人来带领您.

vi是一个屏幕编辑器,这表示了vi几乎用去了屏幕上的
每一行空间来展示档案的内容,除了屏幕上的最后一行.
这一行是用来让您发号命令给vi及vi给你一些相关档案信息时用的.

其它您必须了解的是vi是一个模式型编辑器.举例来说:
你能输入文字或者是执行命令,但是你必须在正确的模式才能够执行.

您一刚开始编辑一个档案时,您处在命令模式(command mode).
有一些命令能够让您切换到输入模式(input mode).
然而,只有一个键能够让您离开输入模式,那就是键盘左上的<Esc>键
若您不了解您目前处于何种模式,您可以持续的按,直到vi发出声音警告您,
如此您已经回到命令模式.当您尝试做了一些vi所不允许的事情,
正常来说vi会发出"哔"声(本机操作时)

2.简易操作
要开始编辑一个档案您可以这样做:
$ vi file_name <按enter键>

然后输入 :set verbose mode
然后vi会提醒您:
:set the mode option may never be turn on

注:虽说如此 但对初学者来说 有多些讯息提示总比没有好
放心 离开vi后就会恢复原先的noverbose mode

如此可以让vi当你产生错误时给予你多一些的讯息并当您猛按<Esc>键时
,会在屏幕的最下端显示如下的讯息,提醒您已在命令模式.
Already in comman mode

注:命令皆需要在命令模式下实行.

△简易移动命令
h 将光标往左移动一个字符. j 将光标往下移动一行. k 将光标往上移动一行. l 将光标往右移动一个字符. <方向键> 上下左右键也应该可以发挥作用.

注:若纯粹使用windows 内建的telent方向键无法使用..
所以知道hjkl的用处也不错啦..

△简易搜寻命令
/text 搜寻text字符串
若今天我要搜寻panda则是 /panda , / 为搜寻命令.

△模式切换 a 在光标后可以新增开始新增 i 在光标前可以开始新增文字 o 在光标的下方新增一行,并可以开始输入文字. O 在光标的上方新增一行,并可以开始输入文字. <Esc> 当你今天用a,i,o,O进入输入模式,可以用<Esc>键回到命令模式. 注:经个人使用发现模式切换只要记住几个就好 依照一般输入习惯,
建议初学者记住a,O就好 (虽然到最后您会在不知不觉中全部记下)
尤其是O看似没有o好用,但是今天若您想要在最上方新增一行时,
记得O这个指令真是方便阿..

△文字处理命令
复制:
yy 复制游标所在行.
p 在游标所在的下一行贴上所复制的数据. 删除:
dd 将游标所在行删除.
x 将光标所在的那个字符删除. 储档:
:w 以原文件名称储存档案.
:w file_name 另存新檔,档名为file_name 离开:
:q 离开编辑及vi,若您已经编辑过档案vi会拒绝您离开.
:q! 强制离开vi 不论情况 注: 所谓的一行有可能在屏幕上是很多行(因为屏幕的一行摆放不下)
只要没有换行符号产生 那就称之为一行,用光标移动您就会明了.

4.小结
以上这些只是基础的vi功能,熟悉了这些,您已经会了简单的文书处理,
已经可以逐渐摆脱pico之类的编辑器,投向vi的怀抱.
过一阵子,当您渐渐了解vi的强大,ㄏㄏ... 0.前言
本篇说明vi命令模式下可执行的命令。
所有要输入的指令皆用蓝色表示。

对于初学者来说,这个部分有点复杂了。
不过呢?以泡泡的经验来说,用久了你自然会记住某些指令。
不用刻意去记,因为常用的自然会在不知不觉中记住。
(极有可能像我一样,手指记住了,脑袋记不住..QQ)

注: <control+A> 表示先按住ctrl键再按A。(有些命令小写也可以用)
我都是用小写。

1.常用移动命令:
<control+A> 往下移动到这个字下次一出现的地方。 <control+B> 光标向上移动一个屏幕。 <control+D> 光标往下移动数行(约12行)。 <control+F> 光标往下移动一个屏幕。

<control+U> 光标往上移动数行(约12行)。 $ 将光标移动到该行尾. nG 移动到某行,n为行数,若没有指定则为档案的最后一行. L 将光标移动到屏幕的最下一行. ^ 移到该行第一个非空格符. 2.常用档案命令

<control+G> 显示档案的信息。
显示出目前档案是否更改,所在行的位置.
file_name: unmodified : line 1 of 380 [0%] <control+L> 重画屏幕。

<control+Z> 暂停编辑 回到shell,可用fg回到编辑画面 <control+^> 切换到最近编辑的档案.
vi file_name file_name2
用此命命可以在两个档案中切换.

3.常用编辑命令

输入:
I 移动光标道行首的第一个字符并开始接受输入.

复制:
Y 复制该行到暂存区(用yy也可以)

删除:
D 从光标目前位置道行尾的所有字符删除..(用dd也可以) x 删除光标所在位置的一个字符

取代:
!shell命令 !后接shell comd ,并以shell cmd 执行结果取代光标该行.
如!panda
会用以下讯息取代原有行的内容
bash: panda: command not found r 按r后接着按某字符,以取代光标所在的该字符. ~ 切换光标所在字符的大小写

重复:
n 搜寻之前所搜寻过的字符串 (用/也可以)
若先执行 /BSD
再执行 n 等同于执行 /BSD
若先前没有搜寻任何东西 会有如下讯息
No previous search pattern. 复原:
U 恢复状态到光标起初接触此行的状态

u 复原前一个动作产生的效果(也就是回复) 其它:
: 执行ex 命令 J 将下一行与此行合并.  

相关文章

  • Unix,BSD,Linux系统三者的区别小结

    这篇文章主要介绍了Unix,BSD,Linux系统三者的区别小结,需要的朋友可以参考下
    2023-05-03
  • FreeBSD如何添加硬盘?FreeBSD添加硬盘的方法

    一些朋友问小编FreeBSD如何添加硬盘?别担心,今天小编就为大家分享FreeBSD添加硬盘的方法,希望对大家会有帮助,有需要的朋友一起去看看吧
    2017-04-06
  • Freebsd PF 安装使用详解

    今天小编为大家带来的是Freebsd PF 安装使用详解,希望对大家会有帮助,有需要的朋友一起去看看吧
    2017-04-06
  • FreeBSD下zfs: failed with error 6错误如何解决?

    最近一些朋友问小编 FreeBSD下zfs: failed with error 6错误如何解决?今天小编要为大家带来的是 FreeBSD下zfs: failed with error 6错误的解决方法,有需要的朋友一起去看
    2017-04-06
  • Unix文件系统和pwd命令实现详解

    今天小编要为大家带来的是Unix文件系统和pwd命令实现详解,希望对大家会有帮助,有需要的朋友一起去看看吧
    2017-04-01
  • Unix中的dot命令详解

    今天小编将为大家带来的是Unix中的dot命令详解!希望对大家会有帮助!有需要的朋友一起去看看吧
    2017-03-22
  • freebsd时间设置小节详解

    近日!一些朋友对于freebsd时间设置小节存在疑虑!下面小编将为大家带来的是freebsd时间设置小节详解!希望对大家会有帮助!有需要的朋友一起去看看吧
    2017-03-19
  • grub2引导freebsd详解

    今天小编要为大家带来的是grub2引导freebsd详解!希望对大家会有帮助,有需要的朋友一起去看看吧
    2017-03-19
  • FreeBSD10安装内核源代码方法讲解

    下面小编为大家带来的是FreeBSD10安装内核源代码方法讲解!希望能够帮助到大家!有需要的朋友一起去看看吧
    2017-03-19
  • FreeBSD下如何使GraphicsMagick支持中文字体?

    最近一些朋友在问FreeBSD下如何使GraphicsMagick支持中文字体?今天小编为大家带来的是FreeBSD下使GraphicsMagick支持中文字体的方法!有需要的朋友一起去看看吧
    2017-03-15

最新评论