学习笔记,内容基础,适合初学者。
阅读之前,请务必花30秒查看前言说明(在第一、二章前面部分)
《Unix & Linux 大学教程》 - 第一、二章 学习笔记 Unix简介 & 什么是Linux?什么是Unix
《Unix & Linux 大学教程》 - 第三、四章 学习笔记 Unix连接 & 开始使用Unix
《Unix & Linux 大学教程》 - 第五、六章 学习笔记 GUI:图形用户界面 & Unix工作环境
《Unix & Linux 大学教程》 - 第七、八章 学习笔记 Unix键盘使用 & 能够立即使用的程序
《Unix & Linux 大学教程》 - 第九、十章 学习笔记 文档资料:Unix手册与Info & 命令语法
《Unix & Linux 大学教程》 - 第十一、十二章 学习笔记 shell & 使用shell:变量和选项
《Unix & Linux 大学教程》 - 第十三章 学习笔记 使用shell:命令和定制
《Unix & Linux 大学教程》 - 第十四、十五章 学习笔记 使用shell:初始化文件
《Unix & Linux 大学教程》 - 第十六、十七章 学习笔记 过滤器:简介和基本操作
《Unix & Linux 大学教程》 - 第十八章 学习笔记 过滤器:统计和格式化
《Unix & Linux 大学教程》 - 第十九章(一) 学习笔记 过滤器:选取、排序、组合及变换
《Unix & Linux 大学教程》 - 第十九章(二)、第二十章 学习笔记 过滤器:选取、排序、组合及变换 正则表达式
《Unix & Linux 大学教程》 - 第二十一章 学习笔记 显示文件
《Unix & Linux 大学教程》 - 第二十二章(一) 学习笔记 vi文本编辑器(一)
《Unix & Linux 大学教程》 - 第二十二章(二) 学习笔记 vi文本编辑器(二)
《Unix & Linux 大学教程》 - 第二十二章(三) 学习笔记 vi文本编辑器(三)
《Unix & Linux 大学教程》 - 第二十三章 学习笔记 Unix文件系统
《Unix & Linux 大学教程》 - 第二十四章 学习笔记 目录操作
《Unix & Linux 大学教程》 - 第二十五章 学习笔记 文件操作
《Unix & Linux 大学教程》 - 第二十六章(一) 学习笔记 进程和作业控制
《Unix & Linux 大学教程》 - 第二十六章(二) 学习笔记 进程和作业控制
第二十二章:vi文本编辑器(三)
设置选项
两种选项类型:开关与变量
开关语法:
:set[no]option...
开关 |
缩写 |
默认值 |
含义 |
autoindent |
ai |
off |
和shift width相关,缩进以匹配上一行/下一行 |
autowrite |
aw |
off |
如果文本已经修改,则在切换文件前保存 |
errorbells |
eb |
off |
当显示错误消息时发出滴滴声 |
exrc |
ex |
off |
在当前目录中查找初始化文件 |
ignorecase |
ic |
off |
在搜索过程中忽略大小写 |
list |
-- |
off |
将制表符显示为^I,将行的结束显示为$ |
number |
nu |
off |
显示行号 |
readonly |
ro |
off |
不允许修改编辑缓冲区的内容 |
showmatch |
sm |
off |
输入模式:显示匹配的()、{}或[] |
showmode |
smd |
off |
当进入输入模式时显示一个提醒 |
wrapscan |
ws |
off |
在搜索过程中,环绕到文本的开头/末尾继续搜索 |
writeany |
wa |
off |
允许不需要重载! 就可以写入任何文件 |
变量语法:
:setoption[=value]...
变量 |
缩写 |
默认值 |
含义 |
lines |
-- |
24 |
文本的行数(窗口/屏幕大小-1) |
shiftwidth |
sw |
8 |
autoindent 使用的空格数量 |
tabstop |
ts |
8 |
制表符间距 |
wrapmargin |
wm |
0 |
设置自动换行时的页边距(0=off) |
显示选项
语法:
:set[option[?]... |all]
:set all:显示所有选项的值
:set number? showmode?:显示多个选项的值
:set:显示改变了默认值的选项
键入过程中自动换行
语法:
:set wrapmargin=n(n为距离右边距的字符数)
wrapmargin=0(不自动换行)
(不知道这个怎么用,我这里似乎没有什么效果。。。)
:set autoindent(设置自动缩进)
(这个实验是有效果的,换行之后,新行与上行与左边距的距离相同)
分隔与连接行
语法:
r<Return>:在光标处换行(在修改文本中讲过r了)
J:连接行,在所在行执行J,结果将下一行接到本行末尾(自动插入空格,单词间一个,句子间两个)
3J:我机器上的结果为将3行合并为一行,而不是执行3次J(3次J则是将4行合并为一行)
复制与移动行
语法:
:x[,y]coz:x,y,z为行号。将第x(至第y)行复制到第z行的下面
:x[,y]mz:x,y,z为行号。将第x(至第y)行移动到第z行的下面
输入shell命令
语法:
:!command:暂停vi,执行shell命令
:!!:暂停vi,执行前一条命令
:sh:暂停vi,启动一个新shell(默认shell)
:!bash:暂停vi,启动一个新Bash shell
:!tcsh:暂停vi,启动一个新Tcsh shell
将文件中的数据插入到编辑缓冲区中
语法:
:[line]rfile:在第line行之后插入file
:$r text(在末尾插入文件text)
将shell命令的输出插入到编辑缓冲区中
语法:
:[line]r !command:在第line行之后插入执行command命令后输出的内容
:r !ls -l(在当前行下面插入ls -l后的输出)
使用程序处理数据
!和!!命令将把编辑缓冲区中的行发送给另一个程序,该程序的输出将替换原始行
语法:
n!!program:在n个行上执行程序program
!moveprogarm:从当前行至move行执行程序program
5!!sort(从当前行开始,到连续5行的文本执行sort命令)
!Gsort(从当前行开始,到文本末尾执行sort命令)
将数据写入文件
语法:
:w:将数据写入原始文件
:wfile:将数据写入到一个新的文件(如果这个文件不存在,则会提示警告,如果确实要覆盖,使用下面的命令)
:w!file:覆盖一个已有的文件
:w>>file:将数据追加到指定的文件
切换到一个新文件
语法:
:e file:切换到新的文件(如果当前文件有未保存内容,则需要保存,如果不想保存,则需使用下面的命令)
:e! file:切换到新的文件,忽略对当前文件的修改
:e!:忽略当前的修改,重新编辑此文件
使用缩写
语法:
:ab [short long]:缩写(abbreviate),在输入模式中使用(只有缩写成为单独单词时才会自动补全)
:una short:反缩写(un-abbreviate),删除一个缩写
:ab:查看缩写列表
宏
在命令模式下使用的单字符缩写
Vi:可以用作宏名称的字符 |
字母 |
g K q v V Z |
标点符号 |
@ # * \ |
Ctrl字符 |
^A ^K ^O ^W ^X |
|
Vim:可以用作宏名称的字符 |
字母 |
K q v V |
标点符号 |
@ \ |
Ctrl字符 |
^@ ^A ^K ^O ^W ^X |
|
语法:
:map[x commands]
x为一个字符
commands是vi或ex命令序列
:map g 1G:输入g,则跳转到第一行
:map K deep:输入K,则调换两个单词
:map * I/* ^V^[A */^V^[:把当前行变为/*……*/形式的注释(在当前行前后分别加入/*和*/)
(^V^[,输入一个<ESC>码)
某些版本允许将宏赋给F1-F10
语法:
:map #number commands
:map #3 :set all:将F3设置为查看所有选项
移除宏
:unmapx
初始化文件
vi:.exrc
vim:.vimrc
一些版本的vi(或vim)不允许初始化文件中有空行,并且可能会提示一个不明确的错误消息,比如:Error detected in .exrc
如果home中有初始化文件,则加载,并执行其中命令
使用两个初始化文件
检查exrc选项,如果是打开的,则在当前目录下查找第二个初始化文件来执行
相关文档/帮助
vimtutor
:help
:help-user-manual
:help-differences
转贴请保留以下链接
本人blog地址
http://su1216.iteye.com/
http://blog.csdn.net/su1216/
分享到:
相关推荐
UNIX&LINUX;大学教程.pdf
Unix & Linux大学教程Unix & Linux大学教程Unix & Linux大学教程
Linux内核最初只是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和...
UNIX&LINUX大学教程重点整理终极版.docx
《Unix & Linux大学教程》内容简介:Unix是计算机发展历史上最成功的...在《Unix & Linux大学教程》中,不仅可以全面学习到Unix和Linux操作系统的工作原理和主要命令,还可以知晓Unix和Linux发展史上的许多奇闻趣事。
vi 学习笔记——取自《Unix&Linux;大学教程》,vi 学习笔记——取自《Unix&Linux;大学教程》
被誉为最好的Linux shell入门教程
本教程为外文资料中文版,主要讲述Linux和Unix的基础知识,是一份非常适合初学者的Linux资料
高教类课件:Unix & Linux 大学教程
Unix&Linux大学教程+实验+样题.7z
大学经典的教材,Unix&Linux;大学教程,这个ppt就是和这本书配套的。
在本书中,不仅可以全面学习到Unix和Linux操作系统的工作原理和主要命令,还可以知晓Unix和Linux发展史上的许多奇闻趣事。 另外,本书还解释了622个Unix专业术语,许多术语都给出了其历史来源;书中的示例涵盖了...
UNIX&Linux;大学教程,是国外一本经典的UNIX入门教程,该资源为英文原版。希望学习UNIX的同学可以下载下来看一看,挺好的一本书。
根据原著勘误表及本人阅读过程中发现的错误,以pdf文档的注释形式将所有错误进行全部更正。
电子科技大学<UNIX&Linux操作系统编程>课程课件1,详细讲解Linux操作系统命令等基础知识
UNIX&Linux操作系统编程-操作系统基本知识.ppt
【Unix&Linux;】较全的文档,文件大小100多mb,入门学习;
Unix&Linux;资料
IBM UNIX&Linux- AIX 5L 系统管理技术 于宁斌,很好的aix入门书籍。由于是影印版,个头比较大,分为两部分。