当前位置: 首页 > news >正文

淮安网站建设服务苏州企业网站建设公司

淮安网站建设服务,苏州企业网站建设公司,房地产网站建设招商,网页设计与网站建设课件运维人员不仅要熟悉操作系统、服务器、网络等只是#xff0c;甚至对于开发相关的也要有所了解。很多运维工作者可能一时半会记不住那么多命令、代码、方法、原理或者用法等等。这里我将结合自身工作#xff0c;持续给大家更新运维工作所需要接触到的知识点#xff0c;希望大… 运维人员不仅要熟悉操作系统、服务器、网络等只是甚至对于开发相关的也要有所了解。很多运维工作者可能一时半会记不住那么多命令、代码、方法、原理或者用法等等。这里我将结合自身工作持续给大家更新运维工作所需要接触到的知识点希望大家喜欢。 今天我们要讲的是 Vim。 一、简介 Vim文本编辑器是由 vi 发展演变过来的文本编辑器使用简单、功能强大、是 Linux众多发行版的默认文本编辑器。  vi ( visual editor ) 编辑器通常被简称为vi它是Linux和Unix系统上最基本的文本编辑器类似于Windows系统下的notepad (记事本) 编辑器。Vim (Vi improved)是 vi 编辑器的加强版比 vi 更容易使用。vi 的命令几乎全部都可以在vim上使用。 文章开头我先对 Vim 相关的一些基础词语做个解释后面都会有详细的说明方便大家理解。 官方网站https://www.vim.org/ 1.1. 动词理解 动词代表了我们打算对文本进行什么样的操作。 d # 表示删除delete r # 表示替换replace c # 表示修改change y # 表示复制yank v # 表示选取visual select 1.2. 名词理解 名词代表了我们即将处理的文本。引号或者各种括号所包含的文本称作一个文本块。 w # 表示一个单词word s # 表示一个句子sentence p # 表示一个段落paragraph t # 表示一个 HTML 标签tag 1.3. 介词理解 介词界定了待编辑文本的范围或者位置。 i # 表示在...之内 inside a # 表示环绕... around t # 表示到...位置前 to f # 表示到...位置上 forward 1.4. 数词理解 数词指定了待编辑文本对象的数量从这个角度而言数词也可以看作是一种介词。引入数词之后文本编辑命令的语法就升级成了下面这样 动词 介词/数词 名词 # 示例 c3w # 修改三个单词change three words d2w # 删除两个单词delete two words 另外数词也可以修饰动词表示将操作执行 n 次。于是我们又有了下面的语法 数词 动词 名词  # 示例 2dw # 两次删除单词(等价于删除两个单词): twice delete word 3x # 三次删除字符(等价于删除三个字符): three times delete character 二、Vim 键位操作 按键说明l        右移光标gj       下移光标(折行文本)gk       上移光标(折行文本)H        移动到当前页面顶部M        移动到当前页面中间L        移动到当前页面底部w        移动到下个单词开头W        移动到下个单词开头(单词含标点)e        移动到下个单词结尾E        移动到下个单词结尾(单词含标点)b        移动到上个单词开头B        移动到上个单词开头(单词含标点)ge       移动到上个单词结尾gE       移动到上个单词结尾(单词含标点)%         跳转到配对的符号(默认支持的配对符号组: (), {}, [] 在vim中使用 :h matchpairs 获得更多信息) 0移动到行首^        移动到行首的非空白符$        移动到行尾g_       移动到行内最后一个非空白符gg       移动到文件第一行G        移动到文件最后一行5gg or 5G移动到第五行gd       跳转到局部定义gD       跳转到全局定义fx       移动到字符 x 下次出现的位置tx       移动到字符 x 下次出现的位置的前一个字符Fx       移动到字符 x 上次出现的位置Tx       移动到字符 x 上次出现的位置的后一个字符;        重复之前的f、t、F、T操作,        反向重复之前的f、t、F、T操作}        移动到下一个段落 (当编辑代码时则为函数代码块){        移动到上一个段落 (当编辑代码时则为函数代码块)zz       移动屏幕使光标居中zt       移动屏幕使光标位于屏幕顶部zb       移动屏幕使光标位于屏幕底部Ctrl e 向下移动屏幕一行(保持光标不动)Ctrl y 向上移动屏幕一行(保持光标不动)Ctrl b 向上滚动一屏Ctrl f 向下滚动一屏Ctrl d 向下滚动半屏Ctrl u 向上滚动半屏 Tips命令前追加数字表示命令的重复次数, 比如 4j 表示向下移动四行 三、Vim 基础编辑 按键说明r       替换当前字符R       在 ESC 按下之前替换多个字符J       将下一行合并到当前行, 并在两部分文本之间插入一个空格gJ      将下一行合并到当前行, 两部分文本之间不含空格gwip    重新调整段落g~      大小写转换操作修饰符gu      小写操作修饰符gU      大写操作修饰符cc      将光标所在的行删除, 然后进入插入模式c$ or C 将光标处到行尾删除, 然后进入插入模式ciw     将光标所在的单词删除, 然后进入插入模式cw or ce从光标位置开始, 修改单词s       删除当前字符, 然后进入插入模式S       清空当前行, 然后进入插入模式 (同cc)xp      当前字符后移u       撤销U       撤销上一次的改动行的操作Ctrl r重做取消撤销.       再次执行上个命令 四、Vim 插入模式 按键说明i              从光标前开始插入字符I              从行首开始插入字符a              从光标后开始插入字符A              从行尾开始插入字符o              在当前行之下另起一行, 开始插入字符O              在当前行之上另起一行, 开始插入字符ea             从当前单词末尾开始插入Ctrl h       在插入模式下删除光标前的字符Ctrl w       在插入模式下删除光标前的单词Ctrl j       在插入模式下另起一行Ctrl t       在插入模式下向右缩进宽度由 shiftwidth 控制Ctrl d       在插入模式下向左缩进宽度由 shiftwidth 控制Ctrl n       在插入模式下在光标之前插入自动补全的下一个匹配项Ctrl p       在插入模式下在光标之前插入自动补全的上一个匹配项Ctrl rx      插入寄存器 x 的内容Ctrl ox      暂时进入正常模式以发出一个正常模式命令 xEsc or Ctrl c退出插入模式 五、Vim 可视化模式 按键说明v              进入可视化模式, 移动光标高亮选择, 然后可以对选择的文本执行命令(比 y - 复制)V              进入可视化模式(行粒度选择)o              切换光标到选择区开头/结尾Ctrl v       进入可视化模式(矩阵选择)O              切换光标到选择区的角aw             选择当前单词ab             选择被 () 包裹的区域(含括号)aB             选择被 {} 包裹的区域(含花括号)at             选择被 标签包裹的区域(含标签)ib             选择被 () 包裹的区域(不含括号)iB             选择被 {} 包裹的区域(不含花括号)it             选择被 标签包裹的区域(不含标签)Esc or Ctrl c退出可视化模式              向右缩进              向左缩进y              复制d              剪切~              大小写切换u              将选中文本转换为小写U              将选中文本转换为大写 Tips也可以使用 ( 和 { 分别代替 b 和 B 。 六、Vim Ctrl-c Ctrl v 神器 按键说明yy     复制当前行2yy    复制 2 行yw     复制当前单词yiw    复制光标处的单词yaw    复制光标处的单词及其前后的空格y$ or Y复制, 从光标位置到行末p      在光标后粘贴P      在光标前粘贴gp     在光标后粘贴并把光标定位于粘贴的文本之后gP     在光标前粘贴并把光标定位于粘贴的文本之后dd     剪切当前行2dd    剪切 2 行dw     剪切当前单词diw    删除光标处的单词daw    删除光标处的单词及其前后的空格:3,5d  删除 3 至 5 行:g/{pattern}/d删除所有包含 pattern 的行:g!/{pattern}/d删除所有不包含 pattern 的行d$ or D剪切, 从光标位置到行末 (同 D )x剪切当前字符 Tips也可以使用以下字符来指定范围:.,$d - 从当前行到文件末尾 :.,1d - 从当前行到文件开头 :10,$d - 第 10 行到文件末尾  七、Vim 保存和退出 按键说明:w保存:q关闭文件:wq | :x | ZZ保存并退出:wqa保存并退出所有文件:q! | ZQ强制退出:qa关闭所有文件:qa!强制退出所有文件:w new.txt写入new.txt:sav new.txt保存并编辑new.txt:w !sudo tee %写入只读文件 八、Vim 查找和替换 按键说明/foo向前搜索/foo\c向前搜索 (不区分大小写)?foo向后搜索/\v\d使用 regex 搜索n下一个匹配的搜索模式N上一个匹配的搜索*向前搜索当前单词#向后搜索当前单词%整个文件’,’当前选择5第 5 行5,10第 5 行到第 10 行$最后一行2,$第 2 行到最后.当前行,3接下来的 3 行-3,转发 3 行 | \0替换为整个匹配的\1...\9替换为 0-9 组\u大写下一个字母\U后面的大写字符\l小写下一个字母\L后面的字符小写\e\u、\U、\l 和 \L 的结尾\E\u、\U、\l 和 \L 的结尾:s/old/new更换行先更换:s/old/new/g更换行全部替换:s/\vold/new/g更换行全部替换为 regex:s/old/new/gc更换行全部替换_(确认)_:s/old/new/i更换行先忽略大小写替换:2,6s/old/new/g更换行在 2-6 行之间替换:%s/old/new更换文件先更换:%s/old/new/g更换文件全部替换:%s/old/new/gc更换文件全部替换 (确认):%s/old/new/gi更换文件全部替换 (忽略大小写):%s/\vold/new/g更换文件全部替换为 regex:g/foo/d删除包含 foo 的行:g!/foo/d删除不包含 foo 的行:g/^\s*$/d删除所有空行:g/foo/t$将包含 foo 的行复制到 EOF:g/foo/m$将包含 foo 的行移动到 EOF:g/^/m0反转文件:g/^/t.复制每一行 实例说明 :s/a\|b/xxx\0xxx/g # 将 a b 修改为 xxxaxxx xxxbxxx :s/test/\U file/ # 将 test 修改为 TEST FILE :s/\(test\)/\U\1\e file/ # 将 test 修改为 TEST file :s/\v([abc])([efg])/\2\1/g # 将 af fa bg 修改为 fa fa gb :s/\v\w/\u\0/g # 将 bla bla 修改为 Bla Bla :s/\v([ab])|([cd])/\1x/g # 将 a b c d 修改为 ax bx x x :%s/.*/\L/ # 将 HTML 修改为 html :s/\v(.)(\w*)/\u\1\L\2/g # 将单词的每个首字母大写 :%s/^\(.*\)\n\1/\1/ # 删除重复行 :%s/\/\\(\w\\)\/\U/g # 将 HTML 标记转换为大写 :g/^pattern/s/$/mytext # 查找文本并将其附加到末尾 :g/pattern/norm! i # 在匹配行上运行宏 /^\(.*\)\(\r\?\n\1\)\$ # 查看重复行 /\v^(.*)(\r?\n\1)$ # 查看重复行非常神奇 :v/./,/./-j # 将空行压缩成空行 :g/p1/,/p2/d # 从 p1 到 p2 包含删除 九、Vim diff 文件比对 用法 $ vimdiff file1 file2 [file3] $ vim -d file1 file2 [file3] 按键说明 按键说明zf              定义折叠修饰符zd              删除光标位置的折叠za              展开 关闭光标位置的折叠zo              展开光标位置的折叠zc              关闭光标位置的折叠zr              展开同级的所有折叠zm              关闭同级的所有折叠zi              开启 关闭折叠功能]c              光标移至下一处差异[c              光标移至上一处差异do or :diffg[et]将另一缓冲区中的差异合并至当前缓冲区dp or :diffpu[t]将当前缓冲区中的差异推送至另一缓冲区:diffthis       令当前窗口成为 diff 模式的窗口之一:dif[fupdate]   强制刷新 diff 的高亮与折叠:diffo[ff]      令当前窗口退出 diff 模式 Tips可以直接在终端运行 vimdiff 查看文件间的不同。也可以将该程序设为 git difftool 的选项之一。 十、Vim 标记 按键说明^插入模式下光标的最后位置.当前缓冲区的最后更改最后退出的当前缓冲区0在上次编辑的文件中返回当前缓冲区中跳出的行返回当前缓冲区中跳转的位置[到先前更改或拉出的文本的开头]到之前更改或拉出的文本的结尾到最后一个可视化选择的开始到最后一个可视化选择的结尾ma将此光标位置标记为aa跳转到光标位置aa跳转到位置为 a 的行首da从当前行删除到标记 a 的行da从当前位置删除到标记 a 的位置ca将文本从当前行更改为 a 行ya将文本从当前位置拉到 a 的位置:marks列出所有当前标记:delm a删除标记a:delm a-d删除标记a、b、c、d:delm abc删除标记a、b、c Tips可以使用反引号()或单引号()跳转至标记位置。使用单引号会跳转至该标记所在行行首(首个非空白字符)。  十一、Vim 标签 按键说明:tabnew or :tabnew {page.words.file}在新标签中打开文件Ctrl wT                           将窗口变成标签gt or :tabn[ext]                    切换到下一个标签gT or :tabp[revious]                切换到上一个标签#gt                                 切换到第 # 个标签:tabm[ove] #                        移动标签到第 # 位(下标从 0 开始):tabc[lose]                         关闭当前标签:tabo[nly]                          关闭其他标签:tabdo command                      在所有标签中执行命令 (例如 :tabdo q 关闭所有标签) 十二、Vim 多文件编辑 按键说明:e[dit] 文件名    新建缓冲区打开 filename:bn[ext]          切换到下个缓冲区:bp[revious]      切换到上个缓冲区:bd[elete]        关闭缓冲区:b[uffer]#        切换到第 # 个缓冲区:b[uffer] file    用文件名切换缓冲区:ls or :buffers   列出所有打开的缓冲区:sp[lit] 文件名   新建缓冲区打开 filename 并水平分割窗口:vs[plit] 文件名  新缓冲区打开 filename 并垂直分割窗口:vert[ical] ba[ll]垂直分割窗口编辑所有缓冲区:tab ba[ll]       标签页编辑所有缓冲区Ctrl ws         水平分割窗口Ctrl wv         垂直分割窗口Ctrl ww         在窗口间切换Ctrl wq         关闭窗口Ctrl wx         当前窗口与下一个窗口交换位置Ctrl w         令所有窗口高 宽一致Ctrl wh         切换到左侧窗口Ctrl wl         切换到右侧窗口Ctrl wj         切换到下侧窗口Ctrl wk         切换到上侧窗口Ctrl wH         使游标所在视窗全高并移至最左 (最左垂直视窗)Ctrl wL         使游标所在视窗全高并移至最右 (最右垂直视窗)Ctrl wJ         使游标所在视窗全宽并移至最下 (最下水平视窗)Ctrl wK         使游标所在视窗全宽并移至最上 (最上水平视窗) 十三、Vim 宏 按键说明qa录制宏 aq 停止录制宏a执行宏 a重新执行上次执行的宏 实例说明 假设文件包含以下内容 Hello world My name is Vim I am an editor 先在你想在每行末尾添加“”号。为此可以使用宏来录制和重放该命令对于多文本和内容较多的文本操作有很大的帮助。通过以下步骤录制宏 将光标置于第一行末尾的单词键入“qa”来启动录制宏并按下“A”向光标所在位置添加“”号按下“j”将光标移动到下一行按下“q”停止录制宏 录制完宏后执行以下命令执行宏 :%norm!a 这将应用宏到整个文件将“”添加到每行的末尾。文件现在如下所示 Hello world! My name is Vim! I am an editor! 十四、Vim 常用小技巧 14.1. 删除重复行 :sort | %!uniq -u 14.2. 对文件中的行进行编号 :%!cat -n 14.3. 将整个文档复制到剪贴板 :%w !xclip -i -sel c # GNU/Linux :%w !xsel -i -b # GNU/Linux 14.4. 空格和制表符转换 :set noexpandtab # 将所有空格转换为制表符 :set expandtab # 将所有制表符转换为空格 14.5. 保存文件前显示差异 :w !diff % - 这个强烈推荐。 我们可能遇到过这样的情况我修改了这个文件但是忘记都做了哪些修改了并且我担心其中有些地方可能修改错了。解决此问题的方法是查看缓冲区和文件之间的差异。上述命令可以查看。 14.6. 显示拼写错误 :set spell 更多小技巧欢迎大家在评论区分享让我们一起努力谢谢大家。
http://www.dnsts.com.cn/news/38359.html

相关文章:

  • 网站建设范文html5 网站开发工具
  • 域名备案查询站长工具外贸网站如何选择域名
  • 杭州网站设计渠道中国互联网协会会长
  • 木门网站模板php网站开发门槛高吗
  • 四川建设设计公司网站个人个体工商户查询
  • 做蜂蜜上什么网站网站关键词如何做
  • 饲料行业建设网站方案设计免费下载ppt潍坊专业联轴器收购价格
  • 学校网站开发需求成都住建局官网租房交易中心
  • 许昌哪个网站做苗木定制软件开发成本
  • 网站备案代理公司网站制作的管理
  • 学网站开发去哪学个人网站推广广告
  • 网站隐私条款模板网络专题策划书模板
  • 旅游网网站建设方案贵阳企业网站设计与建设
  • 贵州省省建设厅网站移动互联网站建设
  • 做网站的职位提升学历的重要性
  • php企业网站开发实验总结揭东建设局网站
  • 辽宁建设工程信息网官网新网站是哪个公司网站备案后在百度上多长时间可以搜索到
  • 如何检查网站是否做cdn加速wordpress换空间要改什么
  • 知名建筑类的网站中信建设有限责任公司官网英文
  • 北京优化seo排名台州百度搜索优化
  • 威远移动网站建设雷电模拟器手机版下载官方网站
  • vs2017网站开发选择调试服务asp 建站
  • android网站开发实例网站建设开发模式h5
  • 360官方网站北京企业建站
  • 做网站过程用文件东莞seo关键词优化
  • 怎么做网站接家纺订单南宁房地产最新消息
  • 顺的网站建设服务做个网站设计多少钱
  • lol做直播网站php网站建设 关键技术
  • 青海省网站建设公司电话wordpress主页 摘要
  • 网站备案用英文怎么说合肥有哪些seo网络公司