1. VI按键说明。
(1)移动光标的方法
h或向左箭头:光标向左移动一个字符;
j或向下箭头:光标向下移动一个字符;
k或向上箭头:光标向上移动一个字符;
l或向右箭头:光标向右移动一个字符;
进行多次移动,如向左移动30行,可以使用“30k”或者“30<-”
[ctrl]+[f]:屏幕向下移动一页;
[ctrl]+[b]:屏幕向上移动一页;
[ctrl]+[d]:屏幕向下移动半页;
[ctrl]+[u]:屏幕向上移动半页;
+:光标移动到非空格的下一行;
-:光标移动到非空格的上一行;
n[space]:n表示数字,按下数字键后再按下空格,光标会向右移动这一行的n个字符;
0或功能键[Home]:移动到这一行的最前面字符处;
$或功能键[End]:移动到这一行的最后面字符处;
H:光标移动到这个屏幕的最上方那一行的第一个字符;
M:光标移动到这个屏幕的中央那一行的第一个字符;
L:光标移动到这个屏幕的最下方那一行的第一个字符;
G:光标移动到这个文件的最后一行;
nG:n为数字。移动到这个文件的第n行;
gg:移动到这个文件的第一行,相当于1G;
N[Enter]:n为数字,光标向下移动n行。

(2)查找与替换
/word:向下寻找一个名为word的字符串;
?word:向上寻找一个名为word的字符串;
n:n为按键n,代表重复前一个查找操作;
N:代表反向重复前一个查找操作,例如前一个操作为向下查找,使用N后即向上查找;
:n1,n2s/word1/word2/g:n1与n2为数字。在第n1行与n2行之间查找word1这个字符串,并将该字符串替换为word2;
:1,$s/word/1word2/g:从第1行到最后一行查找word1,并替换为word2;
:1,$s/word/1word2/gc:从第1行到最后一行查找word1,并替换为word2,且在替换前显示提示字符给用户确认(confirm)是否替换。

(3)删除、复制与粘贴
x,X:在一行字当中,x为向后删除一个字符(相当于[Del]),X为向前删除一个字符(相当于[Backspace]);
nx:n为数字,连续向后删除n个字符;
dd:删除光标所在的那一整行;
ndd:n为数字,删除光标所在的向下n行;
d1G:删除光标所在行到第1行的所有数据;
dG:删除从光标所在行到最后一行的所有数据;
d$:删除从光标所在字符到该行行末的数据;
d0:删除从光标所在字符到该行行首的数据;
yy:复制光标所在行;
nyy:n为数字,复制光标所在的向下n行;
y1G:复制光标所在行到第1行的所有数据;
yG:复制光标所在行到最后1行的所有数据;
y$:复制光标所在的字符到该行的行末的数据;
y0:复制光标所在的字符到该行的行首的数据;
p,P:p为将已复制数据在光标下一行粘贴,P则为将已复制数据在光标上一行粘贴;
J:将光标所在行与下一行的数据合并成同一行;
c:重复删除多个数据,例如向下删除10行,10cj;
u:复原前一个操作;
[ctrl]+[r]:重做上一个操作;
.:小数点,重复删除、复制和粘贴操作。

(3)一般模式切换到编辑模式
i,I:进入插入模式,i从目标光标处插入,I为目前所在行的第一个空白字符插入;
a,A:进入插入模式,a从光标所在的下一个字符开始插入,A为光标所在行的最后一个开始插入;
o,O:进入插入模式,o从光标所在的下一行处插入新的一行,O从光标所在行的上一行插入新的一行;
r,R:进入替换模式,r只会替换光标所在行的那一个字符一次,R会一直替换光标所在的字符,直到按下[Esc]键为止;
[Esc]:退出编辑模式,回到一般模式。

(4)一般模式切换到命令行模式
:w:将编辑的数据写入硬盘文件中;
:w!:若文件属性为“只读”,强制写入该文件,不过,到底是否可以写入与权限有关;
:q:离开vi;
:q!:强制离开,不保存;
:wq:保存后离开;
:w[filename]:将编辑的数据保存成另一个文件filename;
:n1,n2w[filename]:将n1到n2的内容保存成filename这个文件;
:! command:暂时离开vi到命令行模式执行command并显示结果;
:set nu:显示行号;
:set nonu:取消显示行号。

2. vim的功能
(1)快选择(Visual Block)
v:字符选择,会将光标所经过的地方反白选择;
V:行选择,会将光标所经过的行反白选择;
[ctrl]+[v]:快选择,可以用长方形的方式选择数据;
y:将反白处复制;
d:将反白处删除。

(2)多文件编辑
:n:编辑下一个文件;
:N:编辑上一个文件;
:files:列出目前这个vim打开的所有文件。

(3)多窗口功能
:sp [filename]:打开一个新窗口,若指定filename表示在新窗口打开filename文件,否则表示在新窗口打开原文件;
[ctrl]+w+j或向下箭头:先按下ctrl不放,再按下w后放开所有键,然后按下j或方向键,光标移动到下方窗口;
[ctrl]+w+k或向上箭头:同上,光标移动到上方窗口;
[ctrl]+w+q:结束离开。

(4)vim的环境设置参数
:set nu:设置行号;
:set nonu:取消设置行号;
:set hlsearch:high light search,设置将选择的数字反白;
:set nohlsearch:取消设置将选择的数字反白;
:set autoindent:设置自动缩排;
:set noautoindent:取消设置自动缩排;
:set backup:设置自动保存备份文件;
:set ruler:设置状态说明;
:set showmode:设置模式显示;
:set backspace=(012):backspace=2时,可以删除任意值,backspace=0或1时,仅可删除刚才输入的字符;
:set all:显示目前所有环境参数设置值;
:set:显示与系统默认值不同的设置参数;
:syntax on:设置依据相关语法显示不同颜色;
:syntax off:取消设置依据相关语法显示不同颜色;
:set bg=dark:设置dark色调;
:set bg=light:设置light色调。

3. dos2UNIX [-kn] file [newfile]
    UNIX2dos [-kn] file [newfile]:断行符处理
参数:
-k:保留该文件的元贝mtime时间格式;
-n:保留原本的旧文件,将转换内容输出新文件。

4. iconv [-f] 原本编码 [-t] 新编码 filename [-o newfile]:语系编码转换
    iconv [--list]:列出支持的语系
参数:
--list:列出iconv支持的语系数据;
-f:from,后接原始编码格式;
-t:to,后接新编码格式;
-o:保留原文件,将新数据写入新目标文件。

【Linux】鸟哥的Linux私房菜基础学习篇整理(四)的更多相关文章

  1. 每周一书-《鸟哥的Linux私房菜基础学习篇(第四版)》台湾原版,你想要吗?

     首先说明,本周活动有效时间为2016年10月19日到2016年10月31日.   目在介绍这本书之前,首先要感谢QQ号为:1084830483(路在远方),来自哈尔滨工程大学的同学赠送给玄魂工作室的 ...

  2. 【Linux】鸟哥的Linux私房菜基础学习篇整理(一)

    最近,一直在写PPC的模拟器和汇编器,也在做设计.所以重新看了看<鸟哥的Linux私房菜>,还是有好多命令不太熟悉.就打算写几篇blog记下来. 1. nl [-bnw] filename ...

  3. 【Linux】鸟哥的Linux私房菜基础学习篇整理(三)

    1. gzip [-cdtv#] filename:压缩.参数:-c:将压缩的数据输出到屏幕上,可通过数据重定向进行处理:-d:解压缩的参数:-t:可以用来检验一个压缩文件的一致性,查看文件有无错误: ...

  4. 【Linux】鸟哥的Linux私房菜基础学习篇整理(六)

    1. 正则表达式特殊符号.[:alnum:]:代表英文大小写字符及数字:[:alpha:]:代表英文大小写字符:[:blank:]:代表空格键与[Tab]键:[:cntrl:]:代表键盘上的控制键,即 ...

  5. 【Linux】鸟哥的Linux私房菜基础学习篇整理(十一)

    1. 直接将命令丢到后台中执行“&”,在命令最后加“&”.    将目前的工作丢到后台中暂停:[Ctrl]+z 2. jobs [-lrs]:查看目前的后台工作状态.参数:-l:除了列 ...

  6. 【Linux】鸟哥的Linux私房菜基础学习篇整理(十)

    1. at [-mldv] TIME/at -c 工作号码:单一工作调度.参数:-m:当at的工作完成后,即使没有输出信息,以email通知用户该工作已完成:-l:相当于atq,列出目前系统上面的所有 ...

  7. 【Linux】鸟哥的Linux私房菜基础学习篇整理(九)

    1. quotacheck [-avugfM] [/mount_point]:扫描文件系统并创建Quota配置文件.参数:-a:扫描所有在/etc/mtab内,含有quota支持的文件系统,加上此参数 ...

  8. 【Linux】鸟哥的Linux私房菜基础学习篇整理(八)

    1. useradd [-u UID] [-g 初始用户组] [-G 次要用户组] [-mM]\   [-c 说明栏] [-d 主文件夹绝对路径] [-r] [-s shell] 用户账号名:新增用户 ...

  9. 【Linux】鸟哥的Linux私房菜基础学习篇整理(七)

    1. test命令的测试功能.测试的标志:(1)关于文件类型的检测 test [-efdbcSpL] filename-e:该文件名是否存在:-f:该文件名是否为文件:-d:该文件名是否为目录:-b: ...

  10. 【Linux】鸟哥的Linux私房菜基础学习篇整理(五)

    1. type [-tpa] name:查看name命令是否为bash内置命令.参数:type:不加任何参数,type会显示出那么是外部命令还是bash的内置命令:-t:当加入-t参数时,type会通 ...

随机推荐

  1. jdbc - 连接数据库的url

    MySql: driver:com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/database_name SQL Server 2008: ...

  2. (转载)loadrunner简单使用——HTTP,WebService,Socket压力测试脚本编写

    原文出处:http://ajita.iteye.com/blog/1728243/ 先说明一下,本人是开发,对测试不是特别熟悉,但因工作的需要,也做过一些性能测试方面的东西.比较久之前很简单的用过,最 ...

  3. WCF系列学习5天速成

    看到一篇比较好的基础wcf学习博客,分享给大家:http://www.cnblogs.com/huangxincheng/archive/2011/10/23/2221845.html

  4. Netbeans IDE配置

  5. iOS如何准确获取通知

    iOS获取通知需要注意以下三个地方iOS 设备收到一条推送(APNs),用户点击推送通知打开应用时,应用程序根据状态不同进行处理需在 AppDelegate 中的以下两个方法中添加代码以获取apn内容 ...

  6. 由App的启动说起(转)

    The two most important days in your life are the day you are born and the day you find out why. -- M ...

  7. ScheduleThreadPoolExecutor源码分析(二)

    DelayedWorkQueue: DelayedWorkQueue实现了BlockingQueue接口,因此其可以作为线程池的任务队列.BlockingQueue的主要属性有以下几个: privat ...

  8. 使用gSoap规避和修改ONVIF标准类型结构的解析

    ONVIF/gSoap依赖关系及问题 ONVIF是一组服务规范,标准参考 gSoap是一套基于实现SOAP通信接口的工具链 即是,当我们需要访问ONVIF的Web Service或实现对ONVIF部分 ...

  9. PHP 用Class构造JSON数据

    header('Content-type: appliction/json; charset=shift-JIS'); // error //{ // "result": fals ...

  10. Html禁止粘贴 复制 剪切

    oncopy="return false;" onpaste="return false;" oncut="return false;"