博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vi 编辑器快速上手
阅读量:6470 次
发布时间:2019-06-23

本文共 1731 字,大约阅读时间需要 5 分钟。

转自于     

 

接触 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 编辑器也无所谓。

本文转自holy2009 51CTO博客,原文链接:http://blog.51cto.com/holy2010/388455

转载地址:http://ajjko.baihongyu.com/

你可能感兴趣的文章
【转】github如何删除一个仓库
查看>>
状态模式
查看>>
HDOJ-1010 Tempter of the Bone
查看>>
JavaNIO基础02-缓存区基础
查看>>
日本开设无人机专业,打造无人机“人才市场”
查看>>
190行代码实现mvvm模式
查看>>
cobbler初探------实现自动安装centos6.4
查看>>
兼容几乎所有浏览器的透明背景效果
查看>>
jeesite 框架搭建与配置
查看>>
Adb移植(一)简单分析
查看>>
Linux VNC server的安装及简单配置使用
查看>>
阿里宣布开源Weex ,亿级应用匠心打造跨平台移动开发工具
查看>>
Android项目——实现时间线程源码
查看>>
招商银行信用卡重要通知:消费提醒服务调整,300元以下消费不再逐笔发送短信...
查看>>
python全栈_002_Python3基础语法
查看>>
C#_delegate - 调用列表
查看>>
jQuery.extend 函数详解
查看>>
[转]Windows的批处理脚本
查看>>
多维数组元素的地址
查看>>
数据库运维体系_SZMSD
查看>>