LINUX学习之旅--Vi的学习

Vi就相当windows上面的记事本,你说不学行吗?不行的,特别是在server环境下面,不用那东西我就不知道怎么样去配置那大堆的配置文件,如果vi用的好的话,你可以在配置方面节省很大的力气,但是前提是得花点时间把他学好,我只知道最基本的操作vi,但是用的很不好,我见一哥们用那东西用的可太神了,用过东东来作程序开发,我想都不感想,看了那哥们说vi有很多操作方式是windows上面的词本没法笔的,我现在也得好好学一下,看着我用那vi很笨拙的样子,就重新学一下,顺便把这东西记起来,以防以后又找不到了

安装

这东西所有的linux机器上应该都自带了的吧,我用的是ubuntu server 8.04这上面就有,如果没有的话自己下一个也很容易的在ubuntu上面用 sudo apt-get install vim就可以了

vi加裁文件

$vi myfile.txt

这样就可以加载文件到vi

vi 启动后,处于一种特殊的命令模式

在命令模式下,键盘上的字符是用来向 vi 发送命令,而不是插入文字字符。发送什么样的命令就执行什么样的操作,有意思,刚开始的时候被这东西玩弄过,怎么一会又命令模式,一会又插入模式,现在也认为这在正常不过了

在命令模式下可以下达很多命令,不过最烦的是很难记,但是如果经常使用的话就不用记了,有时候玩游戏几十个快捷命令都能诀,我就想念vi就那几十个命令我记不死你,哈哈

 

在命令模式下:

(1) 可以使用 hjk l 键向左、向下、向上和向右移动光标。这个很好,玩游戏的时候就那几个健最学用了,vi的发明人也可能是同行。习惯了 hjk l 键,就很方便,手指就不必从主键盘行移开。注意,当光标已在行首时,vi 不允许用 h 键折到上一行。同样,当光标在行末时,也不允许使用 l 键折到下一行。

(2) 0 () 跳到一行的第一个字符,按 $ 跳到一行的最后一个字符。

(3)(control-F)   (control-B) 一次向前或向后翻页,这个很容易记forward前进,back后退

(4)单词移动 word是单词的意思(记得小学的时候老哥对我说的,可能向我吹他有多牛)要移到下一个单词的第一个字符,请按 w。要移到下一个单词的最后一个字符,请按 e。要移到前一个单词的第一个字符,请按 b 这确实很方便

飞跑

这样移动也太慢了,可不可以来点快的,可以使用 ( ) 字符将光标移到前一个句子或后一个句子的句首。可以使用 { } 跳到当前段或下一段段首。

输入 :q!。这是不保存文件内容就退出,这些操作应在命令提示模式下进行

vi 中,以“:”开始的所有命令都是“ex-mode” 命令。这是因为 vi 有一个非可视化编辑器叫做“ex”。类似地,它可以用来执行基于行的编辑操作。此外,还可用来退出 vi,如果您在命令模式下敲 Q 键,将转换到 ex 模式。如果处于 ex 模式,您将会看到 : 提示符,此时敲 Enter 键,整屏向上滚动。要回到 vi 的命令模式,敲入 vi 并回车。

光标移动

在命令模式下,输入<行号>G 可以跳到特定行。要跳到文件第一行,输入 1G。注意,G 是大写

查找

如果要跳到特定文本样式下一次出现的地点,输 /search_regexp 并回车,search_regexp是指要查找的正则表达式。输入 /pig 将会来到下一个 pig。需要注意的是, 在涉及到字符 ^.$ / 时,在这些字符前加上反斜杠(/),才能正常查找。例如,/foo/.gif 将会匹配“foo.gif”要向前重复搜索,按 n 键。要向后搜索,按 N ,这就是所谓的查找,我认为比记事本要强一些。

保存

作的东西不能丢要保存就这样来如果想保存更改,输入 :w。如果想将更改保存为另一个文件,输入 :w filename.txt 便可另存为 filename.txt。如果想保存并退出,输入 :x :wq

 

编辑

x 键可删除当前光标所在的字符,

将光标移到文本文件的某段中间并击 J 键(大写),

将会看到 J 命令将下一行接到当前行行末

将光标移到一个字符并敲 r,然后输入新字符;

将看到原字符被替换掉。

将光标移到文件的任意行,键入 dd,将会看到 dd 删除了当前行

重复任何编辑命令

发现输入 dd.. 将删除 n 行,J...... 将连接 n

联合使用 d 命令和移动命令

dw 用来删除从当前位置到下一个单词词首的所有字符;

d) 用来删除到下一个句首;

d} 删除本段剩余部分

后悔了就按 u 键,撤消上一次作的更改

 

插入模式

Escape 键可返回命令模式。

要进入插入模式,按 i a 即可。如果按 i,输入的文本将插在光标处字符之前,

如果按 a 输入文本将追加再光标处字符之后

A (大写),输入文本将追加到当前行末

同样,I (大写)将输入文本插到当前行的行首

o 可在当前行下面生成一空行并插入文本,按 O (大写)在当前行上面生成一空行

要以一新行替换当前整行,按 cc

要替换光标当前所在位置到行末,请输入 c$

要替换光标当前所在位置到行首,输入 c0

将一些移动命令与 c 一起使用,这几个命令也可以用cWce

这几个都很有意思nw,它让光标向右跳 n 个单词。还有更多的复合移动命令示例:nbnj。除了(数字)(移动命令)一起使用,

vi 还允许 d c 与数字或移动命令一起使用。应此,d3w 将删除光标后 3 个单词,d2j 将删除当前行和下两行。测测 c d 与一些移动命令一起使用的例子,然后感受一下强大并简洁的 vi 编辑功能。一旦熟悉了这些命令,就可以以惊人的速度进行文件编辑。

复制粘贴

这是我刚开始写程序的时候经常会用的命令,按 v 进入可视化模式然后,

用移动命令移动光标(通常用方向键)来选中一段文本。选中后,就可以进行剪切或拷贝文本。如果要拷贝文本,按 y (代表“yank”),如果要剪切文本,按 d,然后,vi 将回到命令模式。现在,将光标移到要插入剪切的或拷贝的文本处,按 P 插到光标之后,按 p 插到光标之前。好,剪切/拷贝和粘贴就完成了!

 

替换

要替换文本式样,应使用 ex 模式。如果想替换当前行出现的第一个式样,输入 :s/regexp/replacement/ 并按回车键,其中 regexp 是要匹配的式样,replacement 是替换字符串。要替换当前行所有匹配,输入 :s/regexp/replacement/g 并按回车。要替换文件中所有匹配式样(这通常是需要的),输入 :%s/regexp/replacement/g 如果要进行全程替换时,希望 vi 每次给出确认提示,输入 :%s/regexp/replacement/gc (代表“confirm”) 并回车

缩进

在编辑源代码时,vi 支持自动缩进。编辑源文件(如 .c 文件)时,大多数新版本 vi(像 vim)将自动启用自动缩进模式。如果自动缩进功能启用,可以使用 ^d (control-d) 来向左缩进一级,用 ^t (control-t) 向右缩进一级。如果未自动启用自动缩进,可通过在 ex 命令模式下输入 :set autoindent 来手动启用。 还可以按喜好设置 tab 大小,设置命令为 :set tabstop 命令;目前 :set tabstop=4 很流行

 

Locations of visitors to this page

统计

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值