From c828e38da02b52e0a79a88b57f49c2780728ece4 Mon Sep 17 00:00:00 2001 From: shzhxh Date: Fri, 26 Apr 2019 10:37:19 +0800 Subject: [PATCH] =?UTF-8?q?mv=20mysql=E7=94=A8=E6=B3=95=20to=20mysql.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Software/mysql.md | 18 ++++++ Software/mysql用法 | 2 - Software/vim.md | 140 +++++++++++++++++++++++++++++-------------- Software/zip.md | 1 + 4 files changed, 113 insertions(+), 48 deletions(-) create mode 100644 Software/mysql.md delete mode 100644 Software/mysql用法 diff --git a/Software/mysql.md b/Software/mysql.md new file mode 100644 index 0000000..50eac47 --- /dev/null +++ b/Software/mysql.md @@ -0,0 +1,18 @@ +#### 安装 + +``` +sudo apt install mysql-server # 安装mysql +``` + +#### 设置密码 + +``` +sudo mysql_secure_installation +``` + +#### 登陆 + +``` +mysql -u root -p # 登陆mysql +``` + diff --git a/Software/mysql用法 b/Software/mysql用法 deleted file mode 100644 index 677a564..0000000 --- a/Software/mysql用法 +++ /dev/null @@ -1,2 +0,0 @@ -sudo apt install mysql-server //安装mysql -mysql -u root -p //登陆mysql diff --git a/Software/vim.md b/Software/vim.md index fb977c6..0459dfd 100644 --- a/Software/vim.md +++ b/Software/vim.md @@ -15,66 +15,95 @@ -d # 比较多个文件的差异。就像vimdiff那样工作。 ``` +#### 使用示例 +##### 修改 -#### 命令模式 +``` +i //当前字符的前面插入 +a //当前字符的后面插入 +ce //修改到单词末尾(即删除当前光标到单词末尾的字符,并转为插入模式) +cw //修改单词 +c$ //修改到行末 +:r // 在光标处插入内容,可以来自于文件,也可能来自于命令输出 +rx //用x替换当前光标处的字符 +``` -```bash +##### 删除 + +``` +dd # 删除整行 +d$ # 删除到行末(包括本行的最后一个字符) +dw # 删除一个单词(包括下一个单词之前的字符) +de # 删除一个单词(包括本单词的最后一个字符) +x # 删除单个字符 +:n,.d # 删除从第n行到当前行的所有内容 +:.,$d # 删除从当前到最后一行的所有内容 +:1,$d # 删除当前文档的全部内容 +``` + +##### 复制、剪切、粘贴 + +``` +y # 复制 +d # 剪切 +p # 粘贴 +``` + +##### 搜索 + +``` +/ # 搜索,从上向下 +? # 搜索,从下向上 +``` + +##### 选择 + +``` +v # 选择,以字符为单位 +V # 选择,以行为单位 +``` + +##### 替换 + +``` :s/vivian/sky/ //替换当前行第一个vivian为sky :s/vivian/sky/g //替换当前行所有vivian为sky :%s/[a-z]//ig //删除文档中所有字母,且忽略大小写 :%s/old/new/gc //查找全部文件,并提示是否把old替换为new :n,$s/vivian/sky //从第n行到最后一行替换第一个vivian为sky - - :vsp filename # 纵向分屏,并打开文件filename - :sp filename # 横向分屏,并打开文件filename +``` - :n,.d //删除从第n行到当前行的所有内容 - :1,$d //删除全部内容 - :set number //显示行号 - :set nonumber // 不显示行号 - :w filename //另存为 - :w !sudo tee % // 以超级用户的身份保存文件。%代表当前文件名,tee命令把stdin保存到文件中 - - :r // 在光标处插入内容,可以来自于文件,也可能来自于命令输出 - - :!command // 执行外部命令command - :%!xxd //以16进制形式查看文档,%表示文件的所有行,!xxd表示执行xxd命令 - :%!xxd -r //将修改的内容反写回源文件 - +##### 正则表达式 + +``` :g/{pattern}/{cmd} //对所有满足{pattern}的行执行{cmd}命令 :g/someword/d //删除所有包含someword的行 ``` -#### 一般模式 -```bash -删除 - dd //删除整行 - d$ //删除到行末(包括本行的最后一个字符) - dw //删除一个单词(包括下一个单词之前的字符) - de //删除一个单词(包括本单词的最后一个字符) - x //删除单个字符 -修改 - i //当前字符的前面插入 - a //当前字符的后面插入 - ce //修改到单词末尾(即删除当前光标到单词末尾的字符,并转为插入模式) - cw //修改单词 - c$ //修改到行末 - - v //选择 - V //选择一行 - y //复制 - d //剪切 - p //粘贴 - rx //用x替换当前光标处的字符 - + + + +##### 撤销 + +``` u //撤销 U //撤销对整行的修改 Ctrl+r //反撤销 -搜索 - / //搜索,从上向下 - ? //搜索,从下向上 +``` + + + +##### 分屏 + +``` + :vsp filename # 纵向分屏,并打开文件filename + :sp filename # 横向分屏,并打开文件filename +``` + +##### 移动光标 + +``` % //跳转到与光标处括号相匹配的另一个括号 -移动光标 G //跳转到文尾 nG //跳转到第n行 gg //跳转到文首 @@ -86,10 +115,29 @@ e //移动到下个单词的最后一个字符 0 //移动到行首 ``` -#### 组合键 -如果不小心按下Ctrl+s暂停该终端,需要Ctrl+q退出当前状态。 + +##### 显示控制 ``` + :set number //显示行号 + :set nonumber // 不显示行号 ctrl+g //显示在文件中的位置与文件信息 ``` +##### 文件保存 + +``` + :w filename //另存为 + :w !sudo tee % // 以超级用户的身份保存文件。%代表当前文件名,tee命令把stdin保存到文件中 +``` + +##### 执行外部命令 + +```bash + :!command // 执行外部命令command + :%!xxd //以16进制形式查看文档,%表示文件的所有行,!xxd表示执行xxd命令 + :%!xxd -r //将修改的内容反写回源文件 +``` +#### 常见错误 +- 在shell下`Ctrl+s`不是保存文件,而是暂停该终端,此时对终端的所有操作均无效。需要`Ctrl+q`退出当前状态。 + diff --git a/Software/zip.md b/Software/zip.md index e012da4..0b9647a 100644 --- a/Software/zip.md +++ b/Software/zip.md @@ -11,6 +11,7 @@ zip [options] [zipfile] [file...] # 把file...压缩为zipfile #### 选项 ``` +-m, --move # 将指定文件放进zip压缩包里 -r, --recurse-paths # 递归地遍历目录结构 -R, --recurse-patterns # 从当前目录递归地遍历目录结构 ```