Vi各种快捷方式

上传人:cl****1 文档编号:487418063 上传时间:2022-12-22 格式:DOC 页数:15 大小:176.50KB
返回 下载 相关 举报
Vi各种快捷方式_第1页
第1页 / 共15页
Vi各种快捷方式_第2页
第2页 / 共15页
Vi各种快捷方式_第3页
第3页 / 共15页
Vi各种快捷方式_第4页
第4页 / 共15页
Vi各种快捷方式_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《Vi各种快捷方式》由会员分享,可在线阅读,更多相关《Vi各种快捷方式(15页珍藏版)》请在金锄头文库上搜索。

1、2016年04月第i页Vi各种快捷方式1、可直接输入的命令ctrl+v :进入列模式编辑;shift+g :跳至文档末尾;v:列模式(移动光标,全选);u:撤销;Ctrl+r :恢复刚才撤销的动作;Ctrl+w+w :切换到下一个窗口(多窗口操作);2、以冒号“:”开头的命令:set nu :显示行号:set nonu :取消行号显示:%s/字符串1/字符串2/g :全局替换,字符串2替换字符串1 注:#也可以作为分隔符:% ! sort -u :删除重复行:set noh :取消高亮显示3、以斜杠“ /”开头的命令/输入字符:查找内容。4、行缩进在命令格式下,按住shift并连续点击两次 ,

2、不进入插入模式即可实现行缩进行操作1、删除行刪除沒有內容的空行:g/A$/d刪除包含有空格組成的空行:g/As*$/d以空格或tab開頭到結尾的空行:g/A |t*$/d:%s/r/g 删除DOS方式的回车am:%s= *$= 删除行尾空白:%s/A(.*)n1/1$/删除重复行:%s/A.-pdf/new.pdf/只是删除第一个 pdf:%s/v!-_.-又是删除多行注释(咦?为什么要说又呢?):g/s*A$/d删除所有空行:这个好用有没有人用过还有其他的方法吗?:g!/Add/d删除不含字符串dd的行:v/Add/d同上 (译释:v = g!,就是不匹配!):g/str1/,/str2/d

3、 删除所有第一个含 strl到第一个含str2之间的行:v/./.,/./-1join 压缩空行:g/A$/,/./-j压缩空行ndw或ndW 删除光标处开始及其后的n-1个字符。d0删至行首。d$删至行尾。ndd删除当前行及其后n-1行。x或X删除一个字符。Ctrl+u删除输入方式下所输入的文本。AR恢复u的操作J把下一行合并到当前行尾V选择一行AV按下AV后即可进行矩形的选择了aw选择单词iw内部单词(无空格)as选择句子is选择句子(无空格)ap选择段落ip选择段落(无空格)D删除到行尾x,y删除与复制包含高亮区dl删除当前字符(与x命令功能相同)dO删除到某一行的开始位置dA删除到某一

4、行的第一个字符位置(不包括空格或TAB字符)dw删除到某个单词的结尾位置d3w删除到第三个单词的结尾位置db删除到某个单词的开始位置dW删除到某个以空格作为分隔符的单词的结尾位置dB删除到某个以空格作为分隔符的单词的开始位置d7B删除到前面7个以空格作为分隔符的单词的开始位置d)删除到某个语句的结尾位置d4)删除到第四个语句的结尾位置d(删除到某个语句的开始位置d)删除到某个段落的结尾位置d删除到某个段落的开始位置d7删除到当前段落起始位置之前的第7个段落位置dd删除当前行|d/text删除从文本中出现 “text ”中所指定字样的位置,一直向前直到下一个该字样所岀现的位置(但不包括该字样)之

5、间的内容dfc删除从文本中岀现字符 “c”的位置,一直向前直到下一个该字符所岀现的位置(包括该字符)之间的内 容dtc删除当前行直到下一个字符“c”所出现位置之间的内容D删除到某一行的结尾d$删除到某一行的结尾5dd删除从当前行所开始的 5行内容dL删除直到屏幕上最后一行的内容dH删除直到屏幕上第一行的内容dG删除直到工作缓存区结尾的内容d1G删除直到工作缓存区开始的内容vi列操作i、对列插入:i定位光标位置2 ctrl+v 进入visual-block 模式(选定光标所在行对应的列)3 j移动光标选择列编辑行(按 shift+g 移动到文件底部)4输入大写I5输入输入要插入的文本6 esc7

6、保存完成eg :文件内容如下:123455678967755hghgh45975现在需在第一列插入#,将光标定在第一行第一列处,ctrl+v选定第一列,输入命令I,之后按shift+g,光 标跳至最后一行的第一列,此时选定了整个文件的第一列,输入要插入的字符#,此时,字符#只会显示在第一行第一列的位置上,按ESC退出,则其余行的第一列的#将显示出来。2、vi列替换3、列模式编辑方法在使用i600w的编辑脚本时,只想使用其中的拷贝命令,但是还有其他很多行, 如果一起运行的话,编译将会花费太多时间,但是如果一行行注释掉又比较麻烦, 将来需要从新使用是还要一行行去掉注释,突然想到vi工具的强大,网上

7、搜索看看有没有什么编辑命令,果然发现 vi有个列编辑模式:编程的时候需要进行多行注释和删除多行注释,方法如下:1、注释:ctrl+v进入列编辑模式,向下或向上移动光标,把需要注释的行的开头标 记起来,然后按大写的I,再插入注释符,比如,再按Esc,就会全部注释了。2、删除:先按v,进入visual模式,横向选中列的个数(如/ /注释符号,需要选中两 列),再按Esc,再按ctrl+v进入列编辑模式,向下或向上移动光 标,选中注释部分, 然后按d,就会删除注释符号。3、 使用替换命令:s/A/W/g来在全部内容的行首添加/号注释:2,50s/A/W/g 在250行首添加/号注释反过来替换既是删除

8、操作。vi替换操作vi不支持模糊查询和混合查询1、全局替换字符串eg:/home/zha ngyzh./e vn /home/zha ngyzh./e vn /home/zha ngyzh./e vn /home/zha ngyzh./e vn现在需去掉zhangyzh后的“.”,可采用字符串替换的方式::%s/zha ngyzh./zha ngyzh/g即可将.全部去掉。其中,/g表示全局的意思。可以用来去掉某一列的字符2、替换指定范围内的字符串eg:要替换14行至20行之间的所有TCL_PATH为REPORT_PATH,命令如下: :14,20s/TCL_PATH/REPORT_PATH/

9、替换行为将只发生在1420行之间。3、替换含指定字符串的字段4、多行串成一行即换行符替换成空格指令::%s/n/ /g或:O,$s/n/ /vi复制操作1、vi复制多行:vi复制多行文本的方法方法:方法1 :光标放到第6行,输入:2yy光标放到第9行,输入:p此方法适合 复制少量行文本的情况,复制第6行(包括)下面的2行数据,放到第9行下面。方法2:命令行模式下输入6,9co12,复制第6行到第9行之间的内容到第12 行后面。方法3:有时候不想费劲看多少行或复制大量行时,可以使用标签来替 代光标移到起始行,输入 ma光标移到结束行,输入 mb光标移到粘贴行,输入 mc然后:a,bcoc 把co

10、改成m就成剪切了要删除多行的话,可以用:5,9de1.将光标移动到将要复制的行处,按 yy进行复制当前行(按nyy复制n行), 再移动到粘贴位置,按p进行粘贴。2.将光标移到复制的首位置,按下 V,用hjkl移动,按y复制,按p粘贴。3.光标移到起始行,输入 ma ;光标移到结束行,输入 mb;光标移到粘贴行, 输入me;然后:a,b co c,把co改成m就成剪切了。4.光标移动到要复制的行,输入 yny (n表示要复制该行以下n行);光标移动 到粘贴行,按p粘贴。5.直接输入:n1,n2 co n3 (n1为起始行,n2为结束行,n3为粘贴行)6.不同文件之间的复制:用:sp filena

11、me打开另一文件,(用Aww在文件之间 切换),然后按上述方法复制有关的命令如下:yy将当前行复制到缓冲区yw将当前单词复制到缓冲区y1将光标处的一个字符复制到缓冲区p将缓冲区的信息粘贴到光标的后面:行号1 ,行号2 copy行号3 将行号1到行号2的内容复制到行号3所在行 的后面。:行号1,行号2 move行号3 将行号1到行号2的文本内容移动到行号3 所在行的后面。2、vi多个文件之间复制、粘贴两个文件,假定分别位于不同的路径/home/zha ngyzh/a.tcl/home/zha ngyzh/temp/b.tcl1打开a.tcl文件:vi /home/zha ngyzh/a.tcl2

12、. 选中要复制的内容:(1 )复制全部内容:在a文档开头(第一行开头)处做标记,直接输入命令mk ;按shift+g跳到最后一行,在文档末尾处(最后一行的最后一个字符)做标记,输入指令” ay k,之后光标将自动跳至文档开头,此时,a文档中的全部内容放 入了缓冲区中;(2)复制部分内容3. 打开 b.tcl紧接以上操作(不关闭a.tcl),利用指令ex打开b.tcl , : ex/home/zhangyzh/temp/b.tcl ,此时打开 b.tcl4. 移动光标至目标位置,输入指令” ap,内容复制成功。3、快捷复制、粘帖有时候不想费劲看多少行或复制大量行时,可以使用标签来替代光标移到起始

13、行,输入ma光标移到结束行,输入mb光标移到粘贴行,输入me然后:a,b co c 把co改成m就成剪切了要删除多行的话,可以用:5, 9 devi删除操作1、vi列删除方法一:ctrl+v进入列编辑模式;将光标定位子想要删除的起始列;移动光标至结束列(直接通过移动光标选中,对列不对齐时,可能比较长的行,无法全部选中,尤其是需要一直删除到行末,按end可直接到达,在列不对齐情况下也可将内容全部选择)方法二:1. 定位光标;2. 按 d ;3. 按 ctrl+v ;4. 按end (直接到行末)或数字+方向键(指定需删除的字符数)注:在第四步,按键后会直接删除选定内容。2、vi行删除1、单行删除

14、单行删除:1 (待删除行)d光标所在行,dd2、多行删除多行删除:1,10d3、查找关键字删除1、删除关键字所在行 要删除文档中含有字符reset_reg的所有行::g/reset_reg/d会将含有reset_reg的全部行删除。4、删除含有某些字符的行:g/stri ng/deg:路径列表,删除含trash的路径:g/trash/d即可把列表中列出的含有回收站的统计的路径删除。5、删除空白行方法一: :g/A$/d方法二:%s/An/s/g方法三:g/An/s/g方法四:删除多行空白行,保留一行空白行:%s/An$/gvi注释操作1、全文注销:%s/A/#/g2、指定行/段注销vi取消各种操作1、取消查找操作:目的:取消查找操作后对找到字符的高亮显示方法一:输入一串永远无法找到的字符串;方法二:正确的方法应该是使用“:noh ”或“ nohlsearch ”vi多窗口操作:1、如何打开多窗口:(1)不同文件在不同窗口打开打开方法:(1):e file

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号