注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

蜻蜓点水 举重若轻

君子终日乾乾

 
 
 

日志

 
 

Vi 编辑器快速上手  

2010-03-04 16:21:17|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

接触 vi 也有十多年了。这里也试着聊下 vi 编辑器快速上手的方法,对刚开始准备使用 vi 的朋友可能会有点帮助,高手就不用看了。

方法很简单,去用,就很快会了。当然 vi 的操作确实比较繁多,不知怎么下手。我这里提炼出一些常用的,一丁点内容,保守用两天来熟悉。不用怀疑,对于所有编辑任务确实已经够用了。既然这样,读完后,马上就开始用,去用,就很快会了。

vi 主要是两种模式,按 Esc 键进入指令模式(常见有人会狂按 Esc 直至电脑喇叭发出哔哔声以确认进入指令模式),按 i 键(insert)进入输入模式(可以输入东西编辑文件了)。



开始时默认进入的是指令模式:

用 h(左)j(上)k(下)l(右)移动光标。Ctrl+f 向下翻页,Ctrl+b 向上翻页。

i 键插入当前光标位置,或 a 键在光标后插入。同时进入输入模式,进行编辑,按 Esc 键再返回命令模式。

x 删除当前字符,dd(按两次 d)删除(剪切)当前行。

u(undo)撤销。

保存文件:

在指令模式中(最不用动脑筋的办法是乱按一通 Esc 可以保证从编辑模式进入指令模式)按“:”键(冒号)可以进入 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 吧。



主题无关,这里聊些其他的。其实很多貌似常用的指令我都没有写,比如 X 删除,sS 替换等等,我觉得刚开始用记那么多负担太重。况且 s 我经常用打个 x 再打个 i 效果一样。

记这么点东西我觉得够了。用熟练了,再找资料学更多方便编辑的命令和配置方法。一口气吃不成胖子。我自己比较特别,用 vi 写代码是不用自动补齐和自动缩进的。拿自动缩进来说,不喜欢在文件里有我不知道的空格悬挂在那里。也不显示行号,甚至不用代码着色。这样代码稍微冗长一点,稍微混乱一点,读起来麻烦,视觉上马上就警惕了。帮助我避免写出烂代码(当然也有会觉得程序越长越复杂越牛逼的,人都有不同,各取所好吧)。所以 ssh 到其他管理员配置的服务器上,我有时会把那些对我没用,看着麻烦的配置都还原掉。因为对我来说没那么多复杂的东西,可视模式啊,分屏什么的,基本没用,所以也没写。文中的东西够我所有日常应用了,理论上,对我来说不需要 vim,给个 vi 就够了。

vi 是神器,即便 emacs 或者其他玩家,简单了解下也是要的。less 命令或者看 man 手册,甚至 python 的 help() 函数用的到处都是 vi 指令。



另外,遇到 vi 编辑中非正常退出的文件(被锁),ls -a 一下把 .swp 文件删了就可以了。差点忘了,编辑系统文件用 sudo vi,除非在 /root 下生成一堆 X 配置文件你觉得无所谓,那么用 gedit 之类的 gui 编辑器也无所谓。

  评论这张
 
阅读(3262)| 评论(3)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017