VI手册按照惯例是help.txt的格式,主要内容如下:
HELP
*help.txt* For Vim version 7.4. 最近更新: 2013年8月
VIM - 主帮助文件
k
移动: 使用光标键,或者用 "h" 向左, h l
"j" 向下,"k" 向上,"l" 向右。 j
关闭本窗口: 使用 ":q<Enter>"。
离开 Vim: 使用 ":qa!<Enter>" (当心,所有的改动都会丢失!)。
跳转到一个主题: 将光标置于标签 (例如 |bars|) 上然后输入 CTRL-]。
使用鼠标: ":set mouse=a" 启动对鼠标的支持 (用于 xterm 或 GUI)。
在标签 (例如 |bars|) 上双击。
跳回: 键入 CTRL-T 或 CTRL-O (重复则继续向后)。
获取特定帮助: 在 |:help| 命令后给出参数可以直接跳转到任何的帮助主题。
还可以进一步指定上下文:
*help-context*
类别 前缀 例子
普通模式命令 (无) :help x
可视模式命令 v_:help v_u
插入模式命令 i_:help i_<Esc>
命令行模式命令 : :help :quit
命令行编辑 c_:help c_<Del>
Vim 命令参数 - :help -r
选项 ' :help 'textwidth'
查找帮助: 键入 ":help word",接着键入 CTRL-D 可以看到匹配 "word" 的
帮助主题。
也可用 ":helpgrep word"。|:helpgrep|
VIM 代表 Vi IMproved。VIM 主要由 Bram Moolenaar 编写,但没有许多其他人的帮助是
不可能的。请见 |credits|。
*doc-file-list* *Q_ct*
基础:
|quickref| 总览最常用的命令
|tutor| 面向初学者的 30 分钟教程
|copying| 版权信息
|iccf| 资助乌干达贫困儿童
|sponsor| 赞助 Vim 的开发,成为一名注册用户
|www| 互联网上的 Vim
|bugs| 如何提交漏洞报告
用户手册: 这些文件解释如何完成一项编辑任务。
|usr_toc.txt| 目录
初步知识
|usr_01.txt| 关于本手册
|usr_02.txt| Vim 初步
|usr_03.txt| 移动
|usr_04.txt| 做小改动
|usr_05.txt| 选项设置
|usr_06.txt| 使用语法高亮
|usr_07.txt| 编辑多个文件
|usr_08.txt| 分割窗口
|usr_09.txt| 使用 GUI 版本
|usr_10.txt| 做大修改
|usr_11.txt| 从崩溃中恢复
|usr_12.txt| 小窍门
高效地编辑
|usr_20.txt| 快速键入命令行
|usr_21.txt| 离开和回来
|usr_22.txt| 寻找要编辑的文件
|usr_23.txt| 编辑特殊文件
|usr_24.txt| 快速插入
|usr_25.txt| 编辑带格式的文本
|usr_26.txt| 重复
|usr_27.txt| 查找命令及模式
|usr_28.txt| 折叠
|usr_29.txt| 在代码间移动
|usr_30.txt| 编辑程序
|usr_31.txt| 利用 GUI
|usr_32.txt| 撤销树
调节 Vim
|usr_40.txt| 创建新的命令
|usr_41.txt| 编写 Vim 脚本
|usr_42.txt| 添加新的菜单
|usr_43.txt| 使用文件类型
|usr_44.txt| 自定义语法高亮
|usr_45.txt| 选择你的语言
让 Vim 工作
|usr_90.txt| 安装 Vim
参考手册: 这些文件详细地解释 Vim 的每个细节。 *reference_toc*
一般主题
|intro.txt| 对 Vim 的一般介绍;帮助文件中所使用的符号
|help.txt| 总览及快速参考 (本文件)
|helphelp.txt| 关于如何使用帮助文件
|index.txt| 以字母顺序排列的命令索引
|help-tags| 可跳转的所有标签 (标签索引)
|howto.txt| 如何完成最常见的编辑任务
|tips.txt| Vim 的各种窍门
|message.txt| (错误) 信息及解释
|quotes.txt|Vim 的用户评价
|todo.txt| 已知的问题以及扩展计划
|develop.txt| Vim 的开发
|debug.txt| 调试 Vim 自身
|uganda.txt|Vim 发布条件和怎么花你的 money
基本编辑
|starting.txt| 启动 Vim,Vim 命令参数,初始化
|editing.txt| 编辑和写入文件
|motion.txt|有关移动的命令
|scroll.txt|在窗口中滚动文本
|insert.txt|插入模式和替换模式
|change.txt|删除和替换文本
|indent.txt|C 及其它语言的自动缩进
|undo.txt| 撤消和重做
|repeat.txt|重复命令,Vim 脚本及调试
|visual.txt|使用可视模式 (选择一个文本区域)
|various.txt| 各种其它命令
|recover.txt| 从崩溃中恢复
高级编辑
|cmdline.txt| 命令行编辑
|options.txt| 所有选项的描述
|pattern.txt| 正则表达式及查找命令
|map.txt| 键盘映射及缩写
|tagsrch.txt| 标签及特殊查找
|quickfix.txt| 支持快速 编辑-编译-修正 循环的命令
|windows.txt| 使用多窗口多缓冲区的命令
|tabpage.txt| 使用多个标签页的命令
|syntax.txt|语法高亮
|spell.txt| 拼写检查
|diff.txt| 编辑同一文本的两到四个版本
|autocmd.txt| 当事件发生时自动执行命令
|filetype.txt| 对某一类型文件的专有设定
|eval.txt| 表达式求值,条件执行命令
|fold.txt| 隐藏 (折叠) 一定范围内的文本
特殊问题
|print.txt| 打印
|remote.txt|将 Vim 用作服务器/客户端
|term.txt| 使用不同终端和鼠标
|digraph.txt| 可用的二合字母清单
|mbyte.txt| 多字节文本支持
|mlang.txt| 非英语语言支持
|arabic.txt|阿拉伯语支持及编辑
|farsi.txt| Farsi (波斯语) 编辑
|hebrew.txt|希伯来语支持及编辑
|russian.txt| 俄罗斯语支持及编辑
|ft_ada.txt|Ada (编程语言) 支持
|ft_sql.txt|SQL 文件类型插件相关
|hangulin.txt| Hangul (韩语) 输入模式
|rileft.txt|从右向左的编辑模式
GUI
|gui.txt| 图形用户界面 (GUI)
|gui_w16.txt| Windows 3.1 GUI
|gui_w32.txt| Win32 GUI
|gui_x11.txt| X11 GUI
各种接口
|if_cscop.txt| 联用 cscope 与 Vim
|if_lua.txt|Lua 接口
|if_mzsch.txt| MzScheme 接口
|if_perl.txt| Perl 接口
|if_pyth.txt| Python 接口
|if_sniff.txt| SNiFF+ 接口
|if_tcl.txt|Tcl 接口
|if_ole.txt|Win32 下的 OLE 接口
|if_ruby.txt| Ruby 接口
|debugger.txt| 与调试程序的接口
|workshop.txt| Sun Visual Workshop 接口
|netbeans.txt| NetBeans 外部编辑器接口
|sign.txt| 调试标号
版本
|vi_diff.txt| Vim 和 Vi 之间的主要区别
|version4.txt| Vim 3.0 和 4.x 版本的区别
|version5.txt| Vim 4.6 和 5.x 版本的区别
|version6.txt| Vim 5.7 和 6.x 版本的区别
|version7.txt| Vim 6.4 和 7.x 版本的区别
*sys-file-list*
特定系统相关
|os_390.txt|OS/390 Unix
|os_amiga.txt| Amiga
|os_beos.txt| BeOS 和 BeBox
|os_dos.txt|MS-DOS 和 MS-Windows NT/95 通用的条目
|os_mac.txt|Macintosh
|os_mint.txt| Atari MiNT
|os_msdos.txt| MS-DOS (纯 DOS 及 Windows 内的 DOS 窗口)
|os_os2.txt|OS/2
|os_qnx.txt|QNX
|os_risc.txt| RISC-OS
|os_unix.txt| Unix
|os_vms.txt|VMS
|os_win32.txt| MS-Windows 95/98/NT
*standard-plugin-list*
标准插件
|pi_getscript.txt| 下载 Vim 脚本的最新版本
|pi_gzip.txt|读写压缩过的文件
|pi_netrw.txt| 通过网络读写文件
|pi_paren.txt| 高亮匹配括号
|pi_tar.txt| Tar 文件探索器
|pi_vimball.txt| 创建自安装的 Vim 脚本
|pi_zip.txt| Zip 归档探索器
本地附加文档
|local-additions| 请查阅英文文档
*bars* Bars 举例
现在你已经通过 CTRL-] 或双击鼠标跳转到这里了,CTRL-T、CTRL-O、g<RightMouse>、
或 <C-RightMouse>可以用来跳回到你原来的地方。
注意 标签包含在两个 | 字符之间,但打开高亮时这些字符被隐藏,这样更易于命令的阅
读。
不过,你可以在任何单词上按 CTRL-],即使该单词不出现在 | 之间也无妨。Vim 会试图
寻找该单词的相关帮助,尤其是单引号之间的选项名,如 'compatible'。
vim:tw=78:fo=tcq2:isk=!-~,^*,^\|,^\":ts=8:ft=help:norl:
SQL WHERE 子句用于筛选出那些满足指定条件的记录
SELECT column_name(s) FROM table_name WHERE column_name operator value
演示数据
先在 MySQL 数据库运行下面的语句创建测试数据
CREATE DATABASE IF NOT EXISTS twle default character set utf8mb4 collate utf8mb4_unicode_ci
USE twle
DROP TABLE IF EXISTS `lession`
CREATE TABLE `lession` (
id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
name varchar(32) default '',
views int(11) NOT NULL default '0',
created_at DATETIME
)
INSERT INTO lession(id,name,views,created_at) VALUES
(1, 'Python 基础教程',981,'2017-04-18 13:52:03'),
(2, 'Scala 基础教程',73,'2017-04-18 16:03:32'),
(3, 'Ruby 基础教程',199,'2017-05-01 06:16:14'),
(4, 'SQL 基础教程', 533,'2017-05-02 08:13:42')
使用 SELECT * FROM lession运行结果如下
mysql>select * from lession
+----+---------------------+-------+---------------------+
| id | name | views | created_at |
+----+---------------------+-------+---------------------+
| 1 | Python 基础教程 | 981 | 2017-04-18 13:52:03 |
| 2 | Scala 基础教程 | 73 | 2017-04-18 16:03:32 |
| 3 | Ruby 基础教程 | 199 | 2017-05-01 06:16:14 |
| 4 | SQL 基础教程 | 533 | 2017-05-02 08:13:42 |
+----+---------------------+-------+---------------------+
总共有 4 条记录
WHERE 子句
下面的 SQL 语句从 "lession" 表中选取 id 为 "1" 的所有课程
SELECT * FROM lession WHERE id=1
运行以上 SQL 语句,输出结果如下:
mysql>SELECT * FROM lession WHERE id=1
+----+---------------------+-------+---------------------+
| id | name | views | created_at |
+----+---------------------+-------+---------------------+
| 1 | Python 基础教程 | 981 | 2017-04-18 13:52:03 |
+----+---------------------+-------+---------------------+
下面的 SQL 语句从 "lession" 表中选取 name 为 "Pyhon 基础教程" 的所有课程
SELECT * FROM lession WHERE name = 'Python 基础教程'
运行以上 SQL 语句,输出结果如下:
mysql>SELECT * FROM lession WHERE name = 'Python 基础教程'
+----+---------------------+-------+---------------------+
| id | name | views | created_at |
+----+---------------------+-------+---------------------+
| 1 | Python 基础教程 | 981 | 2017-04-18 13:52:03 |
+----+---------------------+-------+---------------------+
文本字段 vs 数值字段
SQL 使用单引号来环绕文本值
虽然大部分数据库系统也接受双引号,但我们极力反对使用双引号
上面的范例中 'name' 文本字段使用了单引号
如果是数值字段,请不要使用引号
虽然使用数值字段也可以使用单引号,但数据库系统要经过一次数据类型转换,增加了数据库系统的开销
数值字段使用单引号 极力不推荐
SELECT * FROM lession WHERE id = '1'
运行以上 SQL 语句,输出结果如下:
mysql>SELECT * FROM lession WHERE id = '1'
+----+---------------------+-------+---------------------+
| id | name | views | created_at |
+----+---------------------+-------+---------------------+
| 1 | Python 基础教程 | 981 | 2017-04-18 13:52:03 |
+----+---------------------+-------+---------------------+
WHERE 子句中的运算符
下表中的运算符可以在 WHERE 子句中使用
运算符描述
=等于
>不等于 1
>大于
小于
>=大于等于
<=小于等于
BETWEEN在某个范围内
LIKE搜索某种模式
IN指定针对某个列的多个可能值
在 SQL 的一些版本中,该操作符可被写成 !=
sed替换命令的结构为: s/A/B/
你在最后少了个斜杠/,结构不完整,会报错。
修改为:
A=helloar=$(date "+%Y%m%d")
echo A | sed "s/he/$Var/"